Archytas: A Tools Interface for AI Agents
Implementation of the ReAct (Reason & Action) framework for Large Language Model (LLM) agents. Mainly targeting OpenAI's GPT-4.
Easily create tools from simple python functions or classes with the @tool
decorator. A tools list can then be passed to the ReActAgent
which will automagically generate a prompt for the LLM containing usage instructions for each tool, as well as manage the ReAct decision loop while the LLM performs its task.
Tools can be anything from internet searches to custom interpreters for your domain. Archytas provides a few built-in demo tools e.g. datetime, fibonacci numbers, and a simple calculator.
Demo
Short demo of using the PythonTool
to download a COVID-19 dataset, and perform some basic processing/visualization/analysis/etc.
click to watch original video on youtube
Quickstart
pip install poetry
git clone git@github.com:jataware/archytas.git
cd archytas
poetry install
export OPENAI_API_KEY="sk-..."
poetry run chat-repl
Simple Usage
Import pre-made tools from the tools module
from archytas.react import ReActAgent, FailedTaskError
from archytas.tools import PythonTool
from easyrepl import REPL
some_tools = [PythonTool, ..., etc.]
agent = ReActAgent(tools=some_tools, verbose=True)
for query in REPL():
try:
answer = agent.react(query)
print(answer)
except FailedTaskError as e:
print(f"Error: {e}")
Documentation
See the wiki docs for details.