https://github.com/ysocrius/pinecone-vector-chat
https://github.com/ysocrius/pinecone-vector-chat
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ysocrius/pinecone-vector-chat
- Owner: ysocrius
- Created: 2026-01-30T06:26:43.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-30T06:34:49.000Z (5 months ago)
- Last Synced: 2026-01-30T22:39:01.022Z (5 months ago)
- Language: Python
- Size: 21.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pinecone Vector Chat - RAG Assistant
A complete implementation of a Retrieval-Augmented Generation (RAG) chatbot using OpenAI, Pinecone, and Flask. This project demonstrates how to build a personal AI assistant that can ingest documents and answer questions with precise source citations.
## 🌟 New Features
- **Multi-Path Ingestion**: Sync documents from multiple local paths simultaneously.
- **Clean Source Citations**: RAG responses now cite specific filenames without clutter.
- **Automated Verification**: Integration with Playwright for end-to-end testing.
## 🎯 Key Capabilities
✅ **Cloud-based LLM** - GPT-4o-mini integration for intelligent responses
✅ **Vector Database** - Pinecone for scalable knowledge retrieval
✅ **Web Interface** - Modern, responsive chatbot UI built with Flask & Bootstrap
✅ **RAG Pipeline** - customized context injection with accurate sourcing
✅ **Production Ready** - Configured for deployment on Render
## 🚀 Quick Start
### Prerequisites
- Python 3.8+
- OpenAI API Key
- Pinecone API Key
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/ysocrius/pinecone-vector-chat.git
cd pinecone-vector-chat
```
2. **Set up virtual environment**
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
```
3. **Install dependencies**
```bash
pip install -r requirements.txt
```
4. **Configure environment variables**
Create a `.env` file with your keys:
```env
OPENAI_API_KEY=your_key
PINECONE_API_KEY=your_key
PINECONE_ENVIRONMENT=us-east-1
PINECONE_INDEX_NAME=jarvis-assistant-index
```
5. **Start the application**
```bash
python jarvis_assistant.py
```
Open your browser to `http://127.0.0.1:5000`
## 📚 Document Ingestion
You have two ways to add knowledge to Jarvis:
1. **Web Upload**: Use the "File Upload" button in the UI to upload PDF or TXT files directly.
2. **Local Path Sync**: Enter full local paths (comma-separated) in the "Local Path Ingestion" field to sync files from anywhere on your machine.
- *Example*: `C:\Documents\project_specs.pdf, C:\Notes\learning.txt`
## 🏗️ Architecture
```
pinecone-vector-chat/
├── docs/ # Default folder for document placement
├── static/ # Frontend assets (Clean JS/CSS)
├── templates/ # Jinja2 HTML templates
├── jarvis_assistant.py # Main Flask application & API
├── ingest.py # Standalone ingestion script
└── setup_pinecone.py # Index initialization utility
```
## 🛠️ Technical Stack
- **Backend**: Flask
- **AI/ML**: OpenAI (GPT-4o), LangChain
- **Database**: Pinecone (Vector Store)
- **Frontend**: Vanilla JS, Bootstrap 5
- **Testing**: Playwright MCP
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
---
**Built for:** Banao RAG Evaluation Task