0% acharam este documento útil (0 voto)
40 visualizações7 páginas

Prompt Engineering - OpenAI API - 2

Este guia apresenta melhores práticas para a transição de projetos de IA do protótipo para a produção, abordando aspectos como segurança, gerenciamento de limites de cobrança e escalabilidade da arquitetura. Ele também discute a importância de uma estratégia de MLOps e a conformidade com requisitos de segurança, além de considerar a gestão de custos associados ao uso da API da OpenAI. O documento serve como um recurso abrangente para engenheiros e entusiastas que buscam implantar aplicativos de IA de maneira eficaz.

Enviado por

anasvendas10
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
40 visualizações7 páginas

Prompt Engineering - OpenAI API - 2

Este guia apresenta melhores práticas para a transição de projetos de IA do protótipo para a produção, abordando aspectos como segurança, gerenciamento de limites de cobrança e escalabilidade da arquitetura. Ele também discute a importância de uma estratégia de MLOps e a conformidade com requisitos de segurança, além de considerar a gestão de custos associados ao uso da API da OpenAI. O documento serve como um recurso abrangente para engenheiros e entusiastas que buscam implantar aplicativos de IA de maneira eficaz.

Enviado por

anasvendas10
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Melhores práticas de produção Copiar página

Transite projetos de IA para produção com as melhores práticas.

Este guia fornece um conjunto abrangente de melhores práticas para ajudar você a fazer a transição
do protótipo para a produção. Seja você um engenheiro experiente em aprendizado de máquina ou
um entusiasta recente, este guia deve fornecer as ferramentas necessárias para colocar a
plataforma para funcionar com sucesso em um ambiente de produção: desde proteger o acesso à
nossa API até projetar uma arquitetura robusta que possa lidar com altos volumes de tráfego. Use
este guia para ajudar a desenvolver um plano para implantar seu aplicativo da forma mais suave e
eficaz possível.

Se você quiser explorar as melhores práticas para avançar ainda mais na produção, confira nossa
palestra do Developer Day:

Configurando sua organização


Depois de fazer login na sua conta OpenAI, você pode encontrar o nome e o ID da sua organização
nas configurações da sua organização . O nome da organização é o rótulo da sua organização,
mostrado nas interfaces do usuário. O ID da organização é o identificador exclusivo da sua
organização que pode ser usado em solicitações de API.

Usuários que pertencem a várias organizações podem passar um cabeçalho para especificar qual
organização é usada para uma solicitação de API. O uso dessas solicitações de API contará contra a
cota da organização especificada. Se nenhum cabeçalho for fornecido, a organização padrão será
cobrada. Você pode alterar sua organização padrão nas configurações do usuário .

Você pode convidar novos membros para sua organização a partir da página Equipe . Os membros
podem ser leitores ou proprietários .

Leitores:

Pode fazer solicitações de API.


Pode visualizar informações básicas da organização.
Pode criar, atualizar e excluir recursos (como Assistentes) na organização, salvo indicação em
contrário.

Proprietários:

Tenha todas as permissões dos leitores.


Pode modificar informações de cobrança.
Pode gerenciar membros dentro da organização.

Gerenciando limites de cobrança


Para começar a usar a OpenAI API, insira suas informações de cobrança . Se nenhuma informação
de cobrança for inserida, você ainda terá acesso de login, mas não poderá fazer solicitações de API.

Depois de inserir suas informações de cobrança, você terá um limite de uso aprovado de US$ 100
por mês, definido pela OpenAI. Seu limite de cota aumentará automaticamente conforme seu uso na
plataforma aumentar e você passar de um nível de uso para outro. Você pode revisar seu limite de
uso atual na página de limites nas configurações da sua conta.

Se você quiser ser notificado quando seu uso exceder um determinado valor em dólares, você pode
definir um limite de notificação por meio da página de limites de uso . Quando o limite de notificação
for atingido, os proprietários da organização receberão uma notificação por e-mail. Você também
pode definir um orçamento mensal para que, uma vez atingido o orçamento mensal, quaisquer
solicitações de API subsequentes sejam rejeitadas. Observe que esses limites são de melhor
esforço, e pode haver de 5 a 10 minutos de atraso entre o uso e os limites sendo aplicados.

Chaves de API
A API OpenAI usa chaves de API para autenticação. Visite sua página de chaves de API para
recuperar a chave de API que você usará em suas solicitações.

Esta é uma maneira relativamente direta de controlar o acesso, mas você deve estar atento sobre
como proteger essas chaves. Evite expor as chaves de API em seu código ou em repositórios
públicos; em vez disso, armazene-as em um local seguro. Você deve expor suas chaves para seu
aplicativo usando variáveis ​de ambiente ou serviço de gerenciamento secreto, para que não precise
codificá-las em sua base de código. Leia mais em nossas Melhores práticas para segurança de
chaves de API .

O uso da chave de API pode ser monitorado na página Uso quando o rastreamento estiver
habilitado. Se você estiver usando uma chave de API gerada antes de 20 de dezembro de 2023, o
rastreamento não será habilitado por padrão. Você pode habilitar o rastreamento daqui para frente
no painel de gerenciamento de chaves de API . Todas as chaves de API geradas depois de 20 de
dezembro de 2023 têm o rastreamento habilitado. Qualquer uso anterior não rastreado será exibido
como Untracked no painel.

Projetos de encenação
À medida que você escala, pode ser que você queira criar projetos separados para seus ambientes
de produção e preparação. Você pode criar esses projetos no painel, permitindo que você isole seu
trabalho de desenvolvimento e teste, para que você não interrompa acidentalmente seu aplicativo
ativo. Você também pode limitar o acesso do usuário ao seu projeto de produção e definir limites
personalizados de taxa e gasto por projeto.

Escalando a arquitetura da sua solução


Ao projetar seu aplicativo ou serviço para produção que usa nossa API, é importante considerar
como você irá escalar para atender às demandas de tráfego. Existem algumas áreas-chave que
você precisará considerar, independentemente do provedor de serviços de nuvem de sua escolha:

Escala horizontal : você pode querer escalar seu aplicativo horizontalmente para acomodar
solicitações ao seu aplicativo que vêm de várias fontes. Isso pode envolver a implantação de
servidores ou contêineres adicionais para distribuir a carga. Se você optar por esse tipo de
escala, certifique-se de que sua arquitetura seja projetada para lidar com vários nós e que você
tenha mecanismos em vigor para balancear a carga entre eles.
Escala vertical : Outra opção é escalar seu aplicativo verticalmente, o que significa que você
pode reforçar os recursos disponíveis para um único nó. Isso envolveria atualizar as
capacidades do seu servidor para lidar com a carga adicional. Se você optar por esse tipo de
escala, certifique-se de que seu aplicativo seja projetado para aproveitar esses recursos
adicionais.
Caching : Ao armazenar dados acessados ​com frequência, você pode melhorar os tempos de
resposta sem precisar fazer chamadas repetidas para nossa API. Seu aplicativo precisará ser
projetado para usar dados em cache sempre que possível e invalidar o cache quando novas
informações forem adicionadas. Existem algumas maneiras diferentes de fazer isso. Por
exemplo, você pode armazenar dados em um banco de dados, sistema de arquivos ou cache
na memória, dependendo do que fizer mais sentido para seu aplicativo.
Balanceamento de carga : Por fim, considere técnicas de balanceamento de carga para garantir
que as solicitações sejam distribuídas uniformemente entre seus servidores disponíveis. Isso
pode envolver o uso de um balanceador de carga na frente de seus servidores ou o uso de DNS
round-robin. O balanceamento da carga ajudará a melhorar o desempenho e reduzir gargalos.

Gerenciando limites de taxa


Ao usar nossa API, é importante entender e planejar os limites de taxa .

Melhorando latências

Confira nosso guia mais atualizado sobre otimização de latência .

Latência é o tempo que leva para uma solicitação ser processada e uma resposta ser retornada.
Nesta seção, discutiremos alguns fatores que influenciam a latência dos nossos modelos de geração
de texto e forneceremos sugestões sobre como reduzi-la.

A latência de uma solicitação de conclusão é influenciada principalmente por dois fatores: o modelo
e o número de tokens gerados. O ciclo de vida de uma solicitação de conclusão se parece com isso:

Rede Latência do usuário final para a API

Servidor Tempo para processar tokens de prompt

Servidor Hora de amostrar/gerar tokens

Rede API para latência do usuário final


A maior parte da latência normalmente surge da etapa de geração de tokens.

Intuição : Tokens de prompt adicionam muito pouca latência a chamadas de conclusão. O tempo
para gerar tokens de conclusão é muito maior, pois os tokens são gerados um de cada vez.
Comprimentos de geração mais longos acumularão latência devido à geração necessária para
cada token.

Fatores comuns que afetam a latência e possíveis técnicas de mitigação


Agora que vimos os conceitos básicos da latência, vamos dar uma olhada em vários fatores que
podem afetar a latência, ordenados do mais impactante ao menos impactante.

Modelo
Nossa API oferece diferentes modelos com níveis variados de complexidade e generalidade. Os
modelos mais capazes, como gpt-4 , podem gerar conclusões mais complexas e diversas, mas
também levam mais tempo para processar sua consulta. Modelos como gpt-4o-mini , podem gerar
conclusões de bate-papo mais rápidas e baratas, mas podem gerar resultados menos precisos ou
relevantes para sua consulta. Você pode escolher o modelo que melhor se adapta ao seu caso de
uso e ao trade-off entre velocidade, custo e qualidade.

Número de tokens de conclusão


Solicitar uma grande quantidade de conclusões de tokens gerados pode levar ao aumento de
latências:

Tokens máximos mais baixos : para solicitações com uma contagem de geração de tokens
semelhante, aqueles que têm um max_tokens parâmetro menor incorrem em menos latência.

Incluir sequências de parada : para evitar a geração de tokens desnecessários, adicione uma
sequência de parada. Por exemplo, você pode usar sequências de parada para gerar uma lista
com um número específico de itens. Neste caso, usando 11. como sequência de parada, você
pode gerar uma lista com apenas 10 itens, já que a conclusão será interrompida quando 11. for
alcançada. Leia nosso artigo de ajuda sobre sequências de parada para mais contexto sobre
como você pode fazer isso.

Gerar menos conclusões : reduza os valores de n e best_of quando possível, onde n se


refere a quantas conclusões gerar para cada prompt e best_of é usado para representar o
resultado com a maior probabilidade de log por token.

Se n e best_of ambos forem iguais a 1 (que é o padrão), o número de tokens gerados será, no
máximo, igual a max_tokens .

Se n (o número de conclusões retornadas) ou best_of (o número de conclusões geradas para


consideração) forem definidos como > 1 , cada solicitação criará várias saídas. Aqui, você pode
considerar o número de tokens gerados como [ max_tokens * max (n, best_of) ]

Transmissão
Definir stream: true uma solicitação faz com que o modelo comece a retornar tokens assim que
estiverem disponíveis, em vez de esperar que a sequência completa de tokens seja gerada. Isso não
altera o tempo para obter todos os tokens, mas reduz o tempo para o primeiro token para um
aplicativo em que queremos mostrar progresso parcial ou vamos parar as gerações. Isso pode ser
uma melhor experiência do usuário e uma melhoria de UX, então vale a pena experimentar o
streaming.

Infraestrutura
Nossos servidores estão atualmente localizados nos EUA. Embora esperemos ter redundância
global no futuro, enquanto isso você pode considerar localizar as partes relevantes da sua
infraestrutura nos EUA para minimizar o tempo de ida e volta entre seus servidores e os servidores
OpenAI.

Loteamento
Dependendo do seu caso de uso, o batching pode ajudar . Se você estiver enviando várias
solicitações para o mesmo endpoint, você pode agrupar os prompts para serem enviados na mesma
solicitação. Isso reduzirá o número de solicitações que você precisa fazer. O parâmetro prompt pode
conter até 20 prompts exclusivos. Aconselhamos você a testar esse método e ver se ele ajuda. Em
alguns casos, você pode acabar aumentando o número de tokens gerados, o que diminuirá o tempo
de resposta.

Gerenciando custos
Para monitorar seus custos, você pode definir um limite de notificação em sua conta para receber
um alerta por e-mail assim que passar de um certo limite de uso. Você também pode definir
um orçamento mensal . Esteja ciente do potencial de um orçamento mensal causar interrupções em
seu aplicativo/usuários. Use o painel de controle de uso para monitorar seu uso de token durante os
ciclos de cobrança atuais e anteriores.

Geração de texto
Um dos desafios de mover seu protótipo para produção é orçar os custos associados à execução de
seu aplicativo. A OpenAI oferece um modelo de precificação de pagamento conforme o uso , com
preços por 1.000 tokens (aproximadamente igual a 750 palavras). Para estimar seus custos, você
precisará projetar a utilização do token. Considere fatores como níveis de tráfego, a frequência com
que os usuários interagirão com seu aplicativo e a quantidade de dados que você processará.

Uma estrutura útil para pensar em reduzir custos é considerar os custos como uma função do
número de tokens e do custo por token. Existem duas vias potenciais para reduzir custos usando
essa estrutura. Primeiro, você pode trabalhar para reduzir o custo por token mudando para modelos
menores para algumas tarefas a fim de reduzir custos. Como alternativa, você pode tentar reduzir o
número de tokens necessários. Existem algumas maneiras de fazer isso, como usar prompts mais
curtos, ajustar modelos ou armazenar em cache consultas comuns de usuários para que elas não
precisem ser processadas repetidamente.
Você pode experimentar nossa ferramenta interativa de tokenizador para ajudar a estimar custos. A
API e o playground também retornam contagens de tokens como parte da resposta. Depois que
você tiver as coisas funcionando com nosso modelo mais capaz, poderá ver se os outros modelos
podem produzir os mesmos resultados com menor latência e custos. Saiba mais em nosso artigo de
ajuda sobre uso de tokens .

Estratégia MLOps
Conforme você move seu protótipo para a produção, você pode querer considerar desenvolver uma
estratégia de MLOps. MLOps (operações de aprendizado de máquina) refere-se ao processo de
gerenciamento do ciclo de vida de ponta a ponta de seus modelos de aprendizado de máquina,
incluindo quaisquer modelos que você possa estar ajustando usando nossa API. Há uma série de
áreas a serem consideradas ao projetar sua estratégia de MLOps. Elas incluem

Gerenciamento de dados e modelos: gerenciamento dos dados usados ​para treinar ou ajustar
seu modelo e rastrear versões e alterações.
Monitoramento de modelo: rastreie o desempenho do seu modelo ao longo do tempo e detecte
quaisquer possíveis problemas ou degradação.
Retreinamento do modelo: garantir que seu modelo permaneça atualizado com alterações nos
dados ou requisitos em evolução, além de retreiná-lo ou ajustá-lo conforme necessário.

Implantação do modelo: automatizar o processo de implantação do seu modelo e artefatos


relacionados na produção.

Pensar nesses aspectos da sua aplicação ajudará a garantir que seu modelo permaneça relevante e
tenha um bom desempenho ao longo do tempo.

Segurança e conformidade
À medida que você move seu protótipo para a produção, você precisará avaliar e abordar quaisquer
requisitos de segurança e conformidade que possam se aplicar ao seu aplicativo. Isso envolverá
examinar os dados que você está manipulando, entender como nossa API processa os dados e
determinar quais regulamentações você deve aderir. Nossas práticas de segurança e portal de
confiança e conformidade fornecem nossa documentação mais abrangente e atualizada. Para
referência, aqui está nossa Política de Privacidade e Termos de Uso .

Algumas áreas comuns que você precisará considerar incluem armazenamento de dados,
transmissão de dados e retenção de dados. Você também pode precisar implementar proteções de
privacidade de dados, como criptografia ou anonimização, quando possível. Além disso, você deve
seguir as melhores práticas para codificação segura, como higienização de entrada e tratamento
adequado de erros.

Melhores práticas de segurança


Ao criar seu aplicativo com nossa API, considere nossas melhores práticas de segurança para
garantir que seu aplicativo seja seguro e bem-sucedido. Essas recomendações destacam a
importância de testar o produto extensivamente, ser proativo sobre como lidar com problemas
potenciais e limitar oportunidades de uso indevido.

Considerações comerciais
À medida que os projetos que usam IA passam do protótipo para a produção, é importante
considerar como construir um ótimo produto com IA e como isso se vincula ao seu negócio principal.
Certamente não temos todas as respostas, mas um ótimo ponto de partida é uma palestra do nosso
Developer Day, onde mergulhamos nisso com alguns de nossos clientes:

Você também pode gostar