We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3a30e45 commit ab4cdf5Copy full SHA for ab4cdf5
1 file changed
backend/api/routers/llms.py
@@ -1,17 +1,22 @@
1
+from typing import AsyncGenerator
2
+
3
from fastapi import APIRouter
4
from sse_starlette.sse import EventSourceResponse
5
+from starlette.responses import Response
6
7
from api.dependencies import LLMDep
8
9
router = APIRouter(tags=["chat"])
10
11
-async def stream(query: str, llm: LLMDep):
12
+async def stream(
13
+ query: str, llm: LLMDep
14
+) -> AsyncGenerator[dict[str, str], None]:
15
async for chunk in llm.astream_events(query):
16
yield dict(data=chunk)
17
18
19
@router.get("/chat/completions")
-async def completions(query: str, llm: LLMDep):
20
+async def completions(query: str, llm: LLMDep) -> Response:
21
"""Stream completions via Server Sent Events"""
22
return EventSourceResponse(stream(query, llm))
0 commit comments