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