File size: 704 Bytes
dc77970
 
46fb1fc
 
 
 
 
 
 
 
 
 
dc77970
 
 
 
46fb1fc
 
 
 
 
 
 
dc77970
46fb1fc
 
 
 
 
 
dc77970
46fb1fc
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from typing import Optional

from fastapi import APIRouter
from fastapi.responses import StreamingResponse
from pydantic import BaseModel

from app.services.chat_service import generate_response
from app.utils.streaming import stream_response

router = APIRouter()

class ChatRequest(BaseModel):

    user_query: str

    user_id: Optional[str] = "alekhya"

@router.post("/chat")

async def chat(request: ChatRequest):

    response = await generate_response(
        request.user_id,
        request.user_query
    )

    return StreamingResponse(
        stream_response(
            response,
            request.user_id,
            request.user_query
        ),
        media_type="text/plain"
    )