36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# RAG Agent with Qdrant and Ollama
|
||
|
||
## What the project does
|
||
This repository contains a lightweight Retrieval‑Augmented Generation (RAG) agent that can:
|
||
1. **Store** arbitrary text snippets in an embedded vector store backed by Qdrant.
|
||
2. **Search** those snippets using semantic similarity.
|
||
3. **Answer** user questions by combining retrieved passages with the LLM from Ollama.
|
||
|
||
The CLI (`cli.py`) exposes three explicit commands:
|
||
- `/add <text>` – add a new passage to the knowledge base.
|
||
- `/search <query>` – perform a semantic search and list matching passages.
|
||
- `/quit` – exit the program.
|
||
Any other input is forwarded to the agent as a normal question.
|
||
|
||
## Technology stack
|
||
* **LLM** – Ollama `llama3` (or any compatible model).
|
||
* **Embeddings** – Ollama `nomic-embed-text`.
|
||
* **Vector store** – Qdrant in‑memory collection.
|
||
* **LangChain** – orchestration of tools and agent logic.
|
||
|
||
## Installation
|
||
```bash
|
||
# Install Python dependencies
|
||
pip install -r requirements.txt
|
||
|
||
# Pull required models from Ollama
|
||
ollama pull llama3
|
||
ollama pull nomic-embed-text
|
||
```
|
||
|
||
## Running the CLI
|
||
```bash
|
||
python cli.py
|
||
```
|
||
You will see a prompt. Use `/add`, `/search`, or `/quit` as described above.
|