You need to sign in or sign up before continuing.
Unverified Commit 09c043d8 authored by Atream's avatar Atream Committed by GitHub
Browse files

Merge pull request #842 from BITcyman/fix-openai_chat_completion

[fix] thread context bug
parents 7544eadd 08a8b553
...@@ -15,6 +15,7 @@ from ktransformers.server.schemas.assistants.assistants import AssistantObject ...@@ -15,6 +15,7 @@ from ktransformers.server.schemas.assistants.assistants import AssistantObject
from ktransformers.server.schemas.assistants.messages import MessageCreate, MessageObject, Role from ktransformers.server.schemas.assistants.messages import MessageCreate, MessageObject, Role
from ktransformers.server.schemas.assistants.runs import RunObject from ktransformers.server.schemas.assistants.runs import RunObject
from ktransformers.server.schemas.assistants.threads import ThreadObject from ktransformers.server.schemas.assistants.threads import ThreadObject
from ktransformers.server.schemas.endpoints.chat import RawUsage
from ktransformers.server.schemas.base import ObjectID, Order from ktransformers.server.schemas.base import ObjectID, Order
from ktransformers.server.utils.multi_timer import Profiler from ktransformers.server.utils.multi_timer import Profiler
...@@ -142,12 +143,16 @@ class ThreadContext: ...@@ -142,12 +143,16 @@ class ThreadContext:
yield reply_message.stream_response_with_event(MessageObject.Status.in_progress) yield reply_message.stream_response_with_event(MessageObject.Status.in_progress)
yield self.run.stream_response_with_event(RunObject.Status.in_progress) yield self.run.stream_response_with_event(RunObject.Status.in_progress)
async for token, finish_reason in self.interface.inference(local_messages,self.thread.id): async for res in self.interface.inference(local_messages,self.thread.id):
if self.run.status == RunObject.Status.cancelling: if isinstance(res, RawUsage):
logger.warn(f'Run {self.run.id} cancelling') raw_usage = res
break else:
yield reply_message.append_message_delta(token) token, finish_reason = res
response_str_count+=1 if self.run.status == RunObject.Status.cancelling:
logger.warn(f'Run {self.run.id} cancelling')
break
yield reply_message.append_message_delta(token)
response_str_count+=1
if self.run.status == RunObject.Status.cancelling: if self.run.status == RunObject.Status.cancelling:
yield self.run.stream_response_with_event(RunObject.Status.cancelled) yield self.run.stream_response_with_event(RunObject.Status.cancelled)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment