AFischer1985
commited on
Commit
•
432dbc1
1
Parent(s):
39ea8d1
Update run.py
Browse files
run.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
|
2 |
-
# Title: Gradio Interface to LLM-chatbot with RAG-funcionality and ChromaDB on HF-Hub
|
3 |
# Author: Andreas Fischer
|
4 |
-
# Date: December
|
5 |
-
# Last update: December
|
6 |
-
|
7 |
|
8 |
|
9 |
# Chroma-DB
|
@@ -38,9 +38,14 @@ else:
|
|
38 |
metadata={"hnsw:space": "cosine"})
|
39 |
|
40 |
collection.add(
|
41 |
-
documents=[
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
44 |
)
|
45 |
|
46 |
print("Database ready!")
|
@@ -94,7 +99,7 @@ def response(
|
|
94 |
#where={"source": "google-docs"}
|
95 |
#where_document={"$contains":"search_string"}
|
96 |
)
|
97 |
-
dists=["<small>(relevance: "+str(round((1-d)*100/100)
|
98 |
sources=["source: "+s["source"]+")</small>" for s in results['metadatas'][0]]
|
99 |
results=results['documents'][0]
|
100 |
combination = zip(results,dists,sources)
|
@@ -102,7 +107,7 @@ def response(
|
|
102 |
print(combination)
|
103 |
if(len(results)>1):
|
104 |
addon=" Bitte berücksichtige bei deiner Antwort ggf. folgende Auszüge aus unserer Datenbank, sofern sie für die Antwort erforderlich sind. Beantworte die Frage knapp und präzise. Ignoriere unpassende Datenbank-Auszüge OHNE sie zu kommentieren, zu erwähnen oder aufzulisten:\n"+"\n".join(results)
|
105 |
-
system="Du bist ein KI-basiertes Assistenzsystem."+addon+"\n\nUser-Anliegen:"
|
106 |
#body={"prompt":system+"### Instruktion:\n"+message+"\n\n### Antwort:","max_tokens":500, "echo":"False","stream":"True"} #e.g. SauerkrautLM
|
107 |
formatted_prompt = format_prompt(system+"\n"+prompt, history)
|
108 |
stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
|
|
|
1 |
+
#############################################################################################################
|
2 |
+
# Title: Gradio Interface to LLM-chatbot (for recommending AI) with RAG-funcionality and ChromaDB on HF-Hub
|
3 |
# Author: Andreas Fischer
|
4 |
+
# Date: December 30th, 2023
|
5 |
+
# Last update: December 30th, 2023
|
6 |
+
##############################################################################################################
|
7 |
|
8 |
|
9 |
# Chroma-DB
|
|
|
38 |
metadata={"hnsw:space": "cosine"})
|
39 |
|
40 |
collection.add(
|
41 |
+
documents=[
|
42 |
+
"Text generating AI model mistralai/Mixtral-8x7B-Instruct-v0.1: Perfect for text generation, e.g., social media content, marketing copy, blog posts, short stories, etc.",
|
43 |
+
"Image generating AI model stabilityai/sdxl-turbo: Perfect for image generation, e.g., illustrations, graphics, AI art, etc.",
|
44 |
+
"Audio transcribing AI model openai/whisper-large-v3: Perfect for audio-transcription in different languages",
|
45 |
+
"Speech synthesizing AI model coqui/XTTS-v2: Perfect for generating audio from text and for voice-cloning"
|
46 |
+
],
|
47 |
+
metadatas=[{"source": "AF"}, {"source": "AF"}, {"source": "AF"}, {"source": "AF"}],
|
48 |
+
ids=["ai1", "ai2", "ai3", "ai4"],
|
49 |
)
|
50 |
|
51 |
print("Database ready!")
|
|
|
99 |
#where={"source": "google-docs"}
|
100 |
#where_document={"$contains":"search_string"}
|
101 |
)
|
102 |
+
dists=["<small>(relevance: "+str(round((1-d)*100)/100)+";" for d in results['distances'][0]]
|
103 |
sources=["source: "+s["source"]+")</small>" for s in results['metadatas'][0]]
|
104 |
results=results['documents'][0]
|
105 |
combination = zip(results,dists,sources)
|
|
|
107 |
print(combination)
|
108 |
if(len(results)>1):
|
109 |
addon=" Bitte berücksichtige bei deiner Antwort ggf. folgende Auszüge aus unserer Datenbank, sofern sie für die Antwort erforderlich sind. Beantworte die Frage knapp und präzise. Ignoriere unpassende Datenbank-Auszüge OHNE sie zu kommentieren, zu erwähnen oder aufzulisten:\n"+"\n".join(results)
|
110 |
+
system="Du bist ein deutschsprachiges KI-basiertes Assistenzsystem, das zu jedem Anliegen möglichst geeignete KI-Tools empfiehlt."+addon+"\n\nUser-Anliegen:"
|
111 |
#body={"prompt":system+"### Instruktion:\n"+message+"\n\n### Antwort:","max_tokens":500, "echo":"False","stream":"True"} #e.g. SauerkrautLM
|
112 |
formatted_prompt = format_prompt(system+"\n"+prompt, history)
|
113 |
stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
|