Flexo is a powerful and flexible agent framework. It provides a FastAPI-based RESTful API for deploying customizable AI agents that can execute Python functions and interact with external services while handling real-time streaming responses.
- Configurable Agent: YAML-based configuration for custom behaviors
- Tool Integration: Execute Python functions and REST API calls
- Streaming Support: Real-time streaming with pattern detection
- Production Ready: Containerized deployment support with logging
- FastAPI Backend: Modern async API with comprehensive docs
-
Fork and clone:
# First, fork the repository on GitHub by clicking the 'Fork' button # Then clone your fork: git clone https://github.com/YOUR_USERNAME/flexo.git cd flexo # Add the upstream repository git remote add upstream https://github.com/ibm/flexo.git
-
Set up the environment:
# Create virtual environment python -m venv venv source venv/bin/activate # or `venv\Scripts\activate` on Windows pip install -r requirements.txt
-
Configure:
- Copy
.env.example
to.env
and add your credentials - Review
src/configs/agent.yaml
for agent settings
- Copy
-
Run the server:
uvicorn src.main:app --reload --host 127.0.0.1 --port 8000
docker build -t flexo-agent .
docker run -p 8000:8000 --env-file .env flexo-agent
flexo/
├── docs/
├── src/
│ ├── agent/ # Agent(s)
│ ├── api/ # API endpoints
│ ├── configs/ # Configurations
│ ├── data_models/ # Data models
│ ├── database/ # Database adapters
│ ├── llm/ # LLM components
│ ├── prompt_builders/ # Core prompt generation
│ ├── tools/ # 🔧 Add your custom tools here!
│ │ ├── core/ # Core tool components
│ │ ├── implementations/ # Custom tool implementations
│ │ └──notebooks/ # Jupyter notebooks for tool development
│ ├── utils/ # Utils/shared code
│ └── main.py # App entry point
└── ...
This project follows Semantic Versioning. See releases for version history.
We welcome contributions! All commits must be signed with DCO (git commit -s
). See our Contributing Guide for details.
We are committed to fostering a welcoming and inclusive community. Please review our Code of Conduct to understand the standards we uphold.
Review our Security Policy for handling vulnerabilities.
Apache 2.0 License - see LICENSE for details.