Просмотр исходного кода

fix some errors for auto-completion

shaobo 1 год назад
Родитель
Сommit
5fe6c27ade
2 измененных файлов с 7 добавлено и 6 удалено
  1. 4 5
      local_mode/models/codegeex.py
  2. 3 1
      local_mode/protocols/openai_api.py

+ 4 - 5
local_mode/models/codegeex.py

@@ -43,24 +43,23 @@ class CodegeexChatModel:
                 "do_sample": True if request.temperature else request.temperature,
             }
             length = 0
-            for i, outputs in enumerate(self.model.stream_generate(**inputs, **gen_configs)):
+            for outputs in self.model.stream_generate(**inputs, **gen_configs):
                 response = self.tokenizer.decode(outputs.tolist()[0][len(inputs["input_ids"][0]):-1])
                 if not response or response[-1] == "�":
                     continue
                 resp = ChatCompletionStreamResponse()
-                resp.choices[0].index = i
                 resp.choices[0].delta.content = response[length:]
-                event = Event(id=resp.id, data=resp.json(), event='message')
+                event = Event(data=resp.json(), event='message')
                 yield event.dump()
                 length = len(response)
             resp = ChatCompletionStreamResponse()
             resp.choices[0].finish_reason = 'stop'
-            event = Event(id=resp.id, data=resp.json(), event='message')
+            event = Event(data=resp.json(), event='message')
             yield event.dump()
         except Exception as e:
             resp = ChatCompletionStreamResponse()
             resp.choices[0].finish_reason = 'stop'
-            event = Event(id=resp.id, data=f"请求报错,错误原因:{e}", event='message')
+            event = Event(data=f"请求报错,错误原因:{e}", event='message')
             yield event.dump()
 
     def chat(self, request: ChatCompletionRequest):

+ 3 - 1
local_mode/protocols/openai_api.py

@@ -10,6 +10,8 @@ from typing import Literal
 import shortuuid
 from pydantic import BaseModel
 
+completion_id = f"chatcmpl-{shortuuid.random()}"
+
 
 class ChatMessage(BaseModel):
     role: str
@@ -39,7 +41,7 @@ class ChatCompletionResponseStreamChoice(BaseModel):
 
 
 class ChatCompletionStreamResponse(BaseModel):
-    id: str = f"chatcmpl-{shortuuid.random()}"
+    id: str = completion_id
     object: str = "chat.completion.chunk"
     created: int = int(time.time())
     model: str = "codegeex4"