С помощью этой инструкции вы создадите базу знаний для использования в RAG-пайплайне в сервисе Managed RAG.
Каждая база знаний представляет набор собственных версий. При создании базы знаний появляется первая версия.
Перед началом работы
Подготовьте документы для базы знаний в Evolution Object Storage.
Создайте папку в бакете и загрузите в нее файлы.
ВниманиеПри создании базы знаний промежуточные результаты сохраняются в тот же бакет. Если в нем будет недостаточно места, создание базы знаний завершится с ошибкой.
Убедитесь, что свободное место в бакете после загрузки данных составляет размер данных * 4.
Перейдите в AI Factory → Managed RAG и нажмите Создать базу знаний.
Шаг 1. Заполните параметры базы знаний
Введите название базы знаний.
(Опционально) Заполните описание базы знаний.
В поле Путь к папке с документами на S3 выберите папку в бакете Object Storage, куда вы загрузили файлы.
В поле Расширения документов перечислите расширения тех файлов, которые будут обработаны и сохранены в базе знаний.
Например, если в вашем бакете есть txt- и JSON-файлы, вы можете выбрать только .json — тогда txt-файлы не будут затронуты.
(Опционально) Чтобы настроить экстрактор для извлечения данных из документов базы знаний и выбрать модель-эмбеддер, активируйте опцию Вручную настроить обработку данных и модель. При использовании JSON-файлов рекомендуется всегда настраивать параметры JSON-экстрактора.
Если опция активирована, необходимо выполнить шаги 2 и 3.
(Опционально) Для аутентификации пользователя при отправке запросов к базе знаний через публичный URL активируйте опцию Аутентификация.
Шаг 2. Настройте параметры экстрактора
Выберите и заполните параметры обработки документов для каждого экстрактора.
Simple File
Обработчик простых текстовых файлов с большим перечнем расширений.
Выберите Splitter — способ разбиения текста на чанки.
RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.
CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.
Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.
Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.
Введите Separators — список разделителей, по которому чанки отделяются друг от друга.
Вы можете искать по языкам программирования, например, ввести «Go» и получить пресет разделителей для него.
При необходимости активируйте опцию Разделители являются регулярным выражением.
Настройте параметр Keep separator — добавлять ли разделитель к чанку:
Не добавлять
Добавить к началу чанка
Добавить в конец чанка
Markdown
Выберите Splitter — способ разбиения текста на чанки.
MarkdownSplitter — стандартный сплиттер для markdown-файлов, который не требует ввода разделителей.
RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.
CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.
Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.
Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.
При необходимости активируйте опцию Разделители являются регулярным выражением.
Настройте параметр Keep separator — добавлять ли разделитель к чанку:
Не добавлять
Добавить к началу чанка
Добавить в конец чанка
JSON
Рекомендуется всегда вручную настраивать параметры обработки данных для JSON-файлов.
(Опционально) Заполните Scheme jq — схему, используемую утилитой jq для извлечения данных или текста из JSON.
Для тестирования jq-схемы рекомендуется использовать сайт https://play.jqlang.org.
(Опционально) Активируйте опцию Парсер по jq-cхеме вернет массив строк, если результат jq-обработки элемента в JSON возвращает строку.
(Опционально) Активируйте опцию Документ имеет формат JSON Lines.
Выберите Splitter— способ разбиения текста на чанки.
RecursiveJsonSplitter — стандартный сплиттер для JSON-файлов, который не требует ввода разделителей.
RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.
CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.
Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.
Введите Min chunk size — размер перекрытия, измеряется в количестве символов с пробелами.
Simple PDF
Для PDF-файлов рекомендуется не переносить логические части информации с одной страницы на другую, а начинать каждый новый логический блок с новой страницы.
Выберите Splitter — способ разбиения текста на чанки.
RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.
CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.
Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.
Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.
Введите Separators — список разделителей, по которому чанки отделяются друг от друга.
Вы можете искать по языкам программирования, например, ввести «Go» и получить пресет разделителей для него.
При необходимости активируйте опцию Разделители являются регулярным выражением.
Настройте параметр Keep separator — добавлять ли разделитель к чанку:
Не добавлять
Добавить к началу чанка
Добавить в конец чанка
Шаг 3. Выберите модель-эмбеддер
Выберите источник модели:
Foundation Models — одна из готовых моделей сервиса Foundation Models;
ML Inference — инференс под vLLM Runtime, предварительно созданный вами в сервисе ML Inference.
ПримечаниеВ инференсе, который используете для создания базы знаний, нужно правильно задать параметр Задача ML-модели. Ниже перечислены подходящие значения:
для модели-эмбеддера — «Embedding»;
для модели-реранкера — «Score»;
для LLM — «Generate».
Работа моделей и инференсов тарифицируется.
Нажмите Создать.
Дождитесь, пока база знаний и ее первая версия перейдут в статус «Активная».
При создании базы знаний автоматически будет создан сервисный аккаунт для управления вашими файлами в Object Storage.
Что дальше
Отправьте HTTP-запрос к вашей базе знаний.
- Перед началом работы
- Шаг 1. Заполните параметры базы знаний
- Шаг 2. Настройте параметры экстрактора
- Шаг 3. Выберите модель-эмбеддер
- Что дальше