FastAPI Agents
FastAPI Agents is the ultimate FastAPI extension for integrating AI agents into your applications. With just a few lines of code, you can create, manage, and secure AI-powered endpoints, enabling you to build smarter, more interactive apps effortlessly. Whether you're a seasoned developer or just exploring AI integrations, FastAPI Agents has you covered! π
β¨ Features at a Glance
- π€ Easy Agent Management: Register, organize, and interact with multiple AI agents seamlessly.
- π Built-In Security: Easily add API key, OAuth2, cookie, or OpenID authentication to your endpoints.
- π Agent Framework Support: Compatible with agent frameworks like PydanticAI, Llama-Index, HuggingFace Smolagents and CrewAI.
- π³ Pre-Built Containers: Easily deploy agents in your favourite framework with ready made containers.
- π OpenAI Compatibility: Use your APIs with other AI tooling including the OpenAI SDK itself. (Experimental)
- π οΈ Extensibility: Support additional agent frameworks by extending the
BaseAgent
class. - 𧩠Dynamic Dependencies: Inject and resolve request-specific configurations effortlessly.
- π Performance Optimized: Leverage FastAPI's high performance and scalability for AI agent interactions.
- π Auto-Generated API Documentation: OpenAPI integration for your registered agents, out of the box!
See Releases for the latest updates at and Roadmap for what's coming.
π Sponsors
You can support the ongoing development of FastAPI Agents by becoming a sponsor:
π Documentation
For further documentation, including detailed API documentation for the available agent frameworks, visit the FastAPI Agents Documentation.
π Installation
Install FastAPI Agents
using pip, poetry or uv:
pip install fastapi-agents
poetry add fastapi-agents
uv add fastapi-agents
Install optional extras for your chosen agent frameworks:
pip install 'fastapi-agents[pydantic-ai]'
poetry add fastapi-agents -E pydantic-ai
uv add fastapi-agents --extra pydantic-ai
For available extras, replace pydantic-ai
with the desired agent framework (e.g. smolagents
or llama-index
). See pyproject.toml for the full list of extras.
That's it! You're all set to start integrating AI agents into your FastAPI applications. π
π Quick Start
Registering Agents
Hereβs how to get started with a basic PydanticAI
agent:
from fastapi import FastAPI
from fastapi_agents import FastAPIAgents
from pydantic_ai import Agent
# Create a FastAPI application and FastAPIAgents instance.
app = FastAPI()
agents = FastAPIAgents(path_prefix="/agents")
# Initialize and register the agent.
# The framework is automatically detected.
agent = Agent("openai:gpt-4o-mini")
agents.register("pydanticai", agent)
# Include the router in your FastAPI application.
app.include_router(agents)
Adding Security
Secure your endpoints with API Key authentication in just a few steps:
from fastapi.security import APIKeyHeader
from fastapi_agents import FastAPIAgents
# Define API Key validation
def validate_api_key(api_key: str = Depends(APIKeyHeader(name="X-API-Key"))):
if api_key != "my-secret-api-key":
raise HTTPException(status_code=403, detail="Invalid API Key")
# Secure the agents
agents = FastAPIAgents(path_prefix="/agents", security_dependency=validate_api_key)
π See Security Examples for more details.
Running the Application
Run your FastAPI application with the registered agents:
uvicorn --reload <module>:app
Replace <module>
with the name of the Python module containing your FastAPI application.
That's it! You're all set to start building smarter, more secure FastAPI applications with AI agents. π
π€ Supported Agent Frameworks
FastAPI Agents
supports a variety of agent frameworks, including:
- PydanticAI: AI agents powered by Pydantic AI. Examples
- Llama Index: OpenAI agents with Llama Index integration. Examples
- HuggingFace Smolagents: Lightweight and efficient AI agents. Examples
- CrewAI: Multi-agent Framework to create Crews. Examples
π³ Using Docker
FastAPI Agents provides pre-built Docker images for each agent framework. To get started, pull the desired image from the GitHub Container Registry (GHCR):
docker pull ghcr.io/blairhudson/fastapi-agents:pydantic-ai
For more information, see the FastAPI Agents Docker Documentation.
π‘ Examples
Explore real-world examples for implementing FastAPI Agents
in different scenarios, including step-by-by Jupyter notebook guides and standalone code samples.
See all available Guides and Example Code in the FastAPI Agents documentation.
π€ Contributing
We welcome contributions! To contribute:
- Fork the repository.
- Create a feature branch.
- Add any new tests and ensure they pass. i.e.
uv run pytest
. - Submit a pull request.
For any questions or feature requests including additional agent frameworks, open an issue in the repository.
π Citation
If you use FastAPI Agents in your work, please consider citing it using the metadata in the CITATION.cff
file:
This DOI represents all versions of the project. For version-specific DOIs, refer to the Zenodo project page.
Alternatively, you can use the following BibTeX entry:
@software{fastapi_agents,
author = {Blair Hudson},
title = {FastAPI Agents},
year = {2025},
version = {0.1},
doi = {10.5281/zenodo.14635504},
url = {https://github.com/blairhudson/fastapi-agents},
orcid = {https://orcid.org/0009-0007-4216-4555},
abstract = {FastAPI Agents is the ultimate FastAPI extension for integrating AI agents into your applications.}
}
π License
This project is licensed under the MIT License. See the LICENSE
file for more details.