kevin před 11 měsíci
rodič
revize
14f5c258a6
1 změnil soubory, kde provedl 19 přidání a 7 odebrání
  1. 19 7
      main.py

+ 19 - 7
main.py

@@ -62,13 +62,19 @@ def roulette() -> str:
     model_name = ""
     n = 0
     j = 0
-    while rand_num > n:
+    while rand_num >= n:
         n += roulette_arr[j][0]
         model_name = roulette_arr[j][1]
         print(model_name)
         j += 1
     return model_name
 
+def prune_message(message: dict):
+    for k in list(message.keys()):
+        if k != 'role' and k != 'content':
+            message.pop(k)
+    return message
+
 
 def recommend(headlines, category):
     chat_messages = app.recommend_messages.copy()
@@ -250,18 +256,19 @@ def gpt():
     if assistant_id:
         chat_messages = []
     for message in json_payload:
-        if message['role'] == 'user':
-            content = message['content'].lower()
+        p_message = prune_message(message)
+        if p_message['role'] == 'user':
+            content = p_message['content'].lower()
         else:
-            content = message['content']
+            content = p_message['content']
         content_arr = content.split(" ")
         new_content_arr = content[:max_char_msg].split(" ")
         new_content_len = len(new_content_arr)
         arr = []
         for i in range(new_content_len):
             arr.append(content_arr[i])
-        message['content'] = " ".join(arr)
-        chat_messages.append(message)
+        p_message['content'] = " ".join(arr)
+        chat_messages.append(p_message)
     app.logger.info(chat_messages)
     result = {}
     try:
@@ -324,7 +331,7 @@ def gpt():
                     "role": "user",
                     "content": f"Berikan {predict_q} pertanyaan lain yang akan saya ajukan berdasarkan percakapan kali ini dalam bentuk json array"
                 }
-            chat_messages.append(result)
+            chat_messages.append(prune_message(result))
             chat_messages.append(query_q)
             if assistant_id:
                 runs = app.openai_client.beta.threads.create_and_run_poll(
@@ -565,6 +572,11 @@ def assistant_att():
         return {"status": "error", "message": "Upload attachment failed, please try again"}
 
 
+@app.route('/assistant/attachment/update', methods=['POST'])
+def assistant_attachment_update():
+    pass
+
+
 @app.route('/assistant/update', methods=['POST'])
 def assistant_update(aid=None, vid=None):
     try: