Spaces:
Build error
Build error
File size: 1,182 Bytes
006ec78 14ac8e9 006ec78 4bc43c8 bc8572b 4bc43c8 a232867 4bc43c8 a232867 4bc43c8 bc8572b 4bc43c8 bc8572b 4bc43c8 bc8572b 4bc43c8 006ec78 a232867 4bc43c8 bc8572b 4bc43c8 a232867 006ec78 4bc43c8 bc8572b 4bc43c8 a58fe1f bc8572b 14ac8e9 | 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 36 37 38 39 40 41 42 43 44 | from src.langgraphagenticai.state.state import State
from src.langgraphagenticai.logging.logging_utils import logger, log_entry_exit
class ChatbotWithToolNode:
"""
Chatbot logic enhanced with tool integration.
"""
def __init__(self,model):
self.llm = model
def process(self, state: State) -> dict:
"""
Processes the input state and generates a response with tool integration.
"""
user_input = state["messages"][-1] if state["messages"] else ""
llm_response = self.llm.invoke([{"role": "user", "content": user_input}])
# Simulate tool-specific logic
tools_response = f"Tool integration for: '{user_input}'"
return {"messages": [llm_response, tools_response]}
def create_chatbot(self, tools):
"""
Returns a chatbot node function.
"""
llm_with_tools = self.llm.bind_tools(tools)
def chatbot_node(state: State):
"""
Chatbot logic for processing the input state and returning a response.
"""
return {"messages": [llm_with_tools.invoke(state["messages"])]}
return chatbot_node
|