API Gateway para Plugins do ChatGPT

Bobur Umurzokov

Bobur Umurzokov

April 19, 2023

Technology

A OpenAI lançou recentemente uma nova versão do ChatGPT que agora permite plugins dentro do ChatGPT. Esses plugins podem ser adicionados diretamente ao chatbot, fornecendo acesso a uma ampla gama de conhecimentos e informações de seus parceiros de terceiros por meio de APIs. Os plugins do ChatGPT podem estender sua funcionalidade e aprimorar suas capacidades para acessar informações atualizadas, como pesquisar custos de viagens, descobrir informações sobre descontos ou ajudar a reservar voos e pedir comida. Você também pode criar seu próprio plugin que permite ao ChatGPT chamar seus dados de API de forma inteligente.

Sim, é isso mesmo! Para tornar seus dados acessíveis por meio de um plugin personalizado do ChatGPT, o ChatGTP exige que você crie uma nova API ou use uma existente que possa ser consultada e receber respostas. Em seguida, ele gera uma resposta amigável ao usuário combinando os dados da API e suas capacidades de linguagem natural. Nesse caso, o API Gateway pode ajudar a melhorar a segurança, usabilidade e eficiência. Este post explora como o API Gateway pode ser benéfico para desenvolvedores de plugins do ChatGPT para expor, proteger, gerenciar e monitorar seus endpoints de API.

De acordo com a OpenAI: O desenvolvedor do plugin escreve uma especificação para uma API usando o padrão OpenAPI que permite ao ChatGPT interagir com APIs definidas pelos desenvolvedores.

Objetivos de aprendizagem

Você aprenderá o seguinte ao longo do artigo:

  • Entender o papel do API Gateway na construção de uma API de Plugin do ChatGPT.
  • Como publicar, proteger, observar e aplicar outras preocupações transversais para a API do plugin.
  • Como usar o Apache APISIX (um API Gateway de código aberto) com Plugins do ChatGPT.

O Papel do API Gateway

Um API Gateway atua como a ponte entre o Plugin do ChatGPT e sua API, fornecendo uma interface padronizada para comunicação. Ele gerencia o acesso, a segurança e o desempenho da API, além de oferecer outros recursos transversais. Suponha que você queira criar um plugin do ChatGPT para informações de descontos em mercados da sua cidade, você pode ter diferentes APIs para mostrar novos produtos, os mercados mais próximos e as últimas ofertas. Nesse contexto, o API Gateway será uma camada adicional entre sua API e o plugin.

API Gateway Para Plugins do ChatGPT

Por exemplo, o API Gateway pode combinar o ChatGPT com outras APIs, como uma API de processamento de linguagem natural além da OpenAI ou uma API de tradução de outros provedores, permitindo que os clientes acessem vários serviços com um único plugin por meio de caminhos de URI personalizados e serviços upstream (vários servidores de API backend), encaminhando solicitações para a API apropriada e retornando a resposta ao ChatGPT.

Segurança aprimorada

Um dos papéis principais de um API Gateway no ChatGPT é lidar com autenticação e autorização. Isso envolve verificar a identidade do usuário de um plugin e determinar se ele tem as permissões necessárias para acessar a API do plugin. A OpenAI pode usar uma variedade de mecanismos de autenticação, como OAuth, chaves de API ou protocolos de autenticação personalizados, e passa as credenciais do usuário para o API Gateway. Em seguida, o API Gateway pode fazer a verificação de autenticação prontamente para verificar se o usuário está autenticado ou não. Você não precisa escrever nenhum código de implementação para esse processo de validação para cada API.

Essencialmente, os gateways de API servem como uma medida de segurança para proteger contra possíveis tentativas de hacking. O API Gateway restringe tipos específicos de solicitações, como bloquear solicitações POST não autorizadas para uma Rota específica, a menos que o remetente tenha privilégios apropriados ou inclua um cabeçalho específico na solicitação.

Digamos que uma empresa tenha uma API de comércio eletrônico que permite que os clientes façam pedidos via Plugin do ChatGPT. O API Gateway é configurado para bloquear solicitações POST para a Rota "fazer pedido", a menos que a solicitação inclua uma chave de API válida no cabeçalho da solicitação, que atua como um token de acesso privilegiado. Isso significa que apenas solicitações autenticadas e autorizadas com a chave de API correta serão permitidas para criar novos pedidos, enquanto solicitações não autorizadas serão bloqueadas, protegendo efetivamente contra tentativas maliciosas de fazer pedidos falsos ou manipular o sistema. Veja o resumo de outros recursos de segurança abaixo.

Limitação de taxa eficiente

Outro papel importante do API Gateway é lidar com a limitação de taxa. Isso garante que o plugin do ChatGPT não sobrecarregue a API com muitas solicitações de uma vez, o que pode impactar seu desempenho ou causar falhas. O API Gateway pode limitar o número de solicitações que um cliente pode fazer dentro de um determinado período de tempo e bloquear solicitações que excedam o limite.

Alto desempenho

O desempenho é outra área onde um API Gateway pode ajudar a melhorar o desempenho do Plugin do ChatGPT. Por exemplo, o API Gateway pode implementar cache para armazenar respostas frequentemente solicitadas e retorná-las rapidamente sem precisar consultar a API real. O API Gateway também pode lidar com a transformação de solicitação/resposta para converter solicitações recebidas em um formato (como converter solicitações REST para GraphQL) que sua API possa entender e transformar as respostas em um formato que o plugin possa consumir.

Monitoramento contínuo

Mesmo que a OpenAI afirme que o ChatGPT não usa dados enviados pelos clientes por meio de nossa API para treinar ou melhorar seus modelos, é importante habilitar recursos de observabilidade por muitos outros motivos. O API Gateway pode fornecer insights sobre como o plugin do ChatGPT está sendo usado, que tipo de dados está sendo compartilhado e identificar quaisquer problemas que precisam ser resolvidos, monitorando continuamente as solicitações feitas pelo seu plugin.

Como usar o Apache APISIX com Plugins do ChatGPT

Depois de entender por que o API Gateway desempenha um papel crucial na construção de Plugins do ChatGPT, vamos dar uma olhada em etapas simples sobre como usar o API Gateway Apache APISIX antes de compartilhar um novo plugin no ChatGPT. Existem muitos outros gateways de API no mercado, este post pode ajudá-lo a decidir qual se adapta às suas necessidades.

No momento da escrita deste post, o ChatGPT tem acesso restrito e, para obter acesso alfa à OpenAI, você precisa se inscrever em uma lista de espera de plugins do ChatGPT. Eles estarão priorizando desenvolvedores e usuários do ChatGPT Plus, antes de liberá-lo para o público em geral.

  • Instale e execute o Apache APISIX localmente em um ambiente de desenvolvimento ou em um servidor remoto (na nuvem). Se você executá-lo localmente, o APISIX pode ser acessado via http://localhost:9080
  • Configure uma rota e upstream para cada um de seus endpoints de API, seja solicitando a API Admin (que está em execução em http://localhost:9180) ou um painel de UI amigável. Você também pode importar uma especificação OpenAPI existente para registrar automaticamente rotas e upstream.
  • Você habilita alguns recursos do API Gateway, como autenticação, limitação de taxa e observabilidade, usando plugins do APISIX.
  • Você exporta a especificação OpenAPI atualizada para usar no ChatGPT. Faça as alterações necessárias no documento resultante YAML/JSON. Coloque este arquivo em algum lugar no servidor APISIX por meio de outra rota para que o ChatGPT possa encontrá-lo neste caminho /openapi.yaml, como [http://localhost:9080/openapi.yaml](http://localhost:9080/openapi.yaml). Esta especificação é compilada em um prompt, que explica ao ChatGPT como ele pode usar a API para aprimorar suas respostas. Pense em um prompt detalhado, incluindo uma descrição de cada endpoint disponível.
  • Outras etapas, como definir um arquivo de manifesto, executar um plugin e escrever descrições, são praticamente as mesmas já bem documentadas na documentação oficial da OpenAI. Quando você conectar o plugin via a interface do ChatGPT e executar o plugin, certifique-se de que o endereço do domínio aponte para o API Gateway do APISIX.
  • Finalmente, o usuário faz novas perguntas habilitando o plugin na interface do ChatGPT. Se o ChatGPT decidir que deve buscar informações da API, ele fará a solicitação ao API Gateway e a adicionará ao contexto antes de tentar responder.

Resumo de segurança de API para plugin do ChatGPT

Veja este resumo das ofertas do API Gateway para proteger a API para o Plugin do ChatGPT:

  • Protocolos de Autenticação: Com o API Gateway, você pode escolher um protocolo de autenticação robusto e seguro, como OAuth 2.0 ou JSON Web Tokens (JWT), para autenticar solicitações de API.
  • Autenticação de Dois Fatores (2FA): Você pode implementar 2FA por meio da integração com vários provedores de identidade, o que pode adicionar uma camada extra de segurança à autenticação da API.
  • Gerenciamento Seguro de Tokens: Você pode armazenar tokens com segurança evitando armazená-los em aplicativos do lado do cliente ou em locais inseguros, como cookies do lado do cliente ou armazenamento local.
  • Controle de Acesso Baseado em Funções (RBAC): Você pode habilitar o RBAC para controlar as permissões e ações que diferentes usuários ou aplicativos podem realizar dentro da API do Plugin do ChatGPT.
  • Segurança da Camada de Transporte (TLS): A API tem uma opção de TLS para criptografar a comunicação entre clientes e servidores pela rede.
  • Limitação de Taxa de API: O API Gateway fornece mecanismos de limitação de taxa para prevenir abuso ou uso indevido da API do Plugin do ChatGPT.
  • Registro e Auditoria: Você pode usar o API Gateway com outras plataformas de observabilidade para mecanismos abrangentes de registro e auditoria para rastrear e monitorar solicitações e respostas da API.

Conclusão

A introdução da integração de plugins ao ChatGPT é uma atualização para a OpenAI. Além disso, é uma mudança importante no campo da IA voltada para o usuário para o modelo GPT. O API Gateway fornece uma interface de comunicação de alto desempenho para expor sua API com segurança, juntamente com segurança, políticas de limitação de taxa, métodos de autenticação e monitoramento. Sem um API Gateway, o ChatGPT seria muito mais difícil de integrar a outros sistemas, e os clientes precisariam gerenciar autenticação, limitação de taxa e outros recursos por conta própria.

Conteúdo recomendado

Tags: