Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -27,9 +27,10 @@ last = 0
|
|
| 27 |
CHROMA_DATA_PATH = "chroma_data/"
|
| 28 |
EMBED_MODEL = "sentence-transformers/all-MiniLM-L6-v2" # "BAAI/bge-m3"
|
| 29 |
#LLM_NAME = "mistralai/Mistral-Nemo-Instruct-2407"
|
| 30 |
-
#LLM_NAME = "
|
| 31 |
#LLM_NAME = "openai/gpt-oss-20b"
|
| 32 |
-
LLM_NAME = "swiss-ai/
|
|
|
|
| 33 |
#LLM_NAME = "W4D/YugoGPT-7B-Instruct-GGUF"
|
| 34 |
CHUNK_SIZE = 800
|
| 35 |
CHUNK_OVERLAP = 50
|
|
@@ -64,9 +65,9 @@ collection = chroma_client.get_or_create_collection(
|
|
| 64 |
last = collection.count()
|
| 65 |
|
| 66 |
#
|
| 67 |
-
HF_TOKEN = "
|
| 68 |
#
|
| 69 |
-
login(token=(
|
| 70 |
|
| 71 |
system_propmpt = system_sr
|
| 72 |
|
|
@@ -74,9 +75,9 @@ client = InferenceClient(LLM_NAME)
|
|
| 74 |
|
| 75 |
# "facebook/blenderbot-400M-distill", facebook/blenderbot-400M-distill, stabilityai/stablelm-zephyr-3b, BAAI/bge-small-en-v1.5
|
| 76 |
Settings.llm = HuggingFaceInferenceAPI(model_name=LLM_NAME,
|
| 77 |
-
device_map="auto",
|
| 78 |
-
system_prompt = system_propmpt,
|
| 79 |
-
context_window=
|
| 80 |
max_new_tokens=3072,
|
| 81 |
# stopping_ids=[50278, 50279, 50277, 1, 0],
|
| 82 |
generate_kwargs={"temperature": temperature, "top_p":top_p, "repetition_penalty": repetition_penalty,
|
|
@@ -84,15 +85,13 @@ Settings.llm = HuggingFaceInferenceAPI(model_name=LLM_NAME,
|
|
| 84 |
"top_k": top_k, "do_sample": False },
|
| 85 |
# tokenizer_kwargs={"max_length": 4096},
|
| 86 |
tokenizer_name=LLM_NAME,
|
| 87 |
-
hf_token =
|
| 88 |
src = "models",
|
| 89 |
-
|
| 90 |
-
# provider="auto",
|
| 91 |
-
# task="None"
|
| 92 |
)
|
| 93 |
# "BAAI/bge-m3"
|
| 94 |
-
Settings.embed_model = HuggingFaceEmbedding(model_name=EMBED_MODEL)
|
| 95 |
-
#documents = [Document(text="
|
| 96 |
# ]
|
| 97 |
#index = VectorStoreIndex.from_documents(
|
| 98 |
# documents,
|
|
@@ -165,26 +164,26 @@ def rag(input_text, history, jezik): # , file):
|
|
| 165 |
match jezik:
|
| 166 |
case 'hrvatski':
|
| 167 |
o_jezik = 'na hrvatskom jeziku, gramatički točno.'
|
| 168 |
-
|
| 169 |
case 'slovenski':
|
| 170 |
o_jezik = 'v slovenščini, slovnično pravilen.'
|
| 171 |
-
|
| 172 |
case 'srpski':
|
| 173 |
o_jezik = 'na srpskom jeziku, gramatički ispravno.'
|
| 174 |
-
|
| 175 |
case 'makedonski':
|
| 176 |
o_jezik = 'на македонски јазикот граматички точно.'
|
| 177 |
-
|
| 178 |
case 'Eksperimentalna opcija':
|
| 179 |
o_jezik = 'N/A'
|
| 180 |
-
|
|
|
|
| 181 |
# if (o_jezik!='N/A'):
|
| 182 |
# input_text += " - odgovori " + o_jezik + "."
|
| 183 |
-
|
| 184 |
-
response = query_engine.query(input_text)
|
| 185 |
# response = chat_engine.chat(input_text).response
|
| 186 |
return response
|
| 187 |
-
# Interface
|
| 188 |
# gr.Textbox(label="Pitanje:", lines=6),
|
| 189 |
# outputs=[gr.Textbox(label="Odgovor:", lines=6)],
|
| 190 |
# ChatMessage(role="assistant", content="Kako Vam mogu pomoći?")
|
|
|
|
| 27 |
CHROMA_DATA_PATH = "chroma_data/"
|
| 28 |
EMBED_MODEL = "sentence-transformers/all-MiniLM-L6-v2" # "BAAI/bge-m3"
|
| 29 |
#LLM_NAME = "mistralai/Mistral-Nemo-Instruct-2407"
|
| 30 |
+
#LLM_NAME = "sswiss-ai/apertus-70b-instruct" # provider: publicai
|
| 31 |
#LLM_NAME = "openai/gpt-oss-20b"
|
| 32 |
+
#LLM_NAME = "swiss-ai/apertus-8b-instruct"
|
| 33 |
+
LLM_NAME = "aisingapore/Gemma-SEA-LION-v4-27B-IT"
|
| 34 |
#LLM_NAME = "W4D/YugoGPT-7B-Instruct-GGUF"
|
| 35 |
CHUNK_SIZE = 800
|
| 36 |
CHUNK_OVERLAP = 50
|
|
|
|
| 65 |
last = collection.count()
|
| 66 |
|
| 67 |
#
|
| 68 |
+
HF_TOKEN = os.getenv("HF_TOKEN")
|
| 69 |
#
|
| 70 |
+
login(token=(HF_TOKEN))
|
| 71 |
|
| 72 |
system_propmpt = system_sr
|
| 73 |
|
|
|
|
| 75 |
|
| 76 |
# "facebook/blenderbot-400M-distill", facebook/blenderbot-400M-distill, stabilityai/stablelm-zephyr-3b, BAAI/bge-small-en-v1.5
|
| 77 |
Settings.llm = HuggingFaceInferenceAPI(model_name=LLM_NAME,
|
| 78 |
+
# device_map="auto",
|
| 79 |
+
# system_prompt = system_propmpt,
|
| 80 |
+
context_window=4096,
|
| 81 |
max_new_tokens=3072,
|
| 82 |
# stopping_ids=[50278, 50279, 50277, 1, 0],
|
| 83 |
generate_kwargs={"temperature": temperature, "top_p":top_p, "repetition_penalty": repetition_penalty,
|
|
|
|
| 85 |
"top_k": top_k, "do_sample": False },
|
| 86 |
# tokenizer_kwargs={"max_length": 4096},
|
| 87 |
tokenizer_name=LLM_NAME,
|
| 88 |
+
hf_token = HF_TOKEN,
|
| 89 |
src = "models",
|
| 90 |
+
provider="publicai",
|
|
|
|
|
|
|
| 91 |
)
|
| 92 |
# "BAAI/bge-m3"
|
| 93 |
+
Settings.embed_model = HuggingFaceEmbedding(model_name=EMBED_MODEL)
|
| 94 |
+
#documents = [Document(text="Content ..."),
|
| 95 |
# ]
|
| 96 |
#index = VectorStoreIndex.from_documents(
|
| 97 |
# documents,
|
|
|
|
| 164 |
match jezik:
|
| 165 |
case 'hrvatski':
|
| 166 |
o_jezik = 'na hrvatskom jeziku, gramatički točno.'
|
| 167 |
+
system_prompt = system_sr + "Call centar telefon je 095 1000 444 za privatne i 095 1000 500 za poslovne korisnike. Stranica podrške je <https://tele mach.hr/podrska>." + "Odgovaraj isključivo " + o_jezik
|
| 168 |
case 'slovenski':
|
| 169 |
o_jezik = 'v slovenščini, slovnično pravilen.'
|
| 170 |
+
system_prompt = system_sr + "Call centar i pomoč za fizične uporabnike: 070 700 700.stran za podporo je <https://telemach.si/pomoc>. " + "Odgovor isključivo " + o_jezik
|
| 171 |
case 'srpski':
|
| 172 |
o_jezik = 'na srpskom jeziku, gramatički ispravno.'
|
| 173 |
+
ystem_prompt = system_sr + "Call centar telefon je 19900 za sve korisnike. Stranica podrške je <https://sbb.rs/podrska/>. " + "Odgovaraj isključivo " + o_jezik
|
| 174 |
case 'makedonski':
|
| 175 |
o_jezik = 'на македонски јазикот граматички точно.'
|
| 176 |
+
system_prompt = system_sr + "Stranica podrške je https://mn.nettvplus.com/me/podrska/ za NetTV. " + "Oдговори исклучиво " + o_jezik
|
| 177 |
case 'Eksperimentalna opcija':
|
| 178 |
o_jezik = 'N/A'
|
| 179 |
+
system_prompt = system_sr + "Call centar telefon je 12755 za Crnu Goru, 0800 31111 za BIH, 070 700 700 u Sloveniji, 19900 u Srbiji, 095 1000 444 za hrvatske korisnike. Odgovori na jeziku istom kao i u postavljenom pitanju ili problemu korisnika."
|
| 180 |
+
system_propmpt = system_propmpt + " Sledi pitanje ili problem korisnika, sa kojim dalje komuniciraš: "
|
| 181 |
# if (o_jezik!='N/A'):
|
| 182 |
# input_text += " - odgovori " + o_jezik + "."
|
| 183 |
+
# Settings.llm.system_prompt = system_prompt
|
| 184 |
+
response = query_engine.query(str({"role": "user", "content": system_propmpt + input_text}))
|
| 185 |
# response = chat_engine.chat(input_text).response
|
| 186 |
return response
|
|
|
|
| 187 |
# gr.Textbox(label="Pitanje:", lines=6),
|
| 188 |
# outputs=[gr.Textbox(label="Odgovor:", lines=6)],
|
| 189 |
# ChatMessage(role="assistant", content="Kako Vam mogu pomoći?")
|