add README.md

This commit is contained in:
2026-05-28 16:59:38 +00:00
parent f2b45d04d7
commit 650b443b05
+14 -55
View File
@@ -1,82 +1,41 @@
# RAG-агент с ChromaDB и веб-поиском
# RAGAgent with ChromaDB and Tavily
AI-агент с локальным RAG-хранилищем на ChromaDB и веб-поиском через Tavily.
## What is it?
## Требования
A small demo of a LangChain agent that can answer questions using either a local knowledge base stored in **ChromaDB** or live web search via **Tavily**. The agent automatically chooses the source based on the query and returns the answer together with a source label.
- Python 3.10+
- Ollama (должен быть запущен локально)
- Модели Ollama: `llama3` и `nomic-embed-text`
## Prerequisites
## Установка
### 1. Установка моделей Ollama
* Python3.10+
* Ollama (downloaded models below)
```bash
ollama pull llama3
ollama pull nomic-embed-text
```
### 2. Установка зависимостей
## Installation
```bash
pip install -r requirements.txt
```
### 3. Настройка переменных окружения
Создайте файл `.env` с вашим Tavily API ключом:
Create a `.env` file in the project root with your Tavily API key:
```
TAVILY_API_KEY=your_tavily_api_key_here
TAVILY_API_KEY=your_key_here
```
## Запуск
## Data
### 1. Инициализация базы знаний
Place any `.txt` or `.md` files you want to index into the `documents/` folder.
Поместите тестовые документы (`.txt` или `.md`) в папку `documents/` и запустите:
```bash
python -c "from vectorstore import create_vectorstore, load_documents; load_documents('./documents', create_vectorstore())"
```
Или просто запустите `main.py` - документы загрузятся автоматически при первом запуске.
### 2. Запуск агента
## Usage
```bash
python main.py
```
## Использование
You will see a prompt. Type your question and press Enter. Type `exit` to quit.
```
Запрос: Какие последние новости про AI-агентов?
[Web Search] ...
Источник: tavily
Запрос: Что в наших конспектах про LangGraph?
[Local KB] ...
Источник: chromadb
```
Для выхода введите `exit`.
## Структура проекта
- `main.py` — CLI чат-цикл
- `agent.py` — создание агента с инструментами
- `tools.py` — инструменты поиска (local KB + web)
- `vectorstore.py` — работа с ChromaDB
- `requirements.txt` — зависимости
- `documents/` — папка с тестовыми документами
## Компоненты
| Компонент | Описание |
|-----------|----------|
| ChromaDB | Векторное хранилище с эмбеддингами Ollama |
| search_local_kb | Семантический поиск в локальной базе |
| web_search | Поиск через Tavily API |
| create_agent | Агент с автоматическим выбором источника |
The output shows the answer and the source (`chromadb` or `tavily`).