ImPolymath commited on
Commit
3f34ec3
·
1 Parent(s): 06cb4d9

update assistant script

Browse files
Files changed (1) hide show
  1. 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() # OpenAI(api_key = getenv("OPENAI_API_KEY"))
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
- 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"{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
- # Print the text from text delta events
186
- if event.type == "thread.message.delta" and event.data.delta.content:
187
- print(event.data.delta.content[0].text)
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("Bonjour, comment ça va ?", "Traduit le texte en Anglais")
219
- demorrha.use_assistant()
220
- #print("Réponse de l'assistant:", response)
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}")