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! 🎉
- 🤖 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.
You can support the ongoing development of FastAPI Agents by becoming a sponsor:
For further documentation, including detailed API documentation for the available agent frameworks, visit the FastAPI Agents Documentation.
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. 🎉
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)
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.
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. 🚀
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
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.
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.
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.
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.}
}
This project is licensed under the MIT License. See the LICENSE
file for more details.