Spaces:
Sleeping
Sleeping
| from langchain_core.messages import SystemMessage | |
| from .prompts import business_retrieval_prompt | |
| from .utils import manual_retrieval | |
| # This node generates a response using business context and retrieval | |
| def business_interaction_node(state, llm, react_agent, messages, business_details): | |
| print('Entered into callmodel') | |
| user_inputs = str([msg['content'] for msg in messages if msg['role'] == 'user']) | |
| retrievals = manual_retrieval(user_inputs, business_details) | |
| template = business_retrieval_prompt(user_inputs, retrievals) | |
| formatted_messages = [SystemMessage(content=template)] + state["messages"] | |
| response = react_agent.invoke({'messages': formatted_messages})['messages'][-1] | |
| print('Backup response:', response.content) | |
| return {"messages": [response.content]} | |
| # Optional message cleanup node | |
| def cleanup_messages(messages): | |
| if len(messages) > 4: | |
| return messages[2:] | |
| return messages |