Update app.py
Browse files
app.py
CHANGED
|
@@ -15,6 +15,9 @@ from PyPDF2 import PdfReader, PdfWriter
|
|
| 15 |
from hugchat import hugchat
|
| 16 |
from hugchat.login import Login
|
| 17 |
from tavily import TavilyClient
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
from langchain.chains import LLMChain, RetrievalQA
|
| 20 |
from langchain.chat_models import ChatOpenAI
|
|
@@ -50,7 +53,8 @@ _ = load_dotenv(find_dotenv())
|
|
| 50 |
#nur bei ersten Anfrage splitten der Dokumente - um die Vektordatenbank entsprechend zu füllen
|
| 51 |
#splittet = False
|
| 52 |
#DB für Vektorstore
|
| 53 |
-
|
|
|
|
| 54 |
|
| 55 |
#############################################
|
| 56 |
# Allgemeine Konstanten
|
|
@@ -336,13 +340,11 @@ def generate_auswahl(prompt_in, file, file_history, chatbot, history, rag_option
|
|
| 336 |
|
| 337 |
if (rag_option == "An"):
|
| 338 |
#muss nur einmal ausgeführt werden...
|
| 339 |
-
if
|
| 340 |
print("db neu aufbauen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1")
|
| 341 |
splits = document_loading_splitting()
|
| 342 |
-
document_storage_chroma(splits)
|
| 343 |
-
|
| 344 |
-
print("db aktiv!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
|
| 345 |
-
print(db)
|
| 346 |
#else: #unnötig, da wenn Vektorstor einmal für alle user eingerichtet, wer weiter besthen bleiben kann - die unterschiedlichen Propmt werden dann später je nach rag_option erzeugt
|
| 347 |
#db=None
|
| 348 |
#splittet = False #sonst würde es für alle User wieder ausgeschaltet - Alternative: gr.State(False) dazu anlegen
|
|
@@ -517,7 +519,7 @@ def generate_text (prompt, chatbot, history, rag_option, model_option, openai_ap
|
|
| 517 |
print("LLM aufrufen mit RAG: ...........")
|
| 518 |
print(history_text_und_prompt)
|
| 519 |
print("-------------------------------")
|
| 520 |
-
result = rag_chain(llm, history_text_und_prompt,
|
| 521 |
#weitere Möglichkeit für Rag-Chain - dann auch für HF Modelle möglich, da kein llm in Langchain übergeben werden muss...
|
| 522 |
#result = rag_chain2(history_text_und_prompt, db, 5)
|
| 523 |
print("result regchain.....................")
|
|
|
|
| 15 |
from hugchat import hugchat
|
| 16 |
from hugchat.login import Login
|
| 17 |
from tavily import TavilyClient
|
| 18 |
+
import pprint
|
| 19 |
+
|
| 20 |
+
from langgraph.graph import END, StateGraph
|
| 21 |
|
| 22 |
from langchain.chains import LLMChain, RetrievalQA
|
| 23 |
from langchain.chat_models import ChatOpenAI
|
|
|
|
| 53 |
#nur bei ersten Anfrage splitten der Dokumente - um die Vektordatenbank entsprechend zu füllen
|
| 54 |
#splittet = False
|
| 55 |
#DB für Vektorstore
|
| 56 |
+
vectorstore = None
|
| 57 |
+
retriever = None
|
| 58 |
|
| 59 |
#############################################
|
| 60 |
# Allgemeine Konstanten
|
|
|
|
| 340 |
|
| 341 |
if (rag_option == "An"):
|
| 342 |
#muss nur einmal ausgeführt werden...
|
| 343 |
+
if vectorstore == None:
|
| 344 |
print("db neu aufbauen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1")
|
| 345 |
splits = document_loading_splitting()
|
| 346 |
+
vectorstore, retriever = document_storage_chroma(splits)
|
| 347 |
+
|
|
|
|
|
|
|
| 348 |
#else: #unnötig, da wenn Vektorstor einmal für alle user eingerichtet, wer weiter besthen bleiben kann - die unterschiedlichen Propmt werden dann später je nach rag_option erzeugt
|
| 349 |
#db=None
|
| 350 |
#splittet = False #sonst würde es für alle User wieder ausgeschaltet - Alternative: gr.State(False) dazu anlegen
|
|
|
|
| 519 |
print("LLM aufrufen mit RAG: ...........")
|
| 520 |
print(history_text_und_prompt)
|
| 521 |
print("-------------------------------")
|
| 522 |
+
result = rag_chain(llm, history_text_und_prompt, vectorstore) #für hugchat noch kein rag möglich...
|
| 523 |
#weitere Möglichkeit für Rag-Chain - dann auch für HF Modelle möglich, da kein llm in Langchain übergeben werden muss...
|
| 524 |
#result = rag_chain2(history_text_und_prompt, db, 5)
|
| 525 |
print("result regchain.....................")
|