Skip to content

Abdullah-kwl/ChatPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ ChatPilot

ChatPilot is a modular AI-powered backend built using FastAPI and LangChain, designed to serve as a scalable foundation for intelligent chat applications.


πŸ“Œ Features

  • ⚑ 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

πŸ—οΈ Project Structure

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 variables

Note: Create a .env file manually in the project root and add the required environment variables:

GEMINI_API_KEY=your_api_key_here

βš™οΈ Installation

1. Clone the repository

git clone git@github.com:Abdullah-kwl/ChatPilot.git
cd ChatPilot

2. Create virtual environment

python -m venv venv
venv\Scripts\activate   # Windows
# source venv/bin/activate  # Linux/Mac

3. Install dependencies

Using uv (Recommended)

uv sync

Using pip

pip install -r requirements.txt

▢️ Running the Application

uv run uvicorn app.main:app 
uv run streamlit run frontend.py

Backend will be available at:

http://127.0.0.1:8000

Frontend will be available at:

http://localhost:8501

πŸ“‘ API Documentation

FastAPI provides built-in API documentation:

  • Swagger UI β†’ http://127.0.0.1:8000/docs
  • ReDoc β†’ http://127.0.0.1:8000/redoc

πŸ–₯️ Frontend Interface

Streamlit frontend can be accessed at:

  • Streamlit App β†’ http://localhost:8501

🧠 AI Layer

The ai_layer module handles:

  • LangChain Agents
  • LLM integrations

πŸ“¦ Versioning

Version is managed in:

app/version.py

πŸ“œ Changelog

All changes are documented in:

CHANGELOG.md

🀝 Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create a feature branch
  3. Commit changes
  4. Push and open a PR

πŸ“„ License

This project is licensed under the MIT License.


πŸ‘¨β€πŸ’» Author

Abdullah GitHub: https://github.com/Abdullah-kwl

About

ChatPilotπŸ€– is a LangChain-powered chatbot prototype designed to demonstrate efficient LLM orchestration.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages