alexkueck commited on
Commit
b335f8c
1 Parent(s): 49d2e3d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -16
app.py CHANGED
@@ -41,10 +41,10 @@ _ = load_dotenv(find_dotenv())
41
  #MONGODB_COLLECTION = client[MONGODB_DB_NAME][MONGODB_COLLECTION_NAME]
42
  #MONGODB_INDEX_NAME = "default"
43
 
44
- template = """If you don't know the answer, just say that you don't know, don't try to make up an answer. Keep the answer as concise as possible. Answer in german if not asked otherwise """
45
 
46
- llm_template = "Answer the question at the end. " + template + "Question: {question} Helpful Answer: "
47
- rag_template = "Use the following pieces of context to answer the question at the end. " + template + "{context} Question: {question} Helpful Answer: "
48
 
49
  LLM_CHAIN_PROMPT = PromptTemplate(input_variables = ["question"],
50
  template = llm_template)
@@ -139,8 +139,8 @@ def invoke(openai_api_key, rag_option, prompt):
139
  openai_api_key = openai_api_key,
140
  temperature = 0)
141
  if (rag_option == "Chroma"):
142
- #splits = document_loading_splitting()
143
- #document_storage_chroma(splits)
144
  db = document_retrieval_chroma(llm, prompt)
145
  result = rag_chain(llm, prompt, db)
146
  elif (rag_option == "MongoDB"):
@@ -157,22 +157,14 @@ def invoke(openai_api_key, rag_option, prompt):
157
  description = """<strong>Überblick:</strong> Hier wird ein <strong>Large Language Model (LLM)</strong> mit
158
  <strong>Retrieval Augmented Generation (RAG)</strong> auf <strong>externen Daten</strong> demonstriert.\n\n
159
  <strong>Genauer:</strong> Folgende externe Daten sind als Beispiel gegeben:
160
- <a href='""" + YOUTUBE_URL_1 + """'>YouTube</a>, <a href='""" + PDF_URL + """'>PDF</a>, and <a href='""" + WEB_URL + """'>Web</a>
161
  Alle neueren Datums!.
162
  <ul style="list-style-type:square;">
163
  <li>Setze "Retrieval Augmented Generation" auf "<strong>Off</strong>" und gib einen Prompt ein." Das entspricht <strong> ein LLM nutzen ohne RAG</strong></li>
164
  <li>Setze "Retrieval Augmented Generation" to "<strong>Chroma</strong>" und gib einen Prompt ein. Das <strong>LLM mit RAG</strong> weiß auch Antworten zu aktuellen Themen aus den angefügten Datenquellen</li>
165
- <li>Experimentiere mit Prompts, z.B. Answer in German, Arabic, Chinese, Hindi, and Russian." oder "Schreibe ein Python Programm, dass die GPT-4 API aufruft."</li>
166
  </ul>\n\n
167
- <strong>Verwendete Technology:</strong> <a href='https://www.gradio.app/'>Gradio</a> UI using the <a href='https://openai.com/'>OpenAI</a> API and
168
- AI-native <a href='https://www.trychroma.com/'>Chroma</a> embedding database /
169
- <a href='https://www.mongodb.com/blog/post/introducing-atlas-vector-search-build-intelligent-applications-semantic-search-ai'>MongoDB</a> vector search.
170
- <strong>Speech-to-text</strong> (STT) via <a href='https://openai.com/research/whisper'>whisper-1</a> model, <strong>text embedding</strong> via
171
- <a href='https://openai.com/blog/new-and-improved-embedding-model'>text-embedding-ada-002</a> model, and <strong>text generation</strong> via
172
- <a href='""" + WEB_URL + """'>gpt-4</a> model. Implementation via AI-first <a href='https://www.langchain.com/'>LangChain</a> toolkit.\n\n
173
- In addition to the OpenAI API version, see also the <a href='https://aws.amazon.com/bedrock/'>Amazon Bedrock</a> API and
174
- <a href='https://cloud.google.com/vertex-ai'>Google Vertex AI</a> API versions on
175
- <a href='https://github.com/bstraehle/ai-ml-dl/tree/main/hugging-face'>GitHub</a>."""
176
 
177
  gr.close_all()
178
  demo = gr.Interface(fn=invoke,
 
41
  #MONGODB_COLLECTION = client[MONGODB_DB_NAME][MONGODB_COLLECTION_NAME]
42
  #MONGODB_INDEX_NAME = "default"
43
 
44
+ template = """Antworte in deutsch, wenn es nicht explizit anders gefordert wird. Wenn du die Antwort nicht kennst, antworte einfach, dass du es nicht weißt. Versuche nicht, die Antwort zu erfinden oder aufzumocken. Halte die Antwort so kurz aber exakt."""
45
 
46
+ llm_template = "Beantworte die Frage am Ende. " + template + "Frage: {question} Hilfreiche Antwort: "
47
+ rag_template = "Nutze die folgenden Kontext Teile, um die Frage zu beantworten am Ende. " + template + "{context} Frage: {question} Hilfreiche Antwort: "
48
 
49
  LLM_CHAIN_PROMPT = PromptTemplate(input_variables = ["question"],
50
  template = llm_template)
 
139
  openai_api_key = openai_api_key,
140
  temperature = 0)
141
  if (rag_option == "Chroma"):
142
+ splits = document_loading_splitting()
143
+ document_storage_chroma(splits)
144
  db = document_retrieval_chroma(llm, prompt)
145
  result = rag_chain(llm, prompt, db)
146
  elif (rag_option == "MongoDB"):
 
157
  description = """<strong>Überblick:</strong> Hier wird ein <strong>Large Language Model (LLM)</strong> mit
158
  <strong>Retrieval Augmented Generation (RAG)</strong> auf <strong>externen Daten</strong> demonstriert.\n\n
159
  <strong>Genauer:</strong> Folgende externe Daten sind als Beispiel gegeben:
160
+ <a href='""" + YOUTUBE_URL_1 + """'>YouTube</a>, <a href='""" + PDF_URL + """'>PDF</a>, and <a href='""" + WEB_URL + """'>Web.</a>
161
  Alle neueren Datums!.
162
  <ul style="list-style-type:square;">
163
  <li>Setze "Retrieval Augmented Generation" auf "<strong>Off</strong>" und gib einen Prompt ein." Das entspricht <strong> ein LLM nutzen ohne RAG</strong></li>
164
  <li>Setze "Retrieval Augmented Generation" to "<strong>Chroma</strong>" und gib einen Prompt ein. Das <strong>LLM mit RAG</strong> weiß auch Antworten zu aktuellen Themen aus den angefügten Datenquellen</li>
165
+ <li>Experimentiere mit Prompts, z.B. Antworte in deutsch, englisch, ..." oder "schreibe ein Python Programm, dass die GPT-4 API aufruft."</li>
166
  </ul>\n\n
167
+ """
 
 
 
 
 
 
 
 
168
 
169
  gr.close_all()
170
  demo = gr.Interface(fn=invoke,