Документация База знаний (RAG)

Интеграция баз знаний (RAG)

Mockarty поддерживает подключение внешних баз знаний для обогащения ответов ИИ-агентов документацией вашей компании, API-спецификациями, стандартами кодирования и другими справочными материалами.

URL-адреса в примерах: Во всех примерах используется localhost:5770 как адрес Mockarty по умолчанию. Если ваш экземпляр работает на удалённом сервере, замените localhost:5770 на реальный адрес (например, https://mockarty.company.com или http://192.168.1.50:5770). Подробнее — в разделе Полезные функции и советы.

Страница MCP Marketplace с подключённой базой знаний RAG

Что такое RAG?

Простое объяснение: Представьте, что вы наняли нового разработчика. Он умный, но не знает API вашей компании, стандарты кодирования или внутренние инструменты. RAG – это как дать ему поисковый справочник. Прежде чем ответить на вопрос, он сначала заглядывает в справочник, поэтому его ответы точные и специфичные для вашей компании.

RAG (Retrieval-Augmented Generation) – это паттерн, при котором ИИ ищет релевантную информацию в базе знаний перед генерацией ответа. Вместо того чтобы полагаться только на обучающие данные модели, RAG извлекает ваши конкретные документы и добавляет их в контекст разговора.

Вопрос пользователя Поиск в базе знаний Извлечение фрагментов Ответ ИИ + контекст

Это означает, что ваши ИИ-агенты могут:

  • Знать API-спецификации вашей компании и генерировать точные моки
  • Следовать формату отчётов и стандартам кодирования вашей команды
  • Ссылаться на внутреннюю документацию при ответах на вопросы
  • Давать контекстные рекомендации на основе истории вашего проекта

Как это работает в Mockarty

Базы знаний интегрируются через MCP Marketplace как тип источника RAG. После подключения ИИ-агент получает два инструмента:

Инструмент Описание
search_knowledge Поиск в базе знаний релевантных документов и контекста
list_knowledge_collections Список доступных коллекций/датасетов документов

Когда пользователь задаёт вопрос ИИ-агенту, агент может автоматически искать релевантный контекст в базе знаний перед ответом.

Сравнение провайдеров

Прежде чем углубляться в детали, краткое сравнение для выбора:

Провайдер Простота настройки Требования к ресурсам Лучше всего для Лицензия
AnythingLLM Очень просто (1 контейнер, drag & drop) Низкие (~1 контейнер, ~1 ГБ RAM) Быстрый старт, маленькие команды, прототипирование MIT
RAGFlow Средне (несколько контейнеров, нужна настройка) Средние (3+ контейнера, ~4 ГБ RAM) Сложные документы (PDF с таблицами, изображениями) Apache 2.0
Dify Средне (несколько контейнеров) Средне-высокие (5+ контейнеров, ~4 ГБ RAM) Продвинутые воркфлоу, визуальный конструктор Apache 2.0
R2R Продвинуто (несколько контейнеров с PostgreSQL) Высокие (4+ контейнера, ~8 ГБ RAM) Production RAG с графами знаний, мультимодальность MIT
Custom API Зависит от реализации Зависит Полный контроль, существующая RAG-инфраструктура N/A

Рекомендация для начинающих: Начните с AnythingLLM – это один Docker-контейнер с веб-интерфейсом и загрузкой документов перетаскиванием. Вы можете переключиться на более продвинутого провайдера позже, не меняя конфигурацию Mockarty.

Поддерживаемые RAG-провайдеры

RAGFlow

Лучше всего для: Глубокого понимания документов (таблицы, изображения, сложная вёрстка)

  • Лицензия Apache 2.0
  • Отличный парсинг PDF/DOCX (движок DeepDoc)
  • Встроенная поддержка MCP-сервера
  • REST API на порту 9380

Быстрый старт:

git clone https://github.com/infiniflow/ragflow.git
cd ragflow
docker compose -f docker/docker-compose-base.yml up -d

URL по умолчанию: http://localhost:9380

После запуска:

  1. Откройте интерфейс RAGFlow по адресу http://localhost:9380
  2. Создайте датасет и загрузите документы
  3. Получите API-ключ в настройках

AnythingLLM

Лучше всего для: Простейшей настройки (один контейнер, перетаскивание файлов)

  • Лицензия MIT
  • Встроенная векторная БД (LanceDB)
  • Один Docker-контейнер
  • Веб-интерфейс с drag & drop загрузкой

Быстрый старт:

docker run -d -p 3001:3001 \
  --name anythingllm \
  -v anythingllm_data:/app/server/storage \
  mintplexlabs/anythingllm

URL по умолчанию: http://localhost:3001

После запуска:

  1. Откройте AnythingLLM по адресу http://localhost:3001
  2. Пройдите мастер настройки
  3. Создайте workspace и загрузите документы
  4. Получите API-ключ в Settings > Developer

Dify

Лучше всего для: Продвинутых RAG-воркфлоу с визуальным конструктором

  • Лицензия Apache 2.0
  • Визуальный редактор воркфлоу
  • 30+ вариантов векторных БД
  • Двунаправленная поддержка MCP

Быстрый старт:

git clone https://github.com/langgenius/dify.git
cd dify/docker
docker compose up -d

URL по умолчанию: http://localhost:3000

После запуска:

  1. Откройте Dify по адресу http://localhost:3000
  2. Создайте Базу знаний и загрузите документы
  3. Получите API-ключ в настройках

R2R (SciPhi)

Лучше всего для: Production-grade RAG с графами знаний

  • Лицензия MIT
  • REST-first дизайн API
  • Поддержка графов знаний
  • Мультимодальная загрузка (текст, изображения, аудио)

Быстрый старт:

git clone https://github.com/SciPhi-AI/R2R.git
cd R2R
docker compose -f compose.full.yaml --profile postgres up -d

URL по умолчанию: http://localhost:7272

Кастомный RAG API

Вы можете подключить любую RAG-систему с REST API, которая предоставляет:

  • POST /search — эндпоинт, принимающий {"query": "...", "top_k": 5}
  • GET /collections — список доступных коллекций документов
  • GET /health — эндпоинт проверки соединения

Руководство по настройке

Способ 1: Через пресеты (рекомендуется)

  1. Перейдите в Администрирование > Настройки ИИ > MCP Marketplace
  2. Найдите секцию Пресеты баз знаний (RAG) в верхней части
  3. Нажмите на карточку нужного провайдера (например, RAGFlow)
  4. Заполните URL и данные аутентификации
  5. Нажмите Сохранить
  6. Система автоматически обнаружит инструменты search_knowledge и list_knowledge_collections

Способ 2: Ручная настройка

  1. Перейдите в Администрирование > Настройки ИИ > MCP Marketplace
  2. Нажмите Добавить интеграцию
  3. Выберите База знаний (RAG) как тип источника
  4. Введите URL вашего RAG-сервера
  5. Настройте аутентификацию:
    • RAGFlow: Bearer токен (API-ключ из настроек RAGFlow)
    • AnythingLLM: Bearer токен (API-ключ из настроек разработчика)
    • Dify: Bearer токен (API-ключ из настроек Dify)
    • R2R: Bearer токен или API-ключ
    • Кастомный: Зависит от вашего API
  6. Укажите в Описании название провайдера (например, “ragflow”, “anythingllm”) для автоматического определения
  7. Нажмите Сохранить, затем Проверить соединение

Привязка к ИИ-функциям

После добавления базы знаний:

  1. Откройте любую ИИ-функцию (например, Конструктор моков, API Тестер)
  2. Нажмите иконку шестерёнки для открытия настроек ИИ
  3. В разделе MCP Tools найдите вашу базу знаний
  4. Отметьте инструмент search_knowledge
  5. ИИ-агент теперь будет автоматически искать в базе знаний при необходимости

Подробное руководство по настройкам ИИ, выбору MCP-инструментов и пользовательским промптам см. в документации ИИ-функции.

Сценарии использования

Генерация моков по реальным API-спецификациям

Загрузите ваши OpenAPI/Swagger-спецификации в базу знаний. Когда вы попросите ИИ создать мок:

Пользователь: "Создай мок для сервиса оплаты"
Агент: [ищет в базе знаний "payment service API"]
Агент: [находит OpenAPI-спецификацию с эндпоинтами, схемами, примерами]
Агент: [создаёт точный мок с реальными структурами данных]

Генерация отчётов в формате компании

Загрузите шаблоны отчётов и прошлые отчёты:

Пользователь: "Сгенерируй отчёт по нагрузочному тестированию"
Агент: [ищет "шаблон отчёта по нагрузочному тестированию"]
Агент: [находит шаблон компании с обязательными разделами]
Агент: [генерирует отчёт в правильном формате]

Онбординг и документация

Загрузите внутреннюю документацию, вики и гайды:

Пользователь: "Как настроить сторы в Mockarty?"
Агент: [ищет в базе знаний "настройка сторов"]
Агент: [находит внутренний гайд с конвенциями команды]
Агент: [отвечает с точными инструкциями для вашей команды]

Соблюдение стандартов кодирования

Загрузите стандарты кодирования и гайды по стилю:

Пользователь: "Сгенерируй тестовый скрипт для API заказов"
Агент: [ищет "стандарты тестовых скриптов"]
Агент: [применяет конвенции именования, обязательные проверки и т.д.]

Архитектура

Пользователь Задаёт вопрос ИИ-агент Mockarty Маршрутизирует запросы, вызывает инструменты search_knowledge Поиск документов list_knowledge_collections MCP Marketplace RAG-адаптер -- определяет тип провайдера RAG-провайдер Индексирует и извлекает документы RAGFlow AnythingLLM Dify R2R Свой REST API Индексированные документы: OpenAPI-спекиВики ОтчётыСтандарты ГайдыЛюбые доки запрос результаты ──▶ запрос   ┄┄▶ ответ с контекстом

RAG-адаптер в MCP Marketplace:

  1. Автоматически определяет тип провайдера по имени/описанию сервера
  2. Использует специфичные для провайдера API-эндпоинты для поиска и листинга
  3. Форматирует ответы с указанием источников (имя документа, процент совпадения)
  4. Поддерживает аутентификацию для каждого пользователя через переопределение заголовков

Советы

  • Начните с RAGFlow или AnythingLLM для простейшего опыта настройки
  • Используйте конкретные названия коллекций при поиске для лучшей точности
  • Загружайте целевые документы, а не весь массив знаний целиком
  • Поддерживайте документы в актуальном состоянии — результаты RAG настолько хороши, насколько хороши исходные данные
  • Используйте переопределение заголовков, если разным пользователям нужны разные API-ключи для RAG-системы
  • Следите за Token Budget в настройках ИИ – результаты базы знаний потребляют токены контекста

Устранение проблем

Проверка соединения не проходит

  • Убедитесь, что RAG-сервер запущен: curl http://your-rag-server:port/health
  • Проверьте, что URL в Mockarty совпадает с реальным адресом RAG-сервера (обратите внимание на сетевые особенности Docker – localhost внутри контейнера указывает на сам контейнер)
  • Убедитесь, что API-ключ корректен и не истёк

ИИ-агент не использует базу знаний

  • Убедитесь, что инструмент search_knowledge включён в настройках ИИ (иконка шестерёнки) для конкретной функции, которую вы используете
  • Проверьте, что база знаний содержит документы, релевантные вашему запросу – попробуйте поискать напрямую в UI RAG-провайдера
  • ИИ решает, когда искать, на основе релевантности. Если ваш вопрос общий, ИИ может пропустить поиск. Будьте конкретны в промптах.

Плохие результаты поиска

  • Загружайте небольшие, целевые документы вместо больших монолитных файлов
  • Используйте осмысленные имена файлов – некоторые провайдеры индексируют их
  • При использовании RAGFlow экспериментируйте с разными стратегиями разбиения в настройках датасета
  • Убедитесь, что документы в поддерживаемом формате (PDF, DOCX, TXT, Markdown поддерживаются всеми провайдерами)