API de Assistentes do OpenAI do Azure (versão prévia)
Os Assistentes, um novo recurso do Serviço OpenAI do Azure, já estão disponíveis em versão prévia pública. A API de Assistentes facilita para os desenvolvedores criar aplicativos com experiências sofisticadas semelhantes a copiloto que podem examinar dados, sugerir soluções e automatizar tarefas.
- Os assistentes podem chamar os modelos do Azure OpenAI com instruções específicas para ajustar sua personalidade e funcionalidades.
- Os assistentes podem acessar várias ferramentas em paralelo. Elas podem ser ferramentas hospedadas no Azure OpenAI, como de interpretador de código e de pesquisa de arquivos, ou ferramentas que você cria, hospeda e acessa por meio de chamada de função.
- Os assistentes podem acessar threads persistentes. Os threads simplificam o desenvolvimento de aplicativos de IA armazenando o histórico de mensagens e truncando-o quando a conversa fica muito longa para o comprimento de contexto do modelo. Crie um thread uma vez e simplesmente acrescente Mensagens a ele à medida que os usuários respondem.
- Os assistentes podem acessar arquivos em vários formatos. Como parte de sua criação ou como parte de threads entre assistentes e usuários. Ao usar ferramentas, os Assistentes também podem criar arquivos (como imagens ou planilhas) e citar arquivos que eles referenciam nas Mensagens que eles criam.
Visão geral
Anteriormente, a criação de assistentes de IA personalizados demandava um trabalho pesado mesmo para desenvolvedores experientes. Embora a API de preenchimentos de chat seja leve e sofisticada, ela é inerentemente sem estado, o que significa que os desenvolvedores precisavam gerenciar o estado da conversa e os threads de chat, as integrações de ferramentas, os documentos e os índices de recuperação, além de executar o código manualmente.
A API de Assistentes, como a evolução com estado da API de preenchimento de chat, oferece uma solução para esses desafios. A API de Assistentes dá suporte a threads persistentes gerenciados automaticamente. Isso significa que, como desenvolvedor, você não precisa mais desenvolver sistemas de gerenciamento de estado de conversa e contornar as restrições da janela de contexto de um modelo. A API de Assistentes cuidará automaticamente das otimizações para manter o thread abaixo da janela de contexto máxima do modelo escolhido. Depois de criar um thread, você pode simplesmente acrescentar novas mensagens a ele conforme os usuários respondem. Os Assistentes também podem acessar várias ferramentas em paralelo, se necessário. Essas ferramentas incluem:
Dica
Não há preço ou cota adicionais para usar Assistentes, a menos que você use a ferramenta de interpretador de códigoou pesquisa de arquivos.
A API de assistentes baseia-se nos mesmos recursos que alimentam o produto GPT do OpenAI. Alguns casos de uso possíveis abrangem sistemas de recomendação de produtos da plataforma IA, aplicativos de analista de vendas, assistentes de codificação, chatbots de perguntas e respostas para funcionários, entre outros. Comece a criar no playground de assistentes sem código na IA do Azure Studio ou comece a criar com a API.
Importante
Recuperar dados não confiáveis usando a chamada de função, o Interpretador de Código ou a Pesquisa de Arquivos com entrada de arquivo e as funcionalidades de Threads do Assistente podem comprometer a segurança do assistente ou do aplicativo que usa o Assistente. Saiba mais sobre as abordagens de mitigação aqui.
Playground de Assistentes
Fornecemos um passo a passo do playground de Assistentes em nosso guia de início rápido. Isso viabiliza um ambiente sem código para testar os recursos dos assistentes.
Componentes de Assistentes
Componente | Descrição |
---|---|
Assistente | IA personalizada que usa modelos do OpenAI do Azure em conjunto com ferramentas. |
Thread | Uma sessão de conversa entre um Assistente e um usuário. Os Threads armazenam Mensagens e manipulam automaticamente o truncamento para ajustar o conteúdo no contexto de um modelo. |
Message | Uma mensagem criada por um Assistente ou um usuário. As mensagens podem incluir texto, imagens e outros arquivos. As mensagens são armazenadas como uma lista no Thread. |
Executar | Ativação de um Assistente para começar a ser executado com base no conteúdo do Thread. O Assistente usa sua configuração e as Mensagens do Thread para executar tarefas chamando modelos e ferramentas. Como parte de uma Execução, o Assistente acrescenta mensagens ao thread. |
Etapa de Execução | Uma lista detalhada das etapas que o Assistente realizou como parte de uma Execução. Um Assistente pode chamar ferramentas ou criar Mensagens durante sua execução. Examinar as Etapas de Execução permite que você entenda como o Assistente está chegando aos resultados finais. |
Acesso a dados de assistentes
Atualmente, os assistentes, os threads, as mensagens e os arquivos criados para assistentes têm o escopo no nível de recurso do OpenAI do Azure. Portanto, qualquer pessoa com acesso ao recurso do OpenAI do Azure ou ao acesso à chave de API é capaz de ler/gravar assistentes, threads, mensagens e arquivos.
Recomendamos fortemente os seguintes controles de acesso a dados:
- Implemente a autorização. Antes de executar leituras ou gravações em assistentes, threads, mensagens e arquivos, certifique-se de que o usuário final esteja autorizado a fazer isso.
- Restrinja o recurso do OpenAI do Azure e o acesso à chave de API. Considere cuidadosamente quem tem acesso aos recursos do OpenAI do Azure em que os assistentes estão sendo usados e as chaves de API associadas.
- Audite rotineiramente quais contas/indivíduos têm acesso ao recurso do OpenAI do Azure. As chaves de API e o acesso no nível do recurso permitem uma ampla gama de operações, incluindo leitura e modificação de mensagens e arquivos.
- Habilite as configurações de diagnóstico para permitir o acompanhamento de longo prazo de determinados aspectos do log de atividades do recurso do Azure OpenAI.
Parâmetros
A API de Assistentes tem suporte para vários parâmetros que permitem personalizar a saída dos Assistentes. O parâmetro tool_choice
permite forçar o Assistente a usar uma ferramenta especificada. Você também pode criar mensagens com a função assistant
para criar históricos de conversa personalizados em Threads. temperature
, top_p
, response_format
permitem ajustar ainda mais as respostas. Para saber mais, consulte a documentação de referência.
Gerenciamento de janela de contexto
Os assistentes truncam automaticamente o texto para garantir que ele permaneça dentro do comprimento máximo de contexto do modelo. Você pode personalizar esse comportamento especificando os tokens máximos que gostaria que uma execução utilizasse e/ou o número máximo de mensagens recentes que você gostaria de incluir em uma execução.
Tokens máximos de conclusão e prompt máximo
Para controlar o uso do token em uma única execução, defina max_prompt_tokens
e max_completion_tokens
ao criar a Execução. Esses limites se aplicam ao número total de tokens usados em todas as conclusões em todo o ciclo de vida da Execução.
Por exemplo, iniciar uma execução com max_prompt_tokens
definido como 500 e max_completion_tokens
definido como 1000 significa que a primeira conclusão truncará o thread para 500 tokens e limitará a saída a 1.000 tokens. Se apenas 200 tokens de prompt e 300 tokens de conclusão forem usados na primeira conclusão, a segunda conclusão terá limites disponíveis de 300 tokens de prompt e 700 tokens de conclusão.
Se uma conclusão atingir o limite de max_completion_tokens
, a Execução terminará com um status incompleto e os detalhes serão fornecidos no campo incomplete_details
do objeto Run.
Ao usar a ferramenta Pesquisa de Arquivos, recomendamos definir o max_prompt_tokens
como no máximo 20.000. Para conversas mais longas ou várias interações com a Pesquisa de Arquivos, considere aumentar esse limite para 50.000 ou, idealmente, remover os limites de max_prompt_tokens
completamente para obter os resultados de maior qualidade.
Estratégia de truncamento
Você também pode especificar uma estratégia de truncamento para controlar como o thread deve ser renderizado na janela de contexto do modelo. Usar uma estratégia de truncamento do tipo auto
usará a estratégia de truncamento padrão do OpenAI. Usar uma estratégia de truncamento do tipo last_messages
permitirá que você especifique o número das mensagens mais recentes a serem incluídas na janela de contexto.
Confira também
- Saiba mais sobre assistentes e de Pesquisa de arquivos
- Saiba mais sobre os Assistentes e o Interpretador de código
- Saiba mais sobre os Assistentes e a Chamada de função
- Amostras da API de Assistentes do OpenAI do Azure