# Описание Была реализована RAG система с историей сообщений, которая отвечает на вопросы по Terraria Wiki. - Dataset: parkourer10/terraria-wiki - Embeddings: paraphrase-multilingual-MiniLM-L12-v2 ## Результат Настроен мониторинг в Langfuse, протестированны некоторые запросы к модели, можно сравнить время выполнения операций. Мне больше понравилась Qwen3 по качеству ответа. llama3.1 не корректно переформулировала запрос к векторной базе данных, возможно требуется переписать промпт на этом этапе. Для качественного ответа процесс можно настраивать и настраивать P.S. Не имею GPU, ключа для OpenAI тоже нет, так что использовал Ollama для моделей. Поэтому время выполнения операция большое. Ollama не возвращает количество сгенерированных токенов, поэтому количество токенов и стоимость в метриках не учитывается P.P.S. Сначала RAG был реализован реализован на Chroma, а при настройки Langfuse, он требовал clickhouse. Одну из них, по иде, можно убрать # Стек - Python 3.11 - Ollama - Сhroma - векторная БД для хранения Dataset с Terraria Wiki - Langchain - Langfuse - требует для работы Postgres, Minio, Clickhouse, Redis # Запуск #### Вариант 1. Dev Container - Запустить Dev Container - Скопировать .env.example в .env (переменные уже настроены) - Установить pip install -r requirement.txt - Выполнить команду task up для запуска сервиса - Дождаться пока Ollama скачает модели (Модели указываются в env OLLAMA_MODELS и качаются автоматически, после запуска контейнера) - Запустить скрипт src/main.py - При желании, можно изменить список загружаемых моделей в env (необходим перезапуск контейнера Ollama) - При желании, можно изменить используемую модель (В самом файле main.py из списка OLLAMA_MODELS) - При желании, можно изменить список вопросов к модели (В файле main.py) #### Вариант 2. Ручной запуск - Скопировать .env.example в .env - Изменить значение переменных в .env OLLAMA_HOST, CHROMA_URL и LANGFUSE_HOST на `localhost` - Установить pip install -r requirement.txt - Выполнить команду docker compose up -d для запуска сервиса - Дождаться пока Ollama скачает модели (Модели указываются в env OLLAMA_MODELS и качаются автоматически, после запуска контейнера) - Запустить скрипт src/main.py - При желании, можно изменить список загружаемых моделей в env (необходим перезапуск контейнера Ollama) - При желании, можно изменить используемую модель (В самом файле main.py из списка OLLAMA_MODELS) - При желании, можно изменить список вопросов к модели (В файле main.py)