Создать базу знаний
С помощью этой инструкции вы создадите базу знаний для использования в RAG-пайплайне в сервисе Managed RAG.
Каждая база знаний представляет набор собственных версий. При создании базы знаний появляется первая версия.
Перед началом работы
-
Подготовьте документы для базы знаний в Evolution Object Storage.
-
Создайте папку в бакете и загрузите в нее файлы.
-
Перейдите в 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.
-
(Опционально) Активируйте опцию Содержимое JSON является строкой, если результат 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.
-
Нажмите Создать.
Дождитесь, пока базы знаний и ее первая версия перейдут в статус Активная.
При создании базы знаний автоматически будет создан сервисный аккаунт для управления вашими файлами в Object Storage.
Что дальше
Отправьте HTTP-запрос к вашей базе знаний.
- Перед началом работы
- Шаг 1. Заполните параметры базы знаний
- Шаг 2. Настройте параметры экстратора
- Шаг 3. Выберите модель-эмбеддер
- Что дальше