diff --git a/README.md b/README.md new file mode 100644 index 0000000..64019df --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# RAG-Agent — AI-агент с локальной базой знаний + +## Стек +- **Python 3.10+** +- **Qdrant** — векторная база данных +- **Ollama** — локальные LLM и эмбеддинги (`llama3`, `nomic-embed-text`) +- **LangChain / LangGraph** — агент с инструментами + +## Быстрый старт + +### 1. Установка зависимостей + +```bash +pip install -r requirements.txt +``` + +### 2. Запуск Ollama и загрузка моделей + +```bash +ollama pull llama3 +ollama pull nomic-embed-text +``` + +### 3. Запуск Qdrant (Docker) + +```bash +docker run -d -p 6333:6333 -p 6334:6334 \ + -v qdrant_storage:/qdrant/storage \ + qdrant/qdrant +``` + +### 4. Инициализация базы знаний из директории + +```bash +# Поместите .txt / .md файлы в папку docs/ +python init_knowledge_base.py ./docs +``` + +### 5. Запуск интерактивного клиента + +```bash +python client.py +``` + +## Команды в клиенте + +| Команда | Описание | +|---------|----------| +| `/add <текст>` | Добавить текст в базу знаний | +| `/add-file <путь>` | Загрузить файл в базу знаний | +| `/search <запрос>` | Прямой семантический поиск (без агента) | +| `/quit` | Выйти | +| `<любой текст>` | Отправить запрос агенту | + +## Архитектура + +``` +client.py ← интерактивный CLI-клиент +│ +├── agent.py ← create_react_agent (llama3 + RAG-инструменты) +│ └── tools.py ← @tool: search_knowledge_base, add_to_knowledge_base +│ +└── vector_store.py ← Qdrant + OllamaEmbeddings + RecursiveCharacterTextSplitter + +init_knowledge_base.py ← загрузка документов из директории +``` \ No newline at end of file