add README.md
This commit is contained in:
@@ -1,82 +1,41 @@
|
|||||||
# RAG-агент с ChromaDB и веб-поиском
|
# RAG‑Agent 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+
|
## Prerequisites
|
||||||
- Ollama (должен быть запущен локально)
|
|
||||||
- Модели Ollama: `llama3` и `nomic-embed-text`
|
|
||||||
|
|
||||||
## Установка
|
* Python 3.10+
|
||||||
|
* Ollama (downloaded models below)
|
||||||
### 1. Установка моделей Ollama
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ollama pull llama3
|
ollama pull llama3
|
||||||
ollama pull nomic-embed-text
|
ollama pull nomic-embed-text
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Установка зависимостей
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Настройка переменных окружения
|
Create a `.env` file in the project root with your Tavily API key:
|
||||||
|
|
||||||
Создайте файл `.env` с вашим Tavily API ключом:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
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/` и запустите:
|
## Usage
|
||||||
|
|
||||||
```bash
|
|
||||||
python -c "from vectorstore import create_vectorstore, load_documents; load_documents('./documents', create_vectorstore())"
|
|
||||||
```
|
|
||||||
|
|
||||||
Или просто запустите `main.py` - документы загрузятся автоматически при первом запуске.
|
|
||||||
|
|
||||||
### 2. Запуск агента
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python main.py
|
python main.py
|
||||||
```
|
```
|
||||||
|
|
||||||
## Использование
|
You will see a prompt. Type your question and press Enter. Type `exit` to quit.
|
||||||
|
|
||||||
```
|
The output shows the answer and the source (`chromadb` or `tavily`).
|
||||||
Запрос: Какие последние новости про 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 | Агент с автоматическим выбором источника |
|
|
||||||
|
|||||||
Reference in New Issue
Block a user