tranny / App /Chat /ChatRoutes.py
Mbonea's picture
rag template
88c5489
raw
history blame contribute delete
No virus
1.49 kB
from fastapi import APIRouter, Request, Depends
from App.Users.Model import User
from App.Users.UserRoutes import get_token_owner
from App.Users.Schemas import UserSchema
from App.Transcription.Model import Transcriptions
from App.Transcription.Schemas import *
from App import bot
from .utils.Summarize import Summarizer
from .utils.RAG import GenerativeAIAssistant
from .Schema import ChatRequest
import aiohttp
import os
chat_router = APIRouter(tags=["chat"])
P_API_KEY = os.environ.get("API_KEY")
P_API_BASE = os.environ.get("P_API_BASE")
API_URL = f"{P_API_BASE}chat-bison-001:generateMessage?key={P_API_KEY}"
async def fetch_and_forward_request(request_body):
async with aiohttp.ClientSession() as session:
async with session.post(API_URL, data=request_body) as response:
response_text = await response.text()
return response_text, response.status
@chat_router.post("/Chat")
async def generate_response(req:ChatRequest):
assistant=GenerativeAIAssistant()
return await assistant.generate_message(req.messages,req.taskId)
@chat_router.get("/summarize/{task_id}")
async def generate_message(
task_id: str,
# user: UserSchema = Depends(get_token_owner)
):
entry: Transcriptions = await Transcriptions.objects.filter(task_id=task_id).first()
result = BaseTranscription(**entry.__dict__)
text = ""
for item in result.content:
text += item["text"]
summary = await Summarizer(text)
return [summary]