gaia-agent / agent.py
Daniel Amendoeira
Update agent.py
ca81ac5 verified
raw
history blame
1.23 kB
import os
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage, ToolMessage
from langgraph.graph import MessagesState
from langgraph.graph import StateGraph, START, END
from langchain_community.tools import BraveSearch # web search
from langchain.tools import Calculator # for basic math
from langchain.tools.python.tool import PythonAstREPLTool # for logic/math problems
from .custom tools import (datetime_tools, transcribe_audio_tool)
from .prompt import system_prompt
# gpt-4.1-nano (cheaper for debugging) with temperature 0 for less randomness
# for benchmarking use gpt-4.1-mini or 04-mini
llm = ChatOpenAI(
model="gpt-4.1-nano",
temperature=0
)
calculator_tool = Calculator()
python_tool = PythonAstREPLTool()
search_tool = BraveSearch.from_api_key(
api_key=os.getenv("BRAVE_SEARCH_API"),
search_kwargs={"count": 4}, # returns the 4 best results and their URL
description="Web search using Brave"
)
community_tools = [calculator_tool, python_tool, search_tool]
custom_tools = [datetime_tools, transcribe_audio_tool].
tools = community_tools + custom_tools
llm_with_tools = llm.bind_tools(tools)