Axiom / .github /README.md
Aasher's picture
fix: OpenRouter not responding issue
91cf9c0

Axiom - A Docs Expert Agent

Axiom is AI Agent specialized in modern AI frameworks, libraries and tools. It can assist in creating AI Agents, RAG systems, chatbots, authentication mechanisms, and even full-stack development. It is built with LangGraph, MCP Docs Server, Chainlit and Gemini Models, designed to help users create different projects using natural language instructions.

AxiomAgent

Features

  • πŸ€– Interactive chat interface
  • πŸ“š Access to multiple documentation sources
  • 🦾 Support for multiple Gemini models
  • 🎨 Support for image processing and analysis
  • πŸ“ˆ Use images and graphs to create production-ready code
  • πŸ› οΈ Customizable model settings (temperature, model version)
  • 🌐 Docker support for containerized deployment

Documentation Sources

Axiom used llms.txt of the given documentations and fetches content based on the URLs in llms.txt. The agent has access to following documentations:

  • LangGraph Python
  • CrewAI
  • Model Context Protocol (MCP)
  • Chainlit
  • FastHTML
  • Supabase
  • Pinecone
  • Composio
  • Mem0
  • Zep
  • Stripe
  • Resend
  • Upstash
  • Netlify
  • Clerk Auth
  • Stack Auth

Prerequisites

  • UV package manager
  • Python 3.11+
  • Google Gemini API Key
  • Docker (optional): If you intend to use the Dockerfile, you'll need Docker installed.

Installation

  1. Clone the repository:
git clone https://github.com/aasherkamal216/Axiom.git
cd Axiom
  1. Create and Activate Virtual Environment:
uv venv
.venv\Scripts\activate # For Windows
source .venv/bin/activate # for Mac
  1. Install dependencies:
uv sync
  1. Set up environment variables:
cp .env.example .env

Add your API keys and other credentials in .env file.

If you want to disable authentication, you can remove chainlit.yaml file. Also remove the Oauth Callback function from src/axiom/app.py.

Usage

Run the application:

  • First run the MCP Doc server:
uv run mcpdoc --yaml docs_config.yaml --transport sse --port 8082 --host localhost
  • Then run chainlit interface:
uv run chainlit run app.py -w

The application will be available at http://localhost:8000.

Building the Docker image (Optional)

Alternatively, you can use Docker to run the application:

docker build -t axiom .
docker run -p 7860:7860 -p 8082:8082 axiom

Adding More Docs

You can add more documentations in docs_config.yaml file. Any documentation with a llms.txt file can be added to the list.