alexkueck commited on
Commit
d64f54b
1 Parent(s): 40991ee

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +4 -21
utils.py CHANGED
@@ -84,7 +84,7 @@ ANTWORT_WEISS_NICHT = ["ich weiß nicht.", "ich weiß das nicht", "Ich habe dazu
84
  #################################################
85
  #Prompt Zusätze
86
  template = """\Antworte in deutsch, wenn es nicht explizit anders gefordert wird. Wenn du die Antwort nicht kennst, antworte direkt, dass du es nicht weißt.
87
- Versuche nicht es zu umschreiben. Versuche nicht, die Antwort zu erfinden oder aufzumocken. Halte die Antwort kurz aber ausführlich genug und exakt."""
88
 
89
  llm_template = "Beantworte die Frage am Ende. " + template + "Frage: {question} "
90
  #nur für HF für Stichwotre bei chatverlauf
@@ -234,11 +234,8 @@ def document_loading_splitting():
234
  ###########################################
235
  #Chroma DB die splits ablegen - vektorisiert...
236
  def document_storage_chroma(splits):
237
- #OpenAi embeddings----------------------------------
238
- Chroma.from_documents(documents = splits, embedding = OpenAIEmbeddings(disallowed_special = ()), persist_directory = PATH_WORK + CHROMA_DIR)
239
-
240
  #HF embeddings--------------------------------------
241
- #Chroma.from_documents(documents = splits, embedding = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False}), persist_directory = PATH_WORK + CHROMA_DIR)
242
 
243
  #Mongo DB die splits ablegen - vektorisiert...
244
  def document_storage_mongodb(splits):
@@ -249,12 +246,9 @@ def document_storage_mongodb(splits):
249
  ############################################
250
  #dokumente in chroma db vektorisiert ablegen können - die Db vorbereiten daüfur
251
  def document_retrieval_chroma(llm, prompt):
252
- #OpenAI embeddings -------------------------------
253
- embeddings = OpenAIEmbeddings()
254
-
255
  #HF embeddings -----------------------------------
256
  #Alternative Embedding - für Vektorstore, um Ähnlichkeitsvektoren zu erzeugen - die ...InstructEmbedding ist sehr rechenaufwendig
257
- #embeddings = HuggingFaceInstructEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2", model_kwargs={"device": "cpu"})
258
  #etwas weniger rechenaufwendig:
259
  #embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False})
260
 
@@ -266,12 +260,9 @@ def document_retrieval_chroma(llm, prompt):
266
  #dokumente in chroma db vektorisiert ablegen können - die Db vorbereiten daüfur
267
  #zweite Variante, passend zu rag_chain2 für generate_text_mit_bild- ohne llm vorher festlegen zu müssen
268
  def document_retrieval_chroma2():
269
- #OpenAI embeddings -------------------------------
270
- embeddings = OpenAIEmbeddings()
271
-
272
  #HF embeddings -----------------------------------
273
  #Alternative Embedding - für Vektorstore, um Ähnlichkeitsvektoren zu erzeugen - die ...InstructEmbedding ist sehr rechenaufwendig
274
- #embeddings = HuggingFaceInstructEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2", model_kwargs={"device": "cpu"})
275
  #etwas weniger rechenaufwendig:
276
  #embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False})
277
  #oder einfach ohne Langchain:
@@ -283,14 +274,6 @@ def document_retrieval_chroma2():
283
 
284
  return db
285
 
286
- ###########################################
287
- #dokumente in mongo db vektorisiert ablegen können - die Db vorbereiten daüfür
288
- def document_retrieval_mongodb(llm, prompt):
289
- db = MongoDBAtlasVectorSearch.from_connection_string(MONGODB_URI,
290
- MONGODB_DB_NAME + "." + MONGODB_COLLECTION_NAME,
291
- OpenAIEmbeddings(disallowed_special = ()),
292
- index_name = MONGODB_INDEX_NAME)
293
- return db
294
 
295
  ###############################################
296
  #Langchain anlegen
 
84
  #################################################
85
  #Prompt Zusätze
86
  template = """\Antworte in deutsch, wenn es nicht explizit anders gefordert wird. Wenn du die Antwort nicht kennst, antworte direkt, dass du es nicht weißt.
87
+ Versuche nicht es zu umschreiben. Beziehe dich in deinen Antworten ausschließlich auf die hinterkegten Dokumente. Halte die Antwort kurz aber ausführlich genug und exakt."""
88
 
89
  llm_template = "Beantworte die Frage am Ende. " + template + "Frage: {question} "
90
  #nur für HF für Stichwotre bei chatverlauf
 
234
  ###########################################
235
  #Chroma DB die splits ablegen - vektorisiert...
236
  def document_storage_chroma(splits):
 
 
 
237
  #HF embeddings--------------------------------------
238
+ Chroma.from_documents(documents = splits, embedding = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False}), persist_directory = PATH_WORK + CHROMA_DIR)
239
 
240
  #Mongo DB die splits ablegen - vektorisiert...
241
  def document_storage_mongodb(splits):
 
246
  ############################################
247
  #dokumente in chroma db vektorisiert ablegen können - die Db vorbereiten daüfur
248
  def document_retrieval_chroma(llm, prompt):
 
 
 
249
  #HF embeddings -----------------------------------
250
  #Alternative Embedding - für Vektorstore, um Ähnlichkeitsvektoren zu erzeugen - die ...InstructEmbedding ist sehr rechenaufwendig
251
+ embeddings = HuggingFaceInstructEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2", model_kwargs={"device": "cpu"})
252
  #etwas weniger rechenaufwendig:
253
  #embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False})
254
 
 
260
  #dokumente in chroma db vektorisiert ablegen können - die Db vorbereiten daüfur
261
  #zweite Variante, passend zu rag_chain2 für generate_text_mit_bild- ohne llm vorher festlegen zu müssen
262
  def document_retrieval_chroma2():
 
 
 
263
  #HF embeddings -----------------------------------
264
  #Alternative Embedding - für Vektorstore, um Ähnlichkeitsvektoren zu erzeugen - die ...InstructEmbedding ist sehr rechenaufwendig
265
+ embeddings = HuggingFaceInstructEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2", model_kwargs={"device": "cpu"})
266
  #etwas weniger rechenaufwendig:
267
  #embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2", model_kwargs={"device": "cpu"}, encode_kwargs={'normalize_embeddings': False})
268
  #oder einfach ohne Langchain:
 
274
 
275
  return db
276
 
 
 
 
 
 
 
 
 
277
 
278
  ###############################################
279
  #Langchain anlegen