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.PalmAPI import generate_summary,summarization 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("/sql") # async def generate_message(request_body: str): # response_body, status_code = await fetch_and_forward_request(request_body) # return response_body @chat_router.post("/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'] docs=generate_summary(text) summaries =[] for doc in docs: summary=await summarization(doc.page_content) summaries.append(summary) return summaries