Spaces:
Sleeping
Sleeping
File size: 999 Bytes
71a4d85 |
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 |
import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
from src.state.state import graphstate
class ChatbotWithToolNodes:
def __init__(self, model):
self.llm = model
def peocess(self, state: graphstate):
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: graphstate):
"""
Chatbot logic for processing the input state and returning a response.
"""
return {"messages": [llm_with_tools.invoke(state["messages"])]}
return chatbot_node |