from .prompts import idea_refinement_prompt from langchain_core.messages import SystemMessage , HumanMessage, ToolMessage, FunctionMessage from src.genai.utils.models_loader import llm_gpt from .state import State, IdeationFormatter def run_refiner(state:State): template = idea_refinement_prompt() messages = [ SystemMessage(content=template), # ToolMessage(content=f"The four ideas are:\n{state.final_ideation}.\nThe business details is:\n{state.business_details}", tool_call_id='refiner_tool'), FunctionMessage(name='idea_refiner',content=f'''The four ideas are:\n{state.final_ideation}.\nThe business details is:\n{state.business_details}''',tool_call_id='refiner_tool'), HumanMessage(content=str(state.query)) ] result = llm_gpt.with_structured_output(IdeationFormatter).invoke(messages) print(result.refined_idea) state.result = result.refined_idea return state