По мере роста спроса на разговорный ИИ растет и потребность в передовых технологиях создания чат-ботов, способных обеспечить персонализированное взаимодействие, подобное человеческому. В последние годы генеративные модели, такие как GPT-4 и ChatGPT, и альтернативы с открытым исходным кодом, такие как LLaMA 3 и Mixtral 8x7b, стали перспективными инструментами для создания чат-ботов, которые могут понимать и реагировать на естественный язык с беспрецедентной точностью и сложностью.
В этой статье мы рассмотрим основы генеративных моделей и то, как их можно использовать для создания чат-ботов.
ChatGPT и GPT-4 - две продвинутые языковые модели, разработанные OpenAI. ChatGPT, сокращение от "Chat Generative Pre-training Transformer", - это большая языковая модель, которая может генерировать человекоподобный текст на основе своих обучающих данных. Она была представлена в ноябре 2022 года и быстро завоевала всеобщее внимание благодаря своей способности взаимодействовать с пользователями в разговорной манере, отвечая на вопросы, предоставляя информацию и участвуя в выполнении различных задач.
GPT-4, или "Generative Pre-training Transformer 4", является преемником GPT-3 и был анонсирован OpenAI в марте 2023 года. Он представляет собой значительный скачок в области языковых моделей ИИ, обладая еще большим размером и расширенными возможностями по сравнению со своими предшественниками. GPT-4 способен генерировать высокодетализированный и точный текст в самых разных областях, включая обработку естественного языка, компьютерное программирование и творческое письмо.
Модели ChatGPT и GPT-4 обучаются на огромных объемах данных с помощью метода обучения без контроля, что позволяет им понимать и генерировать человеческий язык с поразительной точностью и беглостью. Эти модели открыли новые возможности для разработки разговорного ИИ, создания контента и других приложений в таких отраслях, как обслуживание клиентов, образование и развлечения.
Вскоре после этого компания Meta выпустила LLaMA 3, а французский ИИ-стартап Mistral AI выпустил Mixtral 8x7b. Эти генеративные модели являются альтернативой ChatGPT и GPT-4 с открытым исходным кодом. Они являются очень хорошими кандидатами, если вы хотите создать продвинутый чатбот. Вы можете развернуть LLaMA 3 и Mixtral на собственных серверах или легко использовать их через NLP Cloud API.
Однако все эти генеративные ИИ LLM требуют некоторой практики. Во-первых, потому что этим моделям нужно давать правильные подсказки, чтобы они вели себя так, как ожидается. А также потому, что они "не имеют статики", то есть не хранят историю ваших разговоров.
Если вы по наивности отправите запросы этим моделям без некоторого контекста и форматирования, ответы вас разочаруют. Это связано с тем, что данные модели очень универсальны. Они могут помочь не только в создании чат-ботов, но и во многих других приложениях, таких как ответы на вопросы, обобщение, перефразирование, классификация, извлечение сущностей, генерация описания продукта и многое другое. Итак, первое, что вам нужно сделать, это указать модели, какой "режим" она должна принять.
Вот пример запроса, который вы можете отправить:
This is a discussion between a [human] and an [ai].
The [ai] is very nice and empathetic.
[human]: I broke up with my girlfriend...
[robot]:
В этом примере можно отметить две вещи.
Сначала мы добавили простое форматирование, чтобы модель поняла, что она находится в разговорном режиме: ([human], [ai], ...).
Во-вторых, мы добавили немного контекста в верхней части, чтобы помочь модели понять, что она делает, и какой тон ей следует использовать.:
Чтобы упростить этот процесс, OpenAI и NLP Cloud предлагают специальные конечные точки API чатботов, которые позаботятся о форматировании за вас.
Иногда одного контекста недостаточно. Например, представьте, что вы хотите создать чатбота с очень специфическим тоном и характером. В этом случае вам потребуется тонкая настройка собственной генеративной модели. Вы можете настроить свой собственный чатбот на основе генеративного ИИ в OpenAI и на NLP Cloud.
Другой сценарий - создание чат-бота, который будет отвечать на вопросы, связанные с конкретными знаниями в области. В этом случае тонкая настройка не подходит. Вместо этого нужно создать собственную систему расширенного поиска (retrieval augmented generation, RAG) на основе семантического поиска. См. нашу статью о RAG и семантическом поиске здесь.
Генеративные модели ИИ - это модели "без статики", то есть каждый ваш запрос будет новым, и ИИ не будет помнить ничего о предыдущих ваших запросах.
Для многих случаев использования это не проблема (обобщение, классификация, перефразирование...), но для чат-ботов это определенно проблема, потому что мы хотим, чтобы наш чат-бот запоминал историю обсуждений, чтобы давать более релевантные ответы.
Например, если вы скажете ИИ, что вы программист, вы захотите, чтобы он сохранил это в памяти, потому что это повлияет на следующие его ответы.
Лучший способ добиться этого - хранить каждый ответ ИИ в локальной базе данных. Например, база данных PostgreSQL поддерживает хранение длинных текстов, причем с очень хорошей эффективностью.
Затем, каждый раз, когда вы делаете новый запрос к чатботу, вы должны сделать следующее:
Это универсальная и надежная система, которая не требует особых усилий и прекрасно использует возможности таких генеративных моделей, как GPT-4, ChatGPT, LLaMA 3 и Mixtral.
Важно отметить, что каждая модель имеет свой размер контекста, который определяет, какой объем текста вы можете передать в историю. Например, текущий размер контекста для GPT-4 составляет 8 тыс. токенов (т. е. более или менее 7 тыс. слов), а текущий размер контекста для Mixtral 8x7b составляет 16 тыс. токенов на NLP Cloud (т. е. более или менее 14 тыс. слов). Поэтому, если история ваших разговоров превышает это значение, вы можете захотеть либо усечь самую старую часть истории, либо сохранить только самые важные фрагменты обсуждений.
OpenAI ввела ограничения на содержание ChatGPT и GPT-4, чтобы гарантировать, что текст, генерируемый ИИ, соответствует их рекомендациям. Контролируя и регулируя контент, генерируемый чат-ботами, OpenAI стремится создать более позитивный и надежный пользовательский опыт. Это включает в себя блокировку запросов на получение информации по определенным темам или предоставление только предварительно проверенной, заслуживающей доверия информации.
Некоторые предпочитают использовать генеративные модели, которые не имеют таких ограничений, и считают качество ответов более разнообразным и точным. LLaMA 3 и Mixtral 8x7b не имеют таких ограничений. При использовании таких моделей ИИ ответственность за ответственное использование ИИ лежит на разработчике. При необходимости ограничения могут быть реализованы путем создания правильной подсказки для чатбота, тонкой настройки собственного чатбота или фильтрации запросов пользователей до того, как они попадут в модель ИИ.
Генеративные модели ИИ, такие как GPT-4, ChatGPT, LLaMA 3 и Mixtral 8x7b, действительно подняли чат-боты и разговорный ИИ на новый уровень. Эти продвинутые модели очень хорошо понимают контекст и адаптируются к нему. В большинстве случаев достаточно задать правильный контекст, но для продвинутых случаев использования лучшим решением будет обучение/настройка собственной модели ИИ (что довольно просто, поскольку для этих моделей требуются очень маленькие наборы данных).
На NLP Cloud вы можете легко попробовать LLaMA 3 и Mixtral 8x7b среди прочих моделей. Вы также можете настроить их и развернуть свои собственные генеративные модели ИИ в один клик. Если вы еще не сделали этого, попробуйте NLP Cloud бесплатно.
Если у вас есть вопросы о том, как реализовать свой собственный чатбот, пожалуйста, обращайтесь к нам!
François