Spaces:
Sleeping
Sleeping
File size: 1,109 Bytes
84d64f1 c1c6de7 84d64f1 |
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 35 |
import base64
from fastapi import APIRouter
from pydantic import BaseModel
from typing import Optional
from src.conversation_extractor.extractor import ConversationExtractor
from api.stored_data import stored_data
from src.reply_generator.generate import Graph
from typing import List
router = APIRouter()
reply_generator = Graph()
graph = reply_generator.run()
class UserRequest(BaseModel):
image_base64: str
tones: Optional[List[str]] = None
@router.post("/reply-generator")
def generate_reply(request: UserRequest):
"""
Endpoint to extract conversation from a base64-encoded image
"""
config={"configurable": {"thread_id": "reply-generator-thread"}}
image_bytes = base64.b64decode(request.image_base64)
conversation_text = ConversationExtractor().extract_conversation(image_bytes)
stored_data['conversation_context'] = conversation_text
result = graph.invoke({
'tones': request.tones,
'conversation_chat': stored_data['conversation_context']
},config=config)
print('The result is:', result)
return {'response':result['replies']}
|