Files
DLE/md/RAG_SEARCH_SETUP_AND_TEST.md

3.4 KiB
Raw Blame History

План настройки и тестирования поиска по таблице 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 индикатор источника ответа (из базы или сгенерирован).

Если потребуется пример кода или помощь с конкретной реализацией — обращайтесь!