API Gateway для ChatGPT Plugins
April 19, 2023
OpenAI недавно выпустила новую версию ChatGPT, которая теперь позволяет использовать плагины внутри ChatGPT. Эти плагины можно добавлять непосредственно в чат-бот, предоставляя ему доступ к широкому спектру знаний и информации от сторонних партнеров через API. Плагины ChatGPT могут расширять его функциональность и улучшать возможности доступа к актуальной информации, такой как исследование стоимости путешествий, поиск информации о скидках или помощь в бронировании авиабилетов и заказе еды. Вы также можете создать собственный плагин, который позволит ChatGPT интеллектуально вызывать данные вашего API.
Да, это так! Чтобы сделать ваши данные доступными через пользовательский плагин ChatGPT, ChatGTP требует, чтобы вы создали новый API или использовали существующий, который можно использовать для запроса данных и получения ответов. Затем он генерирует удобный для пользователя ответ, объединяя данные API и свои возможности обработки естественного языка. В этом случае API Gateway может помочь улучшить безопасность, удобство использования и эффективность. В этой статье рассматривается, как API Gateway может быть полезен разработчикам плагинов ChatGPT для предоставления, защиты, управления и мониторинга их конечных точек API.
Согласно OpenAI: Разработчик плагина пишет спецификацию для API с использованием стандарта OpenAPI, что позволяет ChatGPT взаимодействовать с API, определенными разработчиками.
Цели обучения
В этой статье вы узнаете следующее:
- Понимание роли API Gateway в создании API для плагинов ChatGPT.
- Как публиковать, защищать, наблюдать и применять другие сквозные функции для API плагина.
- Как использовать Apache APISIX (открытый API Gateway) с плагинами ChatGPT.
Роль API Gateway
API Gateway выступает в качестве моста между плагином ChatGPT и вашим API, предоставляя стандартизированный интерфейс для общения. Он управляет доступом к API, безопасностью и производительностью, а также предлагает другие сквозные функции. Предположим, вы хотите создать плагин ChatGPT для получения информации о скидках в магазинах вашего города, у вас могут быть разные API для отображения новых продуктов, ближайших магазинов и последних предложений. В этом контексте API Gateway будет дополнительным слоем между вашим API и плагином.

Например, API Gateway может объединить ChatGPT с другими API, такими как API обработки естественного языка, отличный от OpenAI, или API перевода от других поставщиков, позволяя клиентам получать доступ к нескольким сервисам через один плагин с использованием пользовательских URI-путей и вышестоящих сервисов (несколько серверов API), маршрутизируя запросы к соответствующему API и возвращая ответ обратно в ChatGPT.
Улучшенная безопасность
Одной из основных ролей API Gateway в ChatGPT является обработка аутентификации и авторизации. Это включает проверку личности пользователя плагина и определение, имеет ли он необходимые права доступа к API через плагин. OpenAI может использовать различные механизмы аутентификации, такие как OAuth, API-ключи или пользовательские протоколы аутентификации, и передает учетные данные пользователя в API Gateway. Затем API Gateway может выполнить проверку аутентификации, чтобы убедиться, что пользователь аутентифицирован. Вам не нужно писать код для реализации этого процесса проверки для каждого API.
По сути, API Gateway служит мерой безопасности для защиты от потенциальных хакерских атак. API Gateway ограничивает определенные типы запросов, например, блокирует несанкционированные POST-запросы к определенному маршруту, если отправитель не имеет соответствующих привилегий или не включает определенный заголовок в запрос.
Предположим, у компании есть API для электронной коммерции, который позволяет клиентам размещать заказы через плагин ChatGPT. API Gateway настроен на блокировку POST-запросов к маршруту "разместить заказ", если запрос не включает действительный API-ключ в заголовке запроса, который действует как токен привилегированного доступа. Это означает, что только аутентифицированные и авторизованные запросы с правильным API-ключом будут разрешены для создания новых заказов, в то время как несанкционированные запросы будут заблокированы, что эффективно защищает от потенциальных злонамеренных попыток размещения поддельных заказов или манипуляции с системой. Смотрите сводку других функций безопасности ниже.
Эффективное ограничение скорости
Другой важной ролью API Gateway является обработка ограничения скорости. Это гарантирует, что плагин ChatGPT не перегружает API слишком большим количеством запросов одновременно, что может повлиять на его производительность или вызвать сбой. API Gateway может ограничивать количество запросов, которые клиент может сделать в течение определенного периода времени, и блокировать запросы, превышающие лимит.
Высокая производительность
Производительность — это еще одна область, где API Gateway может помочь улучшить производительность плагина ChatGPT. Например, API Gateway может реализовать кэширование для хранения часто запрашиваемых ответов и быстрого их возврата без необходимости запрашивать фактический API. API Gateway также может обрабатывать преобразование запросов/ответов, чтобы преобразовать входящие запросы в формат (например, преобразование REST-запросов в GraphQL), который ваш API может понять, и преобразовать ответы в формат, который может использовать плагин.
Непрерывный мониторинг
Даже если OpenAI заявляет, что ChatGPT не использует данные, отправленные клиентами через их API для обучения или улучшения своих моделей, важно включить функции наблюдаемости по многим другим причинам. API Gateway может предоставить информацию о том, как используется плагин ChatGPT, какие данные передаются, и выявить любые проблемы, которые необходимо решить, путем непрерывного мониторинга запросов, сделанных вашим плагином.
Как использовать Apache APISIX с плагинами ChatGPT
После того как мы поняли, почему API Gateway играет важную роль в создании плагинов ChatGPT, давайте рассмотрим простые шаги по использованию Apache APISIX API Gateway перед тем, как поделиться новым плагином в ChatGPT. На рынке есть много других API Gateway, эта статья может помочь вам решить, какой из них подходит вашим потребностям.
На момент написания этого блога доступ к ChatGPT ограничен, и для получения альфа-доступа к OpenAI необходимо зарегистрироваться в списке ожидания плагинов ChatGPT. Они будут отдавать приоритет разработчикам и пользователям ChatGPT Plus, прежде чем выпустить его для широкой публики.
- Установите и запустите Apache APISIX локально в среде разработки или на удаленном сервере (в облаке). Если вы запускаете его локально, APISIX можно получить через http://localhost:9080.
- Настройте маршрут и вышестоящий сервис для каждой из ваших конечных точек API, будь то запрос к Admin API (он работает на http://localhost:9180) или удобный UI-интерфейс. Вы также можете импортировать существующую спецификацию OpenAPI для автоматической регистрации маршрутов и вышестоящих сервисов.
- Включите некоторые функции API Gateway, такие как аутентификация, ограничение скорости и наблюдаемость, используя плагины APISIX.
- Экспортируйте обновленную спецификацию OpenAPI для использования в ChatGPT. Внесите необходимые изменения в итоговый документ
YAML/JSON. Разместите этот файл где-нибудь на сервере APISIX через другой маршрут, чтобы ChatGPT мог найти его по пути/openapi.yaml, например[http://localhost:9080/openapi.yaml](http://localhost:9080/openapi.yaml).Эта спецификация компилируется в подсказку, которая объясняет ChatGPT, как он может использовать API для улучшения своих ответов. Подумайте о подробной подсказке, включая описание каждой доступной конечной точки. - Другие шаги, такие как определение файла манифеста, запуск плагина и написание описаний, практически такие же, как это уже хорошо документировано в официальной документации OpenAI. Когда вы подключаете плагин через интерфейс ChatGPT и запускаете его, убедитесь, что доменный адрес указывает на API Gateway APISIX.
- Наконец, пользователь задает новые вопросы, включив плагин в интерфейсе ChatGPT. Если ChatGPT решит, что ему нужно получить информацию из API, он сделает запрос к API Gateway и добавит его в контекст, прежде чем попытаться ответить.
Сводка по безопасности API для плагина ChatGPT
Взгляните на сводку предложений API Gateway для защиты API плагина ChatGPT:
- Протоколы аутентификации: С API Gateway вы можете выбрать надежный и безопасный протокол аутентификации, такой как OAuth 2.0 или JSON Web Tokens (JWT), для аутентификации запросов API.
- Двухфакторная аутентификация (2FA): Вы можете реализовать 2FA через интеграцию с различными поставщиками идентификации, что может добавить дополнительный уровень безопасности к аутентификации API.
- Безопасное управление токенами: Вы можете безопасно хранить токены, избегая их хранения в клиентских приложениях или в небезопасных местах, таких как клиентские куки или локальное хранилище.
- Ролевое управление доступом (RBAC): Вы можете включить RBAC для управления разрешениями и действиями, которые могут выполнять разные пользователи или приложения в API плагина ChatGPT.
- Защита транспортного уровня (TLS): API имеет опцию TLS для шифрования связи между клиентами и серверами по сети.
- Ограничение скорости API: API Gateway предоставляет механизмы ограничения скорости для предотвращения злоупотребления или неправильного использования API плагина ChatGPT.
- Логирование и аудит: Вы можете использовать API Gateway с другими платформами наблюдаемости для комплексного логирования и аудита, чтобы отслеживать и мониторить запросы и ответы API.
Заключение
Введение интеграции плагинов в ChatGPT — это обновление для OpenAI. Это также важное изменение в области пользовательского ИИ для модели GPT. API Gateway предоставляет производительный интерфейс для общения, чтобы безопасно предоставлять ваш API, а также обеспечивает безопасность, политики ограничения скорости, методы аутентификации и мониторинг. Без API Gateway интеграция ChatGPT с другими системами была бы намного сложнее, и клиентам пришлось бы самостоятельно управлять аутентификацией, ограничением скорости и другими функциями.