Использование ChatGPT API в приложениях. RAG (Retrieval-Augmented Generation)

*https://www.youtube.com/watch?v=NkjkqsLCweQ
**https://300.ya.ru/v_VPWkOIy5

Таймкоды

00:00:03 Введение в прототип чат-бота

  • Представление прототипа чат-бота, взаимодействующего с Telegram и ChatGPT.
  • Бот отвечает на вопросы пользователей об антикафе.

00:00:37 Структура данных и процесс работы

  • Два файла: промт и база знаний на Google Диске.
  • Система читает информацию из базы знаний и отправляет её в ChatGPT.
  • ChatGPT готовит ответ, который показывается в Telegram-боте.

00:01:18 Ограничения ChatGPT и решение

  • Ограничения по размеру токенов в ChatGPT.
  • База знаний разрезается на кусочки чанки, релевантные куски ищутся на основе вопроса.
  • Собирается пакет из инструкции промта, релевантных кусков и вопроса.

00:02:01 Векторный поиск

  • Использование векторного поиска для нахождения релевантных кусков.
  • Векторы слов и фраз преобразуются в математическом пространстве.
  • Расстояние между векторами вопроса и чанков определяет релевантность.

00:03:48 Процесс работы приложения

  • При старте приложения читаются файлы промта и базы знаний, нарезаются на чанки и индексируются.
  • Пользователь задаёт вопрос в Telegram, приложение ищет релевантные чанки в индексной базе данных.
  • Собранные данные отправляются в ChatGPT, который готовит ответ.

00:04:48 Категории вопросов

  • Общие вопросы, вопросы к базе знаний, вопросы на стресс-устойчивость, вопросы на разных языках, вопросы на вычисления.

00:05:04 Технические выводы и интеграция

  • Использование API для доступа к ChatGPT.
  • Необходимость знания предметной области заказчика и подготовки базы знаний.
  • Возможность использования других больших языковых моделей для обеспечения безопасности данных.

00:06:32 Демонстрация работы

  • Пример промта и базы знаний, описывающих заведение.
  • Запуск в облаке Google Cloud.
  • Демонстрация работы бота в Telegram, ответ на вопрос на любом языке.

Расшифровка видео

0:02
Добрый день
0:05
представляю Вашему вниманию вот такой
0:08
прототип это чат-бот он взаимодействует
0:14
из телеграмма счетчики 5
0:17
и отвечает на вопрос
0:21
пользователи о неком антикафе вот такие
0:25
вот вопросы
0:26
пользователи могут задавать примерно так
0:29
он отвечает
0:31
что там под капотом
0:37
Значит есть два файла файл промта и файл
0:44
знаний
0:48
Google диски система заходит
0:55
информация Как использовать эту
0:58
информацию написано в рамке
1:01
сейчас на экране пример и все это
1:05
отправляется
1:08
ответ этот ответ показывается
1:12
в telegram-боте
1:15
что под капотом
1:18
мы не можем послать
1:21
большой файл базы знаний в чат gpt
1:25
потому что в чат gpt у каждой модели Вот
1:29
они перечислены которые возможно есть
1:31
свои ограничения по размеру токена
1:35
то есть нам надо как-то преодолеть это
1:37
эту проблему для этого База знаний
1:41
разрезается на кусочки кусочки
1:45
по кусочкам на основании вопроса ищется
1:49
релевантные куски эти куски называется
1:51
чанками потом собирается вот такой пакет
1:55
пакет состоит из инструкции промта
1:59
релевантный кусков самого вопроса если
2:02
пакет меньше ограничения
2:05
размеры
2:08
максимального количества токенов для
2:10
данной модели Мы это можем успешно
2:12
отправить и получить оттуда готовый
2:16
ответ
2:18
теория три важных вопроса
2:21
как найти эти релевантные куски которые
2:24
называются чанками для этого
2:26
используется векторный поиск
2:30
векторный поиск это такая штука которая
2:34
когда слова и целая фраза превращается
2:38
вектора несколько лет назад была
2:41
популярна такая вот Шутка из эпохи вот
2:45
что если слово
2:47
вектора слова король вычесть Вектор
2:51
слова мужчина и добавить Вектор Слово
2:54
женщины то получится Вектор слова
2:57
Королев при этом самое интересное что в
3:00
математическом пространстве слова король
3:02
параллельно слову Вектор на сегодняшний
3:06
момент используется понятие имейтинге
3:09
современная представление
3:11
викторовизация слов там более
3:16
тысячи измерений в этом математическим
3:19
пространстве Как работает векторный
3:22
поиск у нас есть Вектор вопроса вот он
3:26
желтенький и вектора релевантных кусков
3:29
из базы знания
3:31
вектора чанках замеряется расстояние
3:35
между векторами если это расстояние
3:38
меньше чем заданное то считается что это
3:42
Чанг подходит то есть он является
3:45
как это все вместе работает на старте
3:49
приложение
3:51
когда приложение стартует мы идем на
3:55
Google Drive читаем оттуда файл промта
3:58
читаю файл базы знаний нарезаем их на
4:02
куски на чанке
4:03
мы собираем эти чанки и кладем в
4:07
индексную базу данных Где переводится
4:09
Они беддинге то есть вектора дальше
4:13
работает основной асинхронный
4:17
процесс цикл пользователь кладет свой
4:21
вопрос Telegram из Telegram читаем своим
4:24
приложением этот вопрос по этому вопросу
4:27
ищем в индексной базе данных релевантные
4:31
куски
4:32
собираемся вместе вот все что мы собрали
4:35
вот здесь показано отправляем это в чат
4:39
gpt charge 5 готовит ответ этот ответ мы
4:43
показываем телеграмм
4:46
Какие могут быть вопросы вот примерные
4:49
категории общие вопросы типа кто ты там
4:52
прочее вопросы которые относятся к базе
4:56
знаний проверить о том что
4:59
информация у нас правильно приходит из
5:02
базы данных
5:04
вопросы на стрессоустойчивость насколько
5:07
вот вежливый вопрос на разных языках это
5:12
самое интересное могут быть даже вопросы
5:14
на вычисления
5:16
Ну и в конце основные технические выводы
5:21
используются API для доступа к charge 5
5:24
для того чтобы все заработало надо знать
5:30
предметную область заказчика
5:32
научить заказчика готовить базу знаний
5:36
помочь ему в этом надо Подготовить
5:39
инструкции для промта и научить
5:42
сопровождать этот провод Telegram бот
5:45
Это самый самый простой способ
5:48
интеграции могут быть другие конечно
5:51
заказчик может
5:54
сказать что с точки зрения безопасности
5:58
и приватности не хорошо отправлять
6:00
куда-то там в чат gpt или яндекс
6:05
его данные могут быть использованы
6:09
другие большие языковые модели вот
6:11
семейства их перечисленно на экране они
6:16
хороши тем что их можно ставить локально
6:18
Хотя они может быть и не такие умные как
6:22
сама
6:23
и в конце
6:25
значит как это все работает все вместе
6:32
вот у нас самый
6:36
Telegram
6:38
вот у нас пример промта этот пром
6:43
Достаточно уже большой здесь
6:45
рассказывается Как должна
6:48
вести себя
6:50
частью 5 с данными вот у нас
6:55
пример базы знаний по осознанию это
6:59
описание
7:01
это этого заведения то есть здесь
7:05
перечисленные общая информация залы цены
7:09
скидки
7:11
адресная информация
7:13
примеры расчета
7:15
по ценным по стоимости и
7:21
контактная информация
7:24
где это запущено запущена это все в
7:27
Облаке вот сейчас это крутится прям
7:29
бесплатно облаке Google коллабо сейчас
7:34
мы вернемся
7:38
Telegram и
7:40
запустим какой-нибудь вопрос
7:48
вот пришел вопрос
7:51
вот пришел ответ Вы видите что это
7:55
работает одновременно притом
8:00
бот отвечает на любом
8:03
языке даже вот можно вот так писать
8:35
Вот так это работает Спасибо всем за
8:39
внимание

Поделиться: