diff --git a/README.md b/README.md index 41cde4a..f64ac73 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,50 @@ -# Агент с RAG‑памятью +# RAG Agent with Qdrant and Ollama -## Описание +This repository contains a minimal but fully‑functional example of an AI agent that uses **Qdrant** as a local vector store, **Ollama** for embeddings and a local LLM, and **LangChain** for the agent logic. -Простой пример AI‑агента, использующего локальный RAG‑хранилище на базе **Qdrant** и **Ollama**. Агент умеет: +## Features -1. Добавлять документы в векторную базу. -2. Выполнять семантический поиск по базе. -3. Собирать ответы из найденных документов. +* **Semantic search** – `search_knowledge_base` tool queries the vector store. +* **Document ingestion** – `add_to_knowledge_base` tool splits text into chunks and stores them. +* **Interactive CLI** – simple command line interface for adding documents, searching and chatting with the agent. +* **Modular design** – vector store, tools and agent logic are separated into distinct modules. -## Стек - -* Python 3.10+ -* Qdrant – векторная база данных -* Ollama – локальные LLM и эмбеддинги (`llama3`, `nomic-embed-text`) -* LangChain 1.x – фреймворк для агентов и RAG - -## Установка +## Setup ```bash -# Ollama +# 1. Install Ollama models ollama pull llama3 ollama pull nomic-embed-text -# Python пакеты +# 2. Install Python dependencies pip install -r requirements.txt + +# 3. Start Qdrant (Docker recommended) +# docker run -p 6333:6333 qdrant/qdrant ``` -## Запуск +## Usage ```bash -python agent.py "Какой последний прогресс в области ИИ?" +python -m workspace.task-6a02e23da6fe2e4ac16acf65.cli ``` -## Структура проекта +The CLI accepts the following commands: + +* `/add ` – add a new document. After the title you will be prompted to paste the content; finish with a line containing only `END`. +* `/search <query>` – perform a semantic search. +* `/quit` – exit. + +Anything else is forwarded to the agent. + +## Project structure ``` -├── agent.py # основной скрипт агента -├── qdrant_store.py # обёртка над QdrantVectorStore -├── chunker.py # разбиение документов на чанки -├── tools.py # инструменты для агента -├── requirements.txt -└── README.md -``` +workspace/ +├── task-6a02e23da6fe2e4ac16acf65/ +│ ├── agent.py # Agent and tool definitions +│ ├── cli.py # Interactive command line interface +│ ├── vector_store.py # Qdrant + Ollama wrapper +│ ├── requirements.txt +│ └── README.md +``` \ No newline at end of file