fix: properly handle tool_use messages in conversation

This commit is contained in:
Mengxin Zhu
2025-06-30 00:14:26 +08:00
parent 01836087b1
commit 76a3614f17
5 changed files with 103 additions and 8 deletions
+4
View File
@@ -1,3 +1,4 @@
import logging
import time
import uuid
from abc import ABC, abstractmethod
@@ -14,6 +15,8 @@ from api.schema import (
Error,
)
logger = logging.getLogger(__name__)
class BaseChatModel(ABC):
"""Represent a basic chat model
@@ -46,6 +49,7 @@ class BaseChatModel(ABC):
@staticmethod
def stream_response_to_bytes(response: ChatStreamResponse | Error | None = None) -> bytes:
if isinstance(response, Error):
logger.error("Stream error: %s", response.error.message if response.error else "Unknown error")
data = response.model_dump_json()
elif isinstance(response, ChatStreamResponse):
# to populate other fields when using exclude_unset=True