File size: 1,048 Bytes
583f6dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import ast
from fastapi import APIRouter
from api.stored_data import stored_data
from src.genai.ideation_agent.agent import ideation_graph
from langgraph.errors import GraphRecursionError

router = APIRouter()
idea_graph = ideation_graph()

@router.post("/ideation")
def ideation_endpoint():
    config={"recursion_limit":15, "configurable": {"thread_id": "ideation_thread123"}}
    try:
        result = idea_graph.invoke(
        {
            'business_details': [stored_data['business_details']],
            'image_caption': [stored_data['image_caption'] if 'image_caption' in stored_data else ""]

        },
        config=config,
        )
        stored_data['final_ideation'] = result['improver_response'][-1]
        stored_data['final_ideation']=ast.literal_eval(stored_data['final_ideation'])

        return {'response':ast.literal_eval(result['improver_response'][-1])}
    except GraphRecursionError:
        result = idea_graph.get_state({"configurable": {"thread_id": "ideation_thread123"}})
        return {'response': result[0]}