fixup! ✨(back) manage streaming with the ai service
This commit is contained in:
@@ -1658,7 +1658,7 @@ class DocumentViewSet(
|
||||
content_type="text/event-stream",
|
||||
status=drf.status.HTTP_200_OK,
|
||||
)
|
||||
|
||||
|
||||
ai_response = ai_service.proxy(request.data)
|
||||
return drf.response.Response(
|
||||
ai_response.model_dump(),
|
||||
|
||||
@@ -9,7 +9,7 @@ from django.core.exceptions import ImproperlyConfigured
|
||||
if settings.LANGFUSE_PUBLIC_KEY:
|
||||
from langfuse.openai import OpenAI
|
||||
else:
|
||||
from openai import OpenAI
|
||||
from openai import OpenAI, OpenAIError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -30,7 +30,10 @@ class AIService:
|
||||
def proxy(self, data: dict, stream: bool = False) -> Generator[str, None, None]:
|
||||
"""Proxy AI API requests to the configured AI provider."""
|
||||
data["stream"] = stream
|
||||
return self.client.chat.completions.create(**data)
|
||||
try:
|
||||
return self.client.chat.completions.create(**data)
|
||||
except OpenAIError as e:
|
||||
raise RuntimeError(f"Failed to proxy AI request: {e}") from e
|
||||
|
||||
def stream(self, data: dict) -> Generator[str, None, None]:
|
||||
"""Stream AI API requests to the configured AI provider."""
|
||||
|
||||
Reference in New Issue
Block a user