Update utils.py
Browse files
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.
|
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 |
-
|
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 |
-
|
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 |
-
|
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
|