From d4f736eb66ce635836db8de199381a89dc729f9d Mon Sep 17 00:00:00 2001 From: hlohaus <983577+hlohaus@users.noreply.github.com> Date: Tue, 28 Jan 2025 21:51:57 +0100 Subject: Add PreviewResponse type to respoonse types --- g4f/gui/server/api.py | 4 ++-- g4f/providers/response.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/g4f/gui/server/api.py b/g4f/gui/server/api.py index 3b0f8638..12ec1b60 100644 --- a/g4f/gui/server/api.py +++ b/g4f/gui/server/api.py @@ -13,7 +13,7 @@ from ...tools.run_tools import iter_run_tools from ...Provider import ProviderUtils, __providers__ from ...providers.base_provider import ProviderModelMixin 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 ... import version, models from ... import ChatCompletion, get_model_and_provider @@ -180,7 +180,7 @@ class Api: elif isinstance(chunk, Exception): logger.exception(chunk) 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()) elif isinstance(chunk, ImageResponse): images = chunk diff --git a/g4f/providers/response.py b/g4f/providers/response.py index d682a20a..a426b45e 100644 --- a/g4f/providers/response.py +++ b/g4f/providers/response.py @@ -197,6 +197,16 @@ class ImagePreview(ImageResponse): def to_string(self): 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): def __str__(self): return "" -- cgit v1.2.3