Tinygent is a tiny agentic framework - lightweight, easy to use (hopefully), and efficient (also hopefully ;-0) library for building and deploying generative AI applications. It provides a simple interface for working with various models and tools, making it ideal for developers who want to quickly prototype and deploy AI solutions.
# uv sync --extra openai
from tinygent.tools import tool
from tinygent.core.factory import build_agent
@tool
def get_weather(location: str) -> str:
"""Get the current weather in a given location."""
return f'The weather in {location} is sunny with a high of 75°F.'
agent = build_agent(
'react',
llm='openai:gpt-4o-mini',
tools=[get_weather],
)
print(agent.run('What is the weather like in Prague?'))Before you begin using tinygent, ensure that you meet the following software prerequisites.
-
Clone the tinygent repository to your local machine.
git clone git@github.com:filchy/tinygent.git tinygent cd tinygent -
Create a Python environment.
uv venv --seed .venv source .venv/bin/activate -
Install the tinygent library. To install only the core tinygent library without any optional dependencies, run the following:
uv sync
To install the tinygent library along with all of the optional dependencies. Including developer tools (
--all-groups), additional packages and all of the dependencies needed for profiling and plugins (--all-extras) in the source repository, run the following:uv sync --all-groups --all-extras
[!NOTE] Not all packages are included in the default installation to keep the library lightweight. You can customize your installation by specifying the optional dependencies you need.
-
Install tinygent in editable mode (development mode), so that changes in the source code are immediately reflected:
uv pip install -e .
-
Ensure you have set the
OPENAI_API_KEYenvironment variable to allow the example to use OpenAI's API. An API key can be obtained fromopenai.com.export OPENAI_API_KEY="your_openai_api_key"
-
Run the examples using
uv:uv run examples/agents/multi-step/main.py
-
Explore more examples below:
- Brave Tools
- Tiny Chat
- Tiny OpenAI
- Tiny MistralAI
- Tiny Gemini
- Tiny Anthropic
- Tiny VoyageAI
- Tiny Graph
To ensure code quality, formatting consistency, and type safety, run:
uv run fmt # Format code Ruff
uv run lint # Run Ruff linter and Mypy type checks