alexkueck commited on
Commit
c1349d4
1 Parent(s): 99366de

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +9 -6
utils.py CHANGED
@@ -53,6 +53,7 @@ from langchain_core.output_parsers import StrOutputParser
53
  from langchain_core.pydantic_v1 import BaseModel, Field
54
  from langchain_core.runnables import RunnablePassthrough
55
  from langchain.text_splitter import RecursiveCharacterTextSplitter
 
56
  from chromadb.errors import InvalidDimensionException
57
  import fitz # PyMuPDF
58
  import docx
@@ -353,9 +354,12 @@ def document_retrieval_chroma(llm, prompt):
353
  #Langchain anlegen für RAG Chaining
354
  ###############################################
355
  #langchain nutzen, um prompt an LLM zu leiten - llm und prompt sind austauschbar
356
- def llm_chain(llm, prompt):
357
- llm_chain = LLMChain(llm = llm, prompt = LLM_CHAIN_PROMPT)
358
- result = llm_chain.run({"question": prompt})
 
 
 
359
  return result
360
 
361
 
@@ -367,7 +371,7 @@ def rag_chain(llm, prompt, retriever):
367
  most_relevant_docs=[]
368
 
369
  #passend zum Prompt relevante Dokuemnte raussuchen
370
- relevant_docs = retriever.get_relevant_documents(prompt)
371
  #zu jedem relevanten Dokument die wichtigen Informationen zusammenstellen (im Dict)
372
  extracted_docs = extract_document_info(relevant_docs)
373
 
@@ -402,8 +406,7 @@ def rag_chain(llm, prompt, retriever):
402
  #für die Zusammenfassung
403
  #############################################
404
  #1. Alternative, wenn llm direkt übergeben....................................
405
- llm_chain = LLMChain(llm = llm, prompt = RAG_CHAIN_PROMPT)
406
- answer = llm_chain.run({"context": combined_content, "question": prompt})
407
 
408
 
409
  #2. Alternative, wenn mit API_URL ...........................................
 
53
  from langchain_core.pydantic_v1 import BaseModel, Field
54
  from langchain_core.runnables import RunnablePassthrough
55
  from langchain.text_splitter import RecursiveCharacterTextSplitter
56
+ from langchain_core import LLM, PromptTemplate, RunnableSequence
57
  from chromadb.errors import InvalidDimensionException
58
  import fitz # PyMuPDF
59
  import docx
 
354
  #Langchain anlegen für RAG Chaining
355
  ###############################################
356
  #langchain nutzen, um prompt an LLM zu leiten - llm und prompt sind austauschbar
357
+ def llm_chain(llm, prompt, context):
358
+ # Generiere den vollständigen Prompt mit der Eingabe
359
+ # Generiere den vollständigen Prompt mit den Eingabevariablen
360
+ full_prompt = RAG_CHAIN_PROMPT.format(context=context, question=prompt)
361
+ sequence = RunnableSequence([full_prompt, llm])
362
+ result = sequence.invoke()
363
  return result
364
 
365
 
 
371
  most_relevant_docs=[]
372
 
373
  #passend zum Prompt relevante Dokuemnte raussuchen
374
+ relevant_docs = retriever.invoke(prompt)
375
  #zu jedem relevanten Dokument die wichtigen Informationen zusammenstellen (im Dict)
376
  extracted_docs = extract_document_info(relevant_docs)
377
 
 
406
  #für die Zusammenfassung
407
  #############################################
408
  #1. Alternative, wenn llm direkt übergeben....................................
409
+ answer = llm_chain(llm = llm, prompt, combined_content)
 
410
 
411
 
412
  #2. Alternative, wenn mit API_URL ...........................................