Evolution
Тема интерфейса

Создать базу знаний

С помощью этой инструкции вы создадите базу знаний для использования в RAG-пайплайне в сервисе Managed RAG.

Каждая база знаний представляет набор собственных версий. При создании базы знаний появляется первая версия.

Перед началом работы

  1. Подготовьте документы для базы знаний в Evolution Object Storage.

    1. Создайте папку в бакете и загрузите в нее файлы.

  2. Перейдите в AI Factory → Managed RAG и нажмите Создать базу знаний.

Шаг 1. Заполните параметры базы знаний

  1. Введите название базы знаний.

  2. (Опционально) Заполните описание базы знаний.

  3. В поле Путь к папке с документами на S3 выберите папку в бакете Object Storage, куда вы загрузили файлы.

  4. В поле Расширения документов перечислите расширения тех файлов, которые будут обработаны и сохранены в базе знаний.

    Например, если в вашем бакете есть txt- и JSON-файлы, вы можете выбрать только .json — тогда txt-файлы не будут затронуты.

  5. (Опционально) Чтобы настроить экстрактор для извлечения данных из документов базы знаний и выбрать модель-эмбеддер, активируйте опцию Вручную настроить обработку данных и модель. При использовании JSON-файлов рекомендуется всегда настраивать параметры JSON-экстрактора.

    Если опция активирована, необходимо выполнить шаги 2 и 3.

  6. (Опционально) Для аутентификации пользователя при отправке запросов к базе знаний через публичный URL активируйте опцию Аутентификация.

Шаг 2. Настройте параметры экстратора

Выберите и заполните параметры обработки документов для каждого экстрактора.

Simple File

Обработчик простых текстовых файлов с большим перечнем расширений.

  1. Выберите Splitter — способ разбиения текста на чанки.

    • RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.

    • CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.


    1. Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.

    2. Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.

    3. Введите Separators — список разделителей, по которому чанки отделяются друг от друга.

      Вы можете искать по языкам программирования, например, ввести «Go» и получить пресет разделителей для него.

  2. При необходимости активируйте опцию Разделители являются регулярным выражением.

  3. Настройте параметр Keep separator — добавлять ли разделитель к чанку:

    • Не добавлять

    • Добавить к началу чанка

    • Добавить в конец чанка

Markdown

  1. Выберите Splitter — способ разбиения текста на чанки.

    • MarkdownSplitter — стандартный сплиттер для markdown-файлов, который не требует ввода разделителей.

    • RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.

    • CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.


    1. Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.

    2. Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.

  2. При необходимости активируйте опцию Разделители являются регулярным выражением.

  3. Настройте параметр Keep separator — добавлять ли разделитель к чанку:

    • Не добавлять

    • Добавить к началу чанка

    • Добавить в конец чанка

JSON

Примечание

Рекомендуется всегда вручную настраивать параметры обработки данных для JSON-файлов.

  1. (Опционально) Заполните Scheme jq — схему, используемую утилитой jq для извлечения данных или текста из JSON.

    Для тестирования jq-схемы рекомендуется использовать сайт https://play.jqlang.org.

  2. (Опционально) Активируйте опцию Содержимое JSON является строкой, если результат jq-обработки элемента в JSON возвращает строку.

  3. (Опционально) Активируйте опцию Документ имеет формат JSON Lines.

  4. Выберите Splitter— способ разбиения текста на чанки.

    • RecursiveJsonSplitter — стандартный сплиттер для JSON-файлов, который не требует ввода разделителей.

    • RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.

    • CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.


    1. Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.

    2. Введите Min chunk size — размер перекрытия, измеряется в количестве символов с пробелами.

Simple PDF

Примечание

Для PDF-файлов рекомендуется не переносить логические части информации с одной страницы на другую, а начинать каждый новый логический блок с новой страницы.

  1. Выберите Splitter — способ разбиения текста на чанки.

    • RecursiveCharacterTextSplitter — сплиттер, который разбивает текст последовательно сначала по первому разделителю, затем, если чанк слишком большой, по второму и так далее разделителям.

    • CharacterTextSplitter — сплиттер, который разбивает текст по одному разделителю.


    1. Введите Chunk size — размер чанка, измеряется в количестве символов с пробелами.

    2. Введите Chunk overlap — размер перекрытия, измеряется в количестве символов.

    3. Введите Separators — список разделителей, по которому чанки отделяются друг от друга.

      Вы можете искать по языкам программирования, например, ввести «Go» и получить пресет разделителей для него.

  2. При необходимости активируйте опцию Разделители являются регулярным выражением.

  3. Настройте параметр Keep separator — добавлять ли разделитель к чанку:

    • Не добавлять

    • Добавить к началу чанка

    • Добавить в конец чанка

Шаг 3. Выберите модель-эмбеддер

  1. Выберите одну из моделей Foundation Models.

  2. Нажмите Создать.

Дождитесь, пока базы знаний и ее первая версия перейдут в статус Активная.

Примечание

При создании базы знаний автоматически будет создан сервисный аккаунт для управления вашими файлами в Object Storage.

Что дальше

Отправьте HTTP-запрос к вашей базе знаний.