Skip to content

rahulkumarparida/Ollama-Profile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ollama-Profile (RAG-based Personal Knowledge Assistant)

Ollama-Profile is a Retrieval-Augmented Generation (RAG) system built to answer questions about me using structured personal data instead of hallucinated responses.

The system uses:

  • JSON-based personal knowledge
  • Vector embeddings stored in ChromaDB
  • Local LLM inference using Ollama (Phi-3)
  • Keyword-based routing for targeted retrieval

This ensures responses are context-aware, fast, and accurate.


🚀 Features

  • 📄 Structured Personal Knowledge Base

    • Personal data stored as JSON (projects, skills, education, achievements, etc.)
  • 🧠 Vector Search with ChromaDB

    • Data is chunked, embedded, and stored for semantic retrieval
  • 🔀 Query Routing Logic

    • Keyword-based routing restricts retrieval to relevant chunks
    • Example: project-related queries search only project vectors
  • 🤖 Local LLM via Ollama

    • Uses phi3 model for lightweight, fast inference
    • No cloud APIs, fully local execution
  • No Hallucinations

    • Model answers strictly from retrieved context
    • If data doesn’t exist, it says so

🧩 Architecture Overview

User Query
   ↓
Keyword Router
   ↓
Relevant Vector Collection (ChromaDB)
   ↓
Context Retrieval
   ↓
Ollama (Phi-3)
   ↓
Final Answer
Ollama-Profile/
│
├── data/
│   └── profile.json        # Structured personal data
│
├── vector_store/
│   └── chroma/             # ChromaDB persistent storage
│
├── embedding.py            # Chunking & vectorization logic
├── retriever.py            # Context retrieval + routing
├── llm.py                  # Ollama model interface
├── main.py                 # Entry point
│
├── requirements.txt
└── README.md

⚙️ Tech Stack

Python

Ollama

Phi-3 LLM

ChromaDB

Sentence Transformers / Embeddings

JSON-based knowledge representation

▶️ How It Works

Personal data is written in structured JSON format

Data is chunked and converted into embeddings

Embeddings are stored in ChromaDB

User query is analyzed using keyword routing

Only relevant chunks are retrieved

Ollama’s Phi-3 generates answers using retrieved context

🛠️ Installation & Setup

# Clone the repo
git clone https://github.com/rahulkumarparida/Ollama-Profile.git
cd Ollama-Profile

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Pull Phi-3 model
ollama pull phi3

# Run the app
python main.py
📌 Example Queries

“What projects has he built?”

“What technologies does he know?”

“Tell me about his education”

“What are his achievements?”

Each query retrieves only the relevant vector space, not the entire dataset.

🎯 Why This Project Matters

Demonstrates real RAG implementation, not just API calls

Shows understanding of:

Embeddings

Vector databases

Context grounding

Query routing

Fully local, privacy-preserving AI system

Outputs


qa_local py - persolan_model - Visual Studio Code 14-11-2025 15_37_05 qa_local py - persolan_model - Visual Studio Code 14-11-2025 15_30_58 qa_local py - persolan_model - Visual Studio Code 13-11-2025 17_01_47 qa_local py - persolan_model - Visual Studio Code 14-11-2025 15_34_15

About

Ollama-Profile is a lightweight RAG-based system that answers questions about me using structured personal data. It stores my information as vector embeddings in ChromaDB, routes queries to only relevant data chunks, and uses a local Phi-3 model via Ollama to generate accurate, context-grounded responses without hallucinations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages