浏览代码

disable prefix matching on prompts. causes subsequent requests to fail with cannot be broadcast. hotfix for #130

Alex Cheema 9 月之前
父节点
当前提交
706488732f
共有 1 个文件被更改,包括 13 次插入12 次删除
  1. 13 12
      exo/api/chatgpt_api.py

+ 13 - 12
exo/api/chatgpt_api.py

@@ -305,18 +305,19 @@ class ChatGPTAPI:
     if DEBUG >= 4: print(f"Resolved tokenizer: {tokenizer}")
 
     prompt, image_str = build_prompt(tokenizer, chat_request.messages)
-    request_id = None
-    match = self.prompts.find_longest_prefix(prompt)
-    if match and len(prompt) > len(match[1].prompt):
-        if DEBUG >= 2:
-          print(f"Prompt for request starts with previous prompt {len(match[1].prompt)} of {len(prompt)}: {match[1].prompt}")
-        request_id = match[1].request_id
-        self.prompts.add(prompt, PromptSession(request_id=request_id, timestamp=int(time.time()), prompt=prompt))
-        # remove the matching prefix from the prompt
-        prompt = prompt[len(match[1].prompt):]
-    else:
-      request_id = str(uuid.uuid4())
-      self.prompts.add(prompt, PromptSession(request_id=request_id, timestamp=int(time.time()), prompt=prompt))
+    request_id = str(uuid.uuid4())
+    # request_id = None
+    # match = self.prompts.find_longest_prefix(prompt)
+    # if match and len(prompt) > len(match[1].prompt):
+    #     if DEBUG >= 2:
+    #       print(f"Prompt for request starts with previous prompt {len(match[1].prompt)} of {len(prompt)}: {match[1].prompt}")
+    #     request_id = match[1].request_id
+    #     self.prompts.add(prompt, PromptSession(request_id=request_id, timestamp=int(time.time()), prompt=prompt))
+    #     # remove the matching prefix from the prompt
+    #     prompt = prompt[len(match[1].prompt):]
+    # else:
+    #   request_id = str(uuid.uuid4())
+    #   self.prompts.add(prompt, PromptSession(request_id=request_id, timestamp=int(time.time()), prompt=prompt))
 
     callback_id = f"chatgpt-api-wait-response-{request_id}"
     callback = self.node.on_token.register(callback_id)