Используем базу в Notion как знания для нейро-сотрудника на базе LLM (ChatGPT)

Какую проблему мы будем решать?

⚡ Генерация ответов от LLM по базе знаний неограниченного объема и со 100% точностью ответов.

Почему Notion в качестве базы знаний?

  1. Notion бесплатен

  2. Базы данных в Notion не имеют ограничений по количеству записей. Ограничение в бесплатном тарифе только на размер фалов (до 5 Мб) и на максимальное количество символов в текстовом поле (2000 букв).

  3. Notion предоставляет API для поиска по базе данных

  4. Существует много сервисов по автоматизации процесса обновление и добавление данных в базе Notion (Zapier и другие)

Шаг №1: Создадим тестовую базу в Notion

По этой ссылке вы можете скопировать пример базы данных к себе в аккаунт Notion.

Пример базы данных в Notion для использования нейро-сотрудником на базе ChatGPT

Пример базы данных в Notion для использования нейро-сотрудником на базе ChatGPT

Шаг №2: Открываем доступ по API к базе данных в Notion

Для того чтобы наш нейро-сотрудник мог обращаться к базе в Notion перейдите по этой ссылке. Вы увидите такую страницу:

Настройка новой интеграции с базой Notion

Настройка новой интеграции с базой Notion

Нажмите на кнопку New integration и получите API ключ.

Так выглядит генерация токена для подключения к Notion

Так выглядит генерация токена для подключения к Notion

И наконец самое важное! Вы должны подключить созданную интеграцию к вашей базе:

На странице с базой данных подключите вашу интеграцию в разделе

На странице с базой данных подключите вашу интеграцию в разделе «Connections»

Шаг №3: Создаем нейро-сотрудника

Для примера мы используем сервис ProTalk у которого уже есть готовая интеграция с Notion

Создание нейро-сотрудника с помощью одной строки описания

Создание нейро-сотрудника с помощью одной строки описания

Пишем коротко роль для генерации нейро-сотрудника и далее кнопку Создать.

Далее настроим по шагам нашего нейро-сотрудника:

Настройка основных параметров нейро-сотрудника

Настройка основных параметров нейро-сотрудника

В качестве примера выберем модель ChatGPT 4 omni и подключим функцию связи с базой в Notion.

Двигаемся дальше к настройке роли для нейро-сотрудника:

Сгенерированная роль с помощью ИИ

Сгенерированная роль с помощью ИИ

Тут пока ничего можем не менять и подключим сразу Телеграм бота на следующем шаге.

Подключение нейро-сотрудника к боту в Телеграм

Подключение нейро-сотрудника к боту в Телеграм

После этого мы видим созданного сотрудника в личном кабинете:

Нейро-сотрудники в личном кабинете ProTalk

Нейро-сотрудники в личном кабинете ProTalk

Шаг №4: Инструктируем нейро-сотрудника как работать с базой в Notion

Для того чтобы наш нейро-сотрудник мог ориентироваться самостоятельно по базе данных в Notion нам нужно сказать ему по каким полям базы он может фильтровать и искать автомобили.

Вот так выглядит для примера инструкция по работе с базой автомобилей:

Для получения данных по автомобилям из базы данных Notion используй эти поля для фильтрации данных:
```
"Марка машины": "Volkswagen", "Mercedes", "Honda"
"Модель машины": текстовое поле
"Коробка передач": "CVT", "Automatic", "Manual"
"Мощность двигателя": числовое поле
"Цвет машины": "Silver", "Black", "Red"
"Цена машины": числовое поле
"Класс автомобиля": "Доступный и практичный", "Надежный и экономичный", "Комфортный и просторный", "Роскошный и мощный"
"Наличие": "Нет в наличии", "В наличии"
"Тип топлива": "Бензин", "Электрический", "Гибрид", "Дизель"
```
По текстовым полям можно искать по маске.
По числовым полям искать используя диапазон.

Добавим эти инструкции в поле «Поведение»:

Блок

Блок «Поведение» при настройке личности нейро-сотрудника

⚡Обратите внимание что мы не указали все варианты значений для полей «Марка машины», «Класс автомобиля» и «Цвет машины». Если вы хотите чтобы нейро-сотрудник ориентировался полностью по всем вариантам нужно указать полные списки всех вариантов значений этих полей.

Добавим в «Роль» данные для подключения к нашей базе:

Для подключения к базе Notion используй эти данные:
```
Токен: secret_XXXXXXXXXXXXXXXXXXXXXXXX
Ссылка на базу: https://www.notion.so/XXXXXXXXXXXXXXXXXXXX?v=XXXXXXXXXXXXXXXXXXX
```

Блок

Блок «Роль» при настройке личности нейро-сотрудника

Тестирование нейро-сотрудника

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

Все правильно, мы не дали в инструкциях боту варианта фильтрации по марке «Toyota».

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

По марке «Volkswagen» и в наличии нейро-сотрудник отработал корректно.

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

По фильтру мощности двигателя так же наш нейро -сотрудник справился с задачей.

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

Тестирование нейро-сотрудника к которому подключена база знаний в Notion

И такой запрос бот отработал на отлично.

Вывод

Плюсы использования базы Notion в ботах на базе LLM очевидны:

  1. Ориентирование в базах неограниченного объема

  2. 100% достоверность ответов

  3. Обновление знаний в реальном времени и в рамках текущего диалога с пользователем

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

  1. Необходимо подготовить и занести данные в Notion

  2. Сделать описание полей для фильтрации и включить это в роль нейро-сотрудника

Итог

Если у вас возникнут вопросы при создании подобной интеграции, то напишите в комментарии или мне в Telegram и я постараюсь ответить на ваши вопросы.

© Habrahabr.ru