Spaces:
Paused
Paused
Commit
·
3f34ec3
1
Parent(s):
06cb4d9
update assistant script
Browse files- core/demorrha.py +18 -23
core/demorrha.py
CHANGED
|
@@ -19,9 +19,8 @@ from dotenv import load_dotenv
|
|
| 19 |
class DemorrhaAssistant(object):
|
| 20 |
def __init__(self):
|
| 21 |
load_dotenv()
|
| 22 |
-
self.client = self.initialize_client()
|
| 23 |
self.vector_store = None
|
| 24 |
-
self.load_assistant()
|
| 25 |
self.list_vector_store_ids = []
|
| 26 |
|
| 27 |
def initialize_client(self):
|
|
@@ -112,14 +111,15 @@ class DemorrhaAssistant(object):
|
|
| 112 |
)
|
| 113 |
|
| 114 |
def load_assistant(self, assistant_name="Demorrha"):
|
| 115 |
-
|
|
|
|
| 116 |
assistant_id = self.search_assistant(assistant_name)
|
| 117 |
if assistant_id is None:
|
| 118 |
self.assistant = self.client.beta.assistants.create(
|
| 119 |
model="gpt-4o-mini",
|
| 120 |
name="Demorrha",
|
| 121 |
description="Traite les messages des utilisateurs et génère une traduction.",
|
| 122 |
-
instructions=f"{system_prompt}",
|
| 123 |
temperature=0.1,
|
| 124 |
tools=[{"type": "file_search"}]
|
| 125 |
)
|
|
@@ -169,32 +169,24 @@ class DemorrhaAssistant(object):
|
|
| 169 |
)
|
| 170 |
|
| 171 |
def use_assistant(self):
|
| 172 |
-
self.set_system_prompt(GlobalSystemPrompts.linguascribe())
|
| 173 |
# Utiliser l'assistant ici
|
|
|
|
| 174 |
with self.client.beta.threads.create_and_run(
|
| 175 |
assistant_id=self.assistant.id,
|
| 176 |
thread={
|
| 177 |
"messages": [
|
| 178 |
-
{"role": "system", "content": f"{self.system_prompt}"},
|
| 179 |
{"role": "user", "content": self.payload_content}
|
| 180 |
]
|
| 181 |
},
|
| 182 |
stream=True
|
| 183 |
) as stream:
|
| 184 |
for event in stream:
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
file_paths = ["style.txt"]
|
| 192 |
-
file_streams = [open(path, "rb") for path in file_paths]
|
| 193 |
-
|
| 194 |
-
file_batch = client.beta.vector_stores.file_batches.upload_and_poll(
|
| 195 |
-
vector_store_id=vector_store.id, files=file_streams
|
| 196 |
-
)
|
| 197 |
-
"""
|
| 198 |
|
| 199 |
if __name__ == "__main__":
|
| 200 |
demorrha = DemorrhaAssistant()
|
|
@@ -215,7 +207,10 @@ if __name__ == "__main__":
|
|
| 215 |
# Exemple d'utilsation de l'assistant
|
| 216 |
demorrha.load_assistant("Demorrha")
|
| 217 |
demorrha.update_vector_store_ids()
|
| 218 |
-
demorrha.set_payload("
|
| 219 |
-
demorrha.use_assistant()
|
| 220 |
-
|
| 221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
class DemorrhaAssistant(object):
|
| 20 |
def __init__(self):
|
| 21 |
load_dotenv()
|
| 22 |
+
self.client = self.initialize_client()
|
| 23 |
self.vector_store = None
|
|
|
|
| 24 |
self.list_vector_store_ids = []
|
| 25 |
|
| 26 |
def initialize_client(self):
|
|
|
|
| 111 |
)
|
| 112 |
|
| 113 |
def load_assistant(self, assistant_name="Demorrha"):
|
| 114 |
+
self.set_system_prompt(GlobalSystemPrompts.linguascribe())
|
| 115 |
+
# system_prompt = GlobalSystemPrompts.linguascribe()
|
| 116 |
assistant_id = self.search_assistant(assistant_name)
|
| 117 |
if assistant_id is None:
|
| 118 |
self.assistant = self.client.beta.assistants.create(
|
| 119 |
model="gpt-4o-mini",
|
| 120 |
name="Demorrha",
|
| 121 |
description="Traite les messages des utilisateurs et génère une traduction.",
|
| 122 |
+
instructions=f"{self.system_prompt}",
|
| 123 |
temperature=0.1,
|
| 124 |
tools=[{"type": "file_search"}]
|
| 125 |
)
|
|
|
|
| 169 |
)
|
| 170 |
|
| 171 |
def use_assistant(self):
|
|
|
|
| 172 |
# Utiliser l'assistant ici
|
| 173 |
+
full_response = ""
|
| 174 |
with self.client.beta.threads.create_and_run(
|
| 175 |
assistant_id=self.assistant.id,
|
| 176 |
thread={
|
| 177 |
"messages": [
|
|
|
|
| 178 |
{"role": "user", "content": self.payload_content}
|
| 179 |
]
|
| 180 |
},
|
| 181 |
stream=True
|
| 182 |
) as stream:
|
| 183 |
for event in stream:
|
| 184 |
+
if event.event == "thread.message.delta":
|
| 185 |
+
full_response += event.data.delta.content[0].text.value
|
| 186 |
+
yield full_response + "▌"
|
| 187 |
+
elif event.event == "thread.message.completed":
|
| 188 |
+
yield event.data.content[0].text.value
|
| 189 |
+
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
|
| 191 |
if __name__ == "__main__":
|
| 192 |
demorrha = DemorrhaAssistant()
|
|
|
|
| 207 |
# Exemple d'utilsation de l'assistant
|
| 208 |
demorrha.load_assistant("Demorrha")
|
| 209 |
demorrha.update_vector_store_ids()
|
| 210 |
+
demorrha.set_payload("Tu dois faire preuve de courage pour trouver la force.", "Traduit le texte en Anglais. Et applique les instructions du fichier \'style.txt\'")
|
| 211 |
+
response_generator = demorrha.use_assistant()
|
| 212 |
+
final_response = ""
|
| 213 |
+
for response in response_generator:
|
| 214 |
+
print(response, end="\r")
|
| 215 |
+
final_response = response
|
| 216 |
+
print(f"\nRéponse finale de l'assistant: {final_response}")
|