Add PreviewResponse type to respoonse types

This commit is contained in:
hlohaus
2025-01-28 21:51:57 +01:00
parent 2c895831b1
commit d4f736eb66
2 changed files with 12 additions and 2 deletions

View File

@@ -13,7 +13,7 @@ from ...tools.run_tools import iter_run_tools
from ...Provider import ProviderUtils, __providers__ from ...Provider import ProviderUtils, __providers__
from ...providers.base_provider import ProviderModelMixin from ...providers.base_provider import ProviderModelMixin
from ...providers.retry_provider import BaseRetryProvider from ...providers.retry_provider import BaseRetryProvider
from ...providers.response import BaseConversation, JsonConversation, FinishReason, Usage, Reasoning from ...providers.response import BaseConversation, JsonConversation, FinishReason, Usage, Reasoning, PreviewResponse
from ...providers.response import SynthesizeData, TitleGeneration, RequestLogin, Parameters, ProviderInfo from ...providers.response import SynthesizeData, TitleGeneration, RequestLogin, Parameters, ProviderInfo
from ... import version, models from ... import version, models
from ... import ChatCompletion, get_model_and_provider from ... import ChatCompletion, get_model_and_provider
@@ -180,7 +180,7 @@ class Api:
elif isinstance(chunk, Exception): elif isinstance(chunk, Exception):
logger.exception(chunk) logger.exception(chunk)
yield self._format_json('message', get_error_message(chunk), error=type(chunk).__name__) yield self._format_json('message', get_error_message(chunk), error=type(chunk).__name__)
elif isinstance(chunk, ImagePreview): elif isinstance(chunk, (PreviewResponse, ImagePreview)):
yield self._format_json("preview", chunk.to_string()) yield self._format_json("preview", chunk.to_string())
elif isinstance(chunk, ImageResponse): elif isinstance(chunk, ImageResponse):
images = chunk images = chunk

View File

@@ -197,6 +197,16 @@ class ImagePreview(ImageResponse):
def to_string(self): def to_string(self):
return super().__str__() return super().__str__()
class PreviewResponse(ResponseType):
def __init__(self, data: str):
self.data = data
def __str__(self):
return ""
def to_string(self):
return self.data
class Parameters(ResponseType, JsonMixin): class Parameters(ResponseType, JsonMixin):
def __str__(self): def __str__(self):
return "" return ""