https://github.com/faraz-awan/contextmate
Your personal AI knowledge assistant: chat with your notes, manuals, or stories.
https://github.com/faraz-awan/contextmate
ai-assistant docker fastapi google-cloud-run llm openai pinecone python rag retrieval-augmented-generation semantic-search
Last synced: 2 months ago
JSON representation
Your personal AI knowledge assistant: chat with your notes, manuals, or stories.
- Host: GitHub
- URL: https://github.com/faraz-awan/contextmate
- Owner: Faraz-Awan
- Created: 2025-10-23T03:36:42.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-30T01:09:11.000Z (8 months ago)
- Last Synced: 2025-10-30T03:12:42.626Z (8 months ago)
- Topics: ai-assistant, docker, fastapi, google-cloud-run, llm, openai, pinecone, python, rag, retrieval-augmented-generation, semantic-search
- Language: HTML
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ContextMate
> Your personal AI knowledge assistant: chat with your notes, manuals, or stories.
[]()
[]()
[]()
[]()
**ContextMate** is a full-stack retrieval-augmented generation (RAG) web app built with **FastAPI**, **Pinecone**, and **GPT-4o**, deployed on **Google Cloud Run**.
It creates per-user semantic namespaces so you can upload any text (study notes, technical manuals, or fiction) and ask natural-language questions with streaming answers.
## Key Features
- **Multi-Tenant Namespaces**: Each user/team gets their own isolated namespace for knowledge storage.
- **Streaming API Responses**: Receive streaming responses for long-running or large search results.
- **Namespace Creation Endpoint**: Dynamically create new namespaces via the API.
- **Dockerized & Cloud Ready**: Fully containerized with Docker, ready to deploy to Google Cloud Run.
## Tech Stack
- Python 3.x
- FastAPI
- Pinecone
- GPT-4o
- LangChain
- Docker
- Google Cloud Run
## Future Work
- Switch from OpenAI Completions API to Responses API
- Observability with Grafana Cloud
- Hybrid Search (Semantic + Lexical Search)
- "Delete my Namespace" button
- Content Moderation System
- Terms of Service
- Authentication & Rate Limiting
- UI/UX Polish
## Getting Started (Local)
To run **ContextMate** locally using Docker:
```bash
# 1. Clone the repository
git clone https://github.com/Faraz-Awan/ContextMate.git
cd ContextMate
# 2. Build the Docker image
docker build -t contextmate-api .
# 3. Run the container
docker run --rm -p 8000:8000 contextmate-api
# 4. Open in your browser
# → http://localhost:8000