# План настройки и тестирования поиска по таблице RAG ## 1. Подготовка таблицы RAG - [x] Убедиться, что таблица RAG создана и содержит пары "вопрос-ответ". - [x] Добавить несколько тестовых записей через UI или напрямую в базу данных. ## 2. Настройка провайдера эмбеддингов - [x] В настройках ассистента выбрать нужного провайдера (OpenAI, Ollama и др.). - [x] Ввести API-ключ и Base URL (например, для OpenAI: https://api.openai.com/v1). - [x] Сохранить настройки. ## 3. Проверка настроек ассистента - [x] Убедиться, что выбран актуальный ID таблицы RAG. - [x] Проверить выбранного провайдера эмбеддингов. - [x] Установить порог релевантности (например, 0.95). ## 4. Проверка backend-логики - [x] Проверить, что в backend (например, в ragService.js) реализован поиск по RAG с использованием выбранного провайдера эмбеддингов. - [x] Убедиться, что используется актуальный ID таблицы и динамический выбор провайдера. - [x] Проверить возможность изменения порога релевантности. ## 5. Тестирование через UI - [ ] Отправить ассистенту вопрос, который есть в RAG-таблице — убедиться, что ответ возвращается из базы. - [ ] Отправить вопрос, которого нет в таблице — убедиться, что ассистент либо не отвечает, либо использует LLM (по настройкам). ## 6. Проверка логов backend - [ ] Проверить логи на наличие сообщений о поиске по RAG, найденных совпадениях и выбранном провайдере эмбеддингов. - [ ] В случае ошибок — проанализировать и устранить их. ## 7. Тестирование через API (опционально) - [ ] Использовать Postman/curl для отправки запросов напрямую к backend. - [ ] Пример запроса: ```http POST /api/chat/message { "userId": 137, "message": "Как зовут?" } ``` ## 8. Автоматизация тестирования (по желанию) - [ ] Написать автотесты (например, на Mocha/Jest), которые будут отправлять вопросы и сверять ответы с ожидаемыми из RAG. ## 9. Рекомендации - [ ] Для тестов использовать уникальные, простые вопросы и ответы. - [ ] После каждого изменения настроек проводить тестовые запросы. - [ ] Добавить в UI индикатор источника ответа (из базы или сгенерирован). --- ## Этапы внедрения сервиса векторного поиска (под ключ) - [x] 1. Проектирование и создание структуры Python-сервиса (FastAPI + FAISS) - [x] 2. Реализация REST API: /upsert, /search, /delete, /rebuild, /health - [x] 3. Интеграция с Ollama для генерации эмбеддингов - [x] 4. Dockerfile и docker-compose для сервиса - [ ] 5. Интеграция Node.js backend с новым сервисом (HTTP-клиент) - [ ] 6. Перенос логики поиска из ragService.js на новый сервис - [ ] 7. Тестирование интеграции (ручное и через API) - [ ] 8. Документация по запуску и использованию - [ ] 9. Финальное тестирование через UI и API - [ ] 10. Передача проекта заказчику --- **Прогресс:** - Сервис векторного поиска реализован, поддерживает кэширование, интеграцию с Ollama, все основные REST API. - Следующий этап — интеграция с Node.js backend и перенос логики поиска. **Если потребуется пример кода или помощь с конкретной реализацией — обращайтесь!**