Умный AI-ассистент на базе LangGraph и Qwen 2.5, использующий RAG (Retrieval Augmented Generation) для поиска по базе новостей.
Проект реализует архитектуру Corrective RAG с проверкой релевантности найденных документов (Grader) и долгосрочной памятью.
(Если картинка не отображается, запустите бота командой graph или посмотрите схему ниже)
- RAG (Поиск с дополненной генерацией): Поиск фактов в векторной базе данных (ChromaDB).
- Agentic Workflow: Агент сам решает, когда использовать инструменты, а когда отвечать текстом.
- Hallucination Grader: Специальный узел графа оценивает найденные документы. Если они не релевантны вопросу, агент игнорирует их, чтобы избежать галлюцинаций.
- Persistence (Память): История диалогов сохраняется в SQLite. Бот помнит контекст даже после перезагрузки.
- Web UI: Интерфейс на Streamlit.
project_root/
├── .env # API-ключи и настройки
├── requirements.txt # Зависимости
├── ingest.py # ETL-скрипт (Загрузка данных -> Векторная база)
├── streamlit_app.py # Веб-интерфейс
├── src/
│ ├── config.py # Централизованная конфигурация
│ ├── main.py # CLI-версия бота (точка входа)
│ ├── graph.py # Логика LangGraph (Chatbot -> Tools -> Grader)
│ └── tools/ # Инструменты (RAG, Time)
└── checkpoints.sqlite # Файл базы данных (история переписки)
