(Нажмите на изображение выше, чтобы посмотреть видео урока)
Теперь, когда мы рассмотрели, как создавать приложения для генерации текста, давайте углубимся в создание чат-приложений.
Чат-приложения стали неотъемлемой частью нашей повседневной жизни, предлагая больше, чем просто средство для случайного общения. Они играют важную роль в обслуживании клиентов, технической поддержке и даже в сложных консультационных системах. Скорее всего, вы недавно обращались за помощью к чат-приложению. С внедрением более продвинутых технологий, таких как генеративный ИИ, сложность этих платформ возрастает, как и вызовы, связанные с их разработкой.
Некоторые вопросы, которые необходимо решить:
- Создание приложения. Как эффективно разработать и интегрировать эти приложения с поддержкой ИИ для конкретных задач?
- Мониторинг. После развертывания, как можно отслеживать и обеспечивать работу приложений на самом высоком уровне качества, как с точки зрения функциональности, так и соблюдения шести принципов ответственного ИИ?
В эпоху, определяемую автоматизацией и бесшовным взаимодействием человека и машины, понимание того, как генеративный ИИ трансформирует масштаб, глубину и адаптивность чат-приложений, становится необходимым. Этот урок исследует аспекты архитектуры, поддерживающей эти сложные системы, методы их настройки для выполнения задач в конкретных областях, а также метрики и соображения, важные для обеспечения ответственного развертывания ИИ.
Этот урок охватывает:
- Техники эффективного создания и интеграции чат-приложений.
- Применение настройки и тонкой настройки приложений.
- Стратегии и соображения для эффективного мониторинга чат-приложений.
К концу этого урока вы сможете:
- Описать соображения при создании и интеграции чат-приложений в существующие системы.
- Настраивать чат-приложения для конкретных задач.
- Определять ключевые метрики и соображения для эффективного мониторинга и поддержания качества чат-приложений с поддержкой ИИ.
- Обеспечивать ответственное использование ИИ в чат-приложениях.
Повышение уровня чат-приложений с помощью генеративного ИИ заключается не только в их "умности", но и в оптимизации их архитектуры, производительности и пользовательского интерфейса для обеспечения качественного пользовательского опыта. Это включает изучение архитектурных основ, интеграции API и соображений пользовательского интерфейса. Этот раздел предлагает вам комплексный план для навигации по этим сложным аспектам, будь то интеграция в существующие системы или создание автономных платформ.
К концу этого раздела вы будете обладать знаниями, необходимыми для эффективного создания и интеграции чат-приложений.
Прежде чем углубляться в создание чат-приложений, давайте сравним "чат-ботов" и "чат-приложения с поддержкой ИИ", которые выполняют разные роли и функции. Основная цель чат-бота — автоматизация конкретных задач общения, таких как ответы на часто задаваемые вопросы или отслеживание посылки. Обычно он управляется логикой, основанной на правилах, или сложными алгоритмами ИИ. В отличие от этого, чат-приложение с поддержкой ИИ — это гораздо более обширная среда, предназначенная для различных форм цифрового общения, таких как текстовые, голосовые и видеочаты между пользователями. Его отличительная черта — интеграция генеративной модели ИИ, которая имитирует тонкие, похожие на человеческие разговоры, генерируя ответы на основе широкого спектра ввода и контекстных подсказок. Чат-приложение с поддержкой генеративного ИИ может вести открытые дискуссии, адаптироваться к изменяющимся контекстам общения и даже создавать творческие или сложные диалоги.
Таблица ниже описывает ключевые различия и сходства, чтобы помочь нам понять их уникальные роли в цифровом общении.
| Чат-бот | Чат-приложение с поддержкой генеративного ИИ |
|---|---|
| Ориентирован на задачи, основан на правилах | Учитывает контекст |
| Часто интегрирован в более крупные системы | Может содержать один или несколько чат-ботов |
| Ограничен запрограммированными функциями | Включает модели генеративного ИИ |
| Специализированные и структурированные взаимодействия | Способен вести открытые дискуссии |
При создании чат-приложения хорошим первым шагом будет оценка уже существующих решений. Использование SDK и API для создания чат-приложений — это выгодная стратегия по нескольким причинам. Интеграция хорошо документированных SDK и API позволяет стратегически позиционировать ваше приложение для долгосрочного успеха, решая вопросы масштабируемости и обслуживания.
- Ускоряет процесс разработки и снижает затраты: Использование готовых функций вместо дорогостоящего процесса их самостоятельной разработки позволяет сосредоточиться на других аспектах вашего приложения, таких как бизнес-логика.
- Улучшенная производительность: При создании функционала с нуля рано или поздно возникает вопрос: "Как это будет масштабироваться? Сможет ли приложение справиться с внезапным наплывом пользователей?" Хорошо поддерживаемые SDK и API часто имеют встроенные решения для этих вопросов.
- Упрощенное обслуживание: Обновления и улучшения проще в управлении, так как большинство API и SDK требуют лишь обновления библиотеки при выпуске новой версии.
- Доступ к передовым технологиям: Использование моделей, которые были тонко настроены и обучены на обширных наборах данных, предоставляет вашему приложению возможности обработки естественного языка.
Доступ к функционалу SDK или API обычно требует разрешения на использование предоставляемых услуг, что часто осуществляется через уникальный ключ или токен аутентификации. Мы будем использовать библиотеку OpenAI Python для изучения того, как это выглядит. Вы также можете попробовать это самостоятельно в следующем ноутбуке для OpenAI или ноутбуке для Azure OpenAI Services для этого урока.
import os
from openai import OpenAI
API_KEY = os.getenv("OPENAI_API_KEY","")
client = OpenAI(
api_key=API_KEY
)
chat_completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Suggest two titles for an instructional lesson on chat applications for generative AI."}])В приведенном выше примере используется модель GPT-3.5 Turbo для завершения запроса, но обратите внимание, что ключ API устанавливается перед выполнением запроса. Если вы не установите ключ, то получите ошибку.
Общие принципы UX применимы к чат-приложениям, но есть дополнительные аспекты, которые становятся особенно важными из-за компонентов машинного обучения.
- Механизм устранения неоднозначности: Модели генеративного ИИ иногда создают неоднозначные ответы. Функция, позволяющая пользователям запросить уточнение, может быть полезной в таких случаях.
- Сохранение контекста: Продвинутые модели генеративного ИИ способны запоминать контекст в рамках разговора, что может быть необходимым для улучшения пользовательского опыта. Предоставление пользователям возможности управлять контекстом улучшает взаимодействие, но также создает риск сохранения конфиденциальной информации. Установление политики хранения данных может помочь сбалансировать необходимость сохранения контекста и защиту конфиденциальности.
- Персонализация: Благодаря способности обучаться и адаптироваться, модели ИИ предлагают индивидуализированный опыт для пользователя. Настройка пользовательского опыта через такие функции, как профили пользователей, не только помогает пользователю чувствовать себя понятым, но и облегчает поиск конкретных ответов, создавая более эффективное и удовлетворительное взаимодействие.
Одним из примеров персонализации является настройка "Пользовательские инструкции" в ChatGPT от OpenAI. Она позволяет предоставлять информацию о себе, которая может быть важным контекстом для ваших запросов. Вот пример пользовательской инструкции.
Этот "профиль" побуждает ChatGPT создать план урока по связным спискам. Обратите внимание, что ChatGPT учитывает, что пользователь может хотеть более углубленный план урока, основываясь на ее опыте.
Microsoft предоставила рекомендации по написанию эффективных системных сообщений для генерации ответов от больших языковых моделей, разделенные на 4 области:
- Определение, для кого предназначена модель, а также ее возможностей и ограничений.
- Определение формата вывода модели.
- Предоставление конкретных примеров, демонстрирующих желаемое поведение модели.
- Установление дополнительных ограничений поведения.
Независимо от того, есть ли у пользователя нарушения зрения, слуха, моторики или когнитивные нарушения, хорошо разработанное чат-приложение должно быть доступным для всех. В следующем списке представлены конкретные функции, направленные на улучшение доступности для пользователей с различными нарушениями.
- Функции для людей с нарушением зрения: Темы с высоким контрастом и возможность изменения размера текста, совместимость с экранными читалками.
- Функции для людей с нарушением слуха: Функции преобразования текста в речь и речи в текст, визуальные сигналы для аудиоуведомлений.
- Функции для людей с нарушением моторики: Поддержка навигации с помощью клавиатуры, голосовые команды.
- Функции для людей с когнитивными нарушениями: Упрощенные языковые опции.
Представьте себе чат-приложение, которое понимает профессиональный жаргон вашей компании и предугадывает специфические запросы, которые часто возникают у пользователей. Существует несколько подходов, которые стоит рассмотреть:
- Использование моделей DSL. DSL означает язык, специфичный для области. Вы можете использовать так называемую модель DSL, обученную на определенной области, чтобы понимать ее концепции и сценарии.
- Применение тонкой настройки. Тонкая настройка — это процесс дополнительного обучения вашей модели с использованием специфических данных.
Использование моделей языка, специфичных для области (DSL Models), может повысить вовлеченность пользователей, предоставляя специализированные, контекстно релевантные взаимодействия. Это модель, которая обучена или тонко настроена для понимания и генерации текста, связанного с определенной областью, отраслью или темой. Варианты использования модели DSL могут варьироваться от обучения с нуля до использования уже существующих моделей через SDK и API. Еще один вариант — тонкая настройка, которая включает адаптацию существующей предварительно обученной модели для конкретной области.
Тонкая настройка часто рассматривается, когда предварительно обученная модель не справляется с задачами в специализированной области.
Например, медицинские запросы сложны и требуют большого контекста. Когда медицинский специалист ставит диагноз пациенту, он основывается на различных факторах, таких как образ жизни или существующие заболевания, и может даже полагаться на последние медицинские исследования для подтверждения своего диагноза. В таких сложных сценариях универсальное чат-приложение на основе ИИ не может быть надежным источником.
Рассмотрим чат-приложение, предназначенное для помощи медицинским работникам, предоставляя быстрые ссылки на руководства по лечению, взаимодействие лекарств или последние исследования.
Универсальная модель может быть достаточной для ответа на базовые медицинские вопросы или предоставления общих советов, но она может столкнуться с трудностями в следующих случаях:
- Очень специфические или сложные случаи. Например, невролог может спросить приложение: "Какие текущие лучшие практики для лечения лекарственно-устойчивой эпилепсии у детей?"
- Отсутствие последних достижений. Универсальная модель может испытывать трудности с предоставлением актуального ответа, который включает последние достижения в области неврологии и фармакологии.
В таких случаях тонкая настройка модели с использованием специализированного медицинского набора данных может значительно улучшить ее способность справляться с этими сложными медицинскими запросами более точно и надежно. Это требует доступа к большому и релевантному набору данных, который представляет собой задачи и вопросы, специфичные для данной области.
В этом разделе описаны критерии "высококачественных" чат-приложений, включая сбор данных о ключевых метриках и соблюдение рамок, которые обеспечивают ответственное использование технологий ИИ.
Для поддержания высокого качества работы приложения важно отслеживать ключевые метрики и учитывать важные аспекты. Эти измерения не только обеспечивают функциональность приложения, но и оценивают качество модели ИИ и пользовательского опыта. Ниже приведен список основных метрик, связанных с ИИ и пользовательским опытом, которые стоит учитывать.
| Метрика | Определение | Соображения для разработчика чата |
|---|---|---|
| Доступность | Измеряет время, в течение которого приложение работает и доступно для пользователей. | Как вы минимизируете время простоя? |
| Время ответа | Время, которое приложение затрачивает на ответ на запрос пользователя. | Как можно оптимизировать обработку запросов для улучшения времени ответа? |
| Точность | Соотношение истинно положительных предсказаний к общему числу положительных предсказаний. | Как вы будете проверять точность вашей модели? |
| Полнота (чувствительность) | Соотношение истинно положительных предсказаний к фактическому числу положительных случаев. | Как вы будете измерять и улучшать полноту? |
| F1 Score | Гармоническое среднее точности и полноты, которое балансирует компромисс между ними. | Какой ваш целевой F1 Score? Как вы будете балансировать точность и полноту? |
| Перплексия | Измеряет, насколько хорошо распределение вероятностей, предсказанное моделью, соответствует реальному распределению данных. | Как вы будете минимизировать перплексию? |
| Метрики удовлетворенности пользователей | Измеряет восприятие приложения пользователем. Часто собирается через опросы. | Как часто вы будете собирать отзывы пользователей? Как будете адаптироваться на их основе? |
| Уровень ошибок | Частота, с которой модель допускает ошибки в понимании или выводе. | Какие стратегии у вас есть для снижения уровня ошибок? |
| Циклы переобучения | Частота, с которой модель обновляется для включения новых данных и идей. | Как часто вы будете переобучать модель? Что запускает цикл переобучения? |
| Обнаружение аномалий | Инструменты и методы для выявления необычных шаблонов, которые не соответствуют ожидаемому поведению. | Как вы будете реагировать на аномалии? |
Подход Microsoft к ответственному ИИ определил шесть принципов, которые должны направлять разработку и использование ИИ. Ниже приведены принципы, их определения, а также то, что должен учитывать разработчик чатов и почему это важно.
| Принципы | Определение Microsoft | Что учитывать разработчику чатов | Почему это важно |
|---|---|---|---|
| Справедливость | Системы ИИ должны относиться ко всем людям справедливо. | Убедитесь, что чат-приложение не дискриминирует на основе данных пользователей. | Для создания доверия и инклюзивности среди пользователей; избегает юридических последствий. |
| Надежность и безопасность | Системы ИИ должны работать надежно и безопасно. | Реализуйте тестирование и механизмы защиты для минимизации ошибок и рисков. | Обеспечивает удовлетворенность пользователей и предотвращает потенциальный вред. |
| Конфиденциальность и безопасность | Системы ИИ должны быть безопасными и уважать конфиденциальность. | Реализуйте сильное шифрование и меры защиты данных. | Для защиты конфиденциальных данных пользователей и соблюдения законов о конфиденциальности. |
| Инклюзивность | Системы ИИ должны давать возможность всем и вовлекать людей. | Разработайте интерфейс, доступный и удобный для разнообразной аудитории. | Обеспечивает возможность использования приложения для более широкого круга людей. |
| Прозрачность | Системы ИИ должны быть понятными. | Предоставьте четкую документацию и объяснения для ответов ИИ. | Пользователи с большей вероятностью будут доверять системе, если поймут, как принимаются решения. |
| Ответственность | Люди должны нести ответственность за системы ИИ. | Установите четкий процесс аудита и улучшения решений ИИ. | Обеспечивает постоянное совершенствование и возможность исправления ошибок. |
См. задание. Оно проведет вас через серию упражнений: от запуска первых запросов в чате до классификации и суммирования текста и многого другого. Обратите внимание, что задания доступны на разных языках программирования!
После завершения этого урока ознакомьтесь с нашей коллекцией обучения генеративному ИИ, чтобы продолжить углублять свои знания о генеративном ИИ!
Перейдите к уроку 8, чтобы узнать, как начать создавать поисковые приложения!
Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.


