Что такое контекст? Контекстное окно — это диапазон текста, который LLM может «видеть» и «помнить» при обработке текста. Оно определяет, на какой объём предшествующего текста модель может опираться при генерации ответов или продолжении текста. Чем больше окно, тем больше контекстной информации может использовать модель, и тем точнее и связнее обычно получается результат.Ранее мы познакомились с понятием галлюцинаций LLM. Во многих случаях база знаний LLM позволяет Агенту находить точную информацию и за счёт этого верно отвечать на вопросы. Это применимо в конкретных областях, таких как поддержка клиентов и поисковые инструменты. Традиционные боты поддержки часто основаны на поиске по ключевым словам. Когда пользователь вводит вопрос за пределами набора ключевых слов, бот не может решить задачу. База знаний создана, чтобы решить эту проблему: она обеспечивает поиск на семантическом уровне и снижает нагрузку на операторов поддержки. Перед началом эксперимента запомните: ядро базы знаний — это поиск, а не LLM. LLM улучшает процесс вывода, но реальная задача по-прежнему состоит в том, чтобы сгенерировать ответы.
Что вы узнаете в этом эксперименте
- Базовые приёмы работы с Chatflow
- Использование баз знаний и внешних баз знаний
- Понятие эмбеддингов
Предварительные требования
Создание приложения
В Интеллос выберите Создать с нуля — Chatflow.
Добавление поставщика модели
В этом эксперименте используются эмбеддинг-модели. На данный момент среди поддерживаемых поставщиков эмбеддинг-моделей — OpenAI и Cohere. В списке поставщиков моделей Интеллос поддерживаются те, что отмечены меткойTEXT EMBEDDING. Убедитесь, что вы добавили хотя бы одного поставщика и располагаете достаточным балансом.

Что такое эмбеддинг? «Эмбеддинг» — это техника, которая преобразует дискретные переменные (например, слова, предложения или целые документы) в непрерывные векторные представления. Проще говоря, когда мы преобразуем естественный язык в данные, мы переводим текст в векторы. Этот процесс и называется эмбеддингом. Векторы семантически близких текстов располагаются рядом, а векторы семантически противоположных текстов — далеко друг от друга. LLM используют эти данные для обучения, предсказывая последующие векторы и тем самым генерируя текст.
Создание базы знаний
Войдите в Интеллос -> Знания -> Создать базу знаний Интеллос поддерживает три источника данных: документы, Notion и веб-страницы. Для локальных текстовых файлов учитывайте ограничения по типу и размеру файла; синхронизация контента из Notion требует привязки аккаунта Notion; синхронизация с веб-сайта требует использования Jina или Firecrawl API. В качестве примера начнём с загрузки локального документа.Настройки чанкинга
После загрузки документа вы попадёте на следующую страницу:
Метод индексации
Обычно мы предпочитаем выбирать Высокое качество, но это расходует дополнительные токены. Выбор варианта Экономичный не расходует токены. В self-hosted версии Интеллос используется режим сегментации «вопрос-ответ». Выбрав соответствующий язык, можно организовать содержание текста в формат «вопрос-ответ», что требует дополнительного расхода токенов.Модель встраивания
Перед использованием ознакомьтесь с документацией и информацией о ценах поставщика модели. Разные эмбеддинг-модели подходят для разных сценариев. Например,embed-english от Cohere подходит для англоязычных документов, а embed-multilingual — для многоязычных документов.
Настройки поиска
Интеллос предоставляет три функции поиска: векторный поиск, полнотекстовый поиск и гибридный поиск. Гибридный поиск используется чаще всего. В гибридном поиске можно задать веса или использовать реранк-модель. Задавая веса, вы определяете, на что должен в большей степени опираться поиск — на семантику или на ключевые слова. Например, на изображении ниже семантика составляет 70% веса, а ключевые слова — 30%.

Синхронизация с веб-сайта
Во многих случаях нужно построить умного бота поддержки на основе справочной документации. На примере Интеллос мы можем превратить справочную документацию Интеллос в базу знаний. На данный момент Интеллос поддерживает обработку до 50 страниц. Обратите внимание на ограничение по количеству. Если оно превышено, можно создать новую базу знаний.
Корректировка содержимого базы знаний
После того как база знаний обработает все документы, лучше проверить связность сегментации в базе знаний. Несвязность ухудшит результаты поиска, и её нужно скорректировать вручную. Нажмите на содержимое документа, чтобы просмотреть сегментированный текст. Если есть нерелевантное содержимое, его можно отключить или удалить. Если содержимое было разбито в другой абзац, его также нужно вернуть на место.Тест поиска
На странице документов базы знаний нажмите «Тест поиска» в левой боковой панели, чтобы ввести ключевые слова и проверить точность результатов поиска.Добавление узлов
Войдите в созданное приложение, и давайте приступим к построению умного бота поддержки.Узел классификации вопросов
Чтобы разделить разные потребности пользователей, используйте узел классификации вопросов. В некоторых случаях пользователи могут даже заводить разговор на посторонние темы, поэтому для этого тоже нужно предусмотреть классификацию. Чтобы классификация была точнее, выберите более качественную LLM, а сами классы должны быть достаточно конкретными и хорошо различимыми. Вот пример классификации:- Пользователь задаёт посторонние вопросы
- Пользователь задаёт вопросы, связанные с Интеллос
- Пользователь просит объяснить технические термины
- Пользователь спрашивает о вступлении в сообщество

Узел прямого ответа
В классификации вопросов варианты «Пользователь задаёт посторонние вопросы» и «Пользователь спрашивает о вступлении в сообщество» не требуют обработки через LLM для ответа. Поэтому после этих двух вопросов можно напрямую подключить узел прямого ответа. «Пользователь задаёт посторонние вопросы»: Вы можете направить пользователя в справочную документацию, чтобы он попробовал решить проблему самостоятельно, например:Узел поиска знаний
Добавьте узел поиска знаний после варианта «Пользователь задаёт вопросы, связанные с Интеллос» и отметьте базу знаний, которую нужно использовать.Узел LLM
В следующем узле после узла поиска знаний выберите узел LLM, чтобы структурировать содержимое, извлечённое из базы знаний. LLM должна адаптировать ответ под вопрос пользователя, чтобы он был более уместным. Контекст: в качестве контекста узла LLM нужно использовать вывод узла поиска знаний. Системный промпт: на основе{{context}} ответь на {{user question}}.

/ или {. Переменные, начинающиеся с sys., — это системные переменные. Подробности смотрите в справочной документации.
Кроме того, можно включить память LLM, чтобы сделать опыт общения пользователя более связным.
Вопрос 1: Как подключить внешние базы знаний
В функции базы знаний можно подключать внешние базы знаний через API внешних баз знаний, например базу знаний AWS Bedrock.
Вопрос 2: Как управлять базами знаний через API
Как в self-hosted версии, так и в SaaS-версии Интеллос можно добавлять, удалять базы знаний и запрашивать их статус через API баз знаний.

