add README.md
This commit is contained in:
@@ -1,2 +1,60 @@
|
||||
# task-6a1867fa8a94f887e50d52bb
|
||||
# RAG‑агент с ChromaDB и веб‑поиском
|
||||
|
||||
AI‑ассистент с двумя источниками знаний: локальная база ChromaDB и интернет через Tavily. Агент сам решает, какой источник использовать, и указывает это в ответе.
|
||||
|
||||
## Стек
|
||||
|
||||
| Компонент | Технология |
|
||||
|-----------|------------|
|
||||
| LLM | Ollama — llama3 |
|
||||
| Эмбеддинги | Ollama — nomic-embed-text |
|
||||
| Векторное хранилище | ChromaDB |
|
||||
| Веб‑поиск | Tavily |
|
||||
| Фреймворк | LangChain + LangGraph (ReAct) |
|
||||
|
||||
## Установка
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
ollama pull llama3
|
||||
ollama pull nomic-embed-text
|
||||
```
|
||||
|
||||
Добавь в `.env`:
|
||||
```
|
||||
TAVILY_API_KEY=твой_ключ_tavily
|
||||
```
|
||||
|
||||
## Запуск
|
||||
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Команды
|
||||
|
||||
| Команда | Описание |
|
||||
|---------|----------|
|
||||
| `/add <текст>` | Добавить текст в локальную базу знаний |
|
||||
| `/load <файл>` | Загрузить .txt файл в базу знаний |
|
||||
| `/help` | Показать список команд |
|
||||
| `/quit` | Выйти из программы |
|
||||
| `<вопрос>` | Задать вопрос агенту |
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
vectorstore.py — ChromaDB хранилище, эмбеддинги, чанкинг
|
||||
tools.py — @tool: search_local_kb, web_search (Tavily)
|
||||
agent.py — ReAct‑агент с маршрутизацией по источнику
|
||||
main.py — CLI интерфейс
|
||||
requirements.txt
|
||||
README.md
|
||||
```
|
||||
|
||||
## Маршрутизация
|
||||
Агент сам выбирает источник:
|
||||
- `search_local_kb` — если ответ может быть в локальных документах
|
||||
- `web_search` — если нужна актуальная информация из интернета
|
||||
|
||||
В каждом ответе указан источник: `[Source: Local KB]` или `[Source: Web]`.
|
||||
|
||||
Reference in New Issue
Block a user