ChatPilot is a modular AI-powered backend built using FastAPI and LangChain, designed to serve as a scalable foundation for intelligent chat applications.
- β‘ FastAPI-based high-performance API layer
- π§ AI layer powered by LangChain
- π Modular architecture (easy to extend)
- π¦ Clean project structure for scalability
- π§ͺ Ready for testing and production evolution
ChatPilot/
β
βββ app/
β βββ ai_layer/ # AI models, chatbot logic, and tools
β β βββ chatbot.py
β β βββ model.py
β β βββ tools.py
β β
β βββ api/ # API routes, schemas, and helpers
β β βββ chat.py
β β βββ helper.py
β β βββ schemas.py
β β
β βββ utils/ # Configuration and utility functions
β β βββ config.py
β β
β βββ main.py # FastAPI application entry point
β βββ version.py # Application version
β
βββ frontend.py # Frontend / client interface
βββ CHANGELOG.md # Project release history
βββ README.md # Project documentation
βββ pyproject.toml # Project metadata and dependencies
βββ requirements.txt # Python dependencies
βββ uv.lock # Dependency lock file
βββ .env # Environment variablesNote: Create a
.envfile manually in the project root and add the required environment variables:GEMINI_API_KEY=your_api_key_here
git clone git@github.com:Abdullah-kwl/ChatPilot.git
cd ChatPilotpython -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/MacUsing uv (Recommended)
uv syncUsing pip
pip install -r requirements.txtuv run uvicorn app.main:app
uv run streamlit run frontend.pyBackend will be available at:
http://127.0.0.1:8000
Frontend will be available at:
http://localhost:8501FastAPI provides built-in API documentation:
- Swagger UI β
http://127.0.0.1:8000/docs - ReDoc β
http://127.0.0.1:8000/redoc
Streamlit frontend can be accessed at:
- Streamlit App β
http://localhost:8501
The ai_layer module handles:
- LangChain Agents
- LLM integrations
Version is managed in:
app/version.pyAll changes are documented in:
CHANGELOG.mdContributions are welcome!
- Fork the repo
- Create a feature branch
- Commit changes
- Push and open a PR
This project is licensed under the MIT License.
Abdullah GitHub: https://github.com/Abdullah-kwl