🔗 Попробовать онлайн: https://research-assistant-agent-qxifyarjygm23appzd9tiz6.streamlit.app
Чат-агент для поиска и подбора научных источников. Комбинирует гибридный локальный поиск (SQLite + векторная база ChromaDB) с поиском по внешним источникам (arXiv, Archive.org, OpenAlex), а затем ранжирует и дедуплицирует находки с помощью LLM. Отвечает на языке запроса.
LLM — DeepSeek V4 Flash через OpenAI-совместимый эндпоинт Yandex Cloud AI Studio (провайдер настраивается, подходит любой OpenAI-совместимый API).
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtСкопируйте sources/.env.sample в sources/.env и заполните переменные:
адрес/ключ LLM-провайдера (MODEL_NAME, OPENAI_API_BASE, OPENAI_API_KEY,
YANDEX_FOLDER_ID — под Yandex Cloud AI Studio по умолчанию) и, при
необходимости, адрес локального embedding-сервера (Ollama) для локального
поиска.
streamlit run sources/main.pyКладёте PDF-файлы в sources/storage/local_files/ и запускаете индексацию
(долгая операция, парсит PDF, извлекает метаданные через LLM и строит
эмбеддинги через Ollama):
PYTHONPATH=sources python3 -m sources.agent.local_search.local_preprocessing.db_updateДля Windows (PowerShell):
$env:PYTHONPATH="sources"; python -m sources.agent.local_search.local_preprocessing.db_updatepytest- Онлайн-версия работает только с внешним поиском (arXiv, Archive.org, OpenAlex) + LLM-ранжированием — локальная коллекция PDF там недоступна.
- Semantic Scholar подключён в коде, но выключен в агрегаторе
(
agent/external_search/aggregator.py) — без API-ключа он стабильно ловит рейт-лимит и не отдаёт результатов. Есть ключ — включите обратно.