Azure OpenAI Assistants API (Pré-visualização)
Os assistentes, um novo recurso do Serviço OpenAI do Azure, agora estão disponíveis na visualização pública. A API de assistentes torna mais fácil para os desenvolvedores criarem aplicativos com experiências sofisticadas semelhantes a copilotos que podem filtrar 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 recursos.
- Os assistentes podem aceder a várias ferramentas em paralelo. Essas podem ser ferramentas hospedadas pelo Azure OpenAI, como interpretador de código e pesquisa de arquivos, ou ferramentas que você cria, hospeda e acessa por meio de chamadas 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 a duração do contexto do modelo. Você cria um Thread uma vez e simplesmente acrescenta Mensagens a ele enquanto seus usuários respondem.
- Os assistentes podem aceder aos ficheiros em vários formatos. Seja 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 aos quais fazem referência nas Mensagens que criam.
Descrição geral
Anteriormente, a criação de assistentes de IA personalizados precisava de trabalho pesado, mesmo para desenvolvedores experientes. Embora a API de conclusão de bate-papo seja leve e poderosa, ela é inerentemente sem monitoração de estado, o que significa que os desenvolvedores tiveram que gerenciar o estado da conversa e os tópicos de bate-papo, integrações de ferramentas, recuperar documentos e índices e executar código manualmente.
A API de Assistentes, como a evolução stateful da API de conclusão de chat, fornece uma solução para esses desafios. A API de assistentes suporta threads persistentes gerenciados automaticamente. Isso significa que, como desenvolvedor, você não precisa mais desenvolver sistemas de gerenciamento de estado de conversação e contornar as restrições da janela de contexto de um modelo. A API de assistentes lidará automaticamente com as otimizações para manter o thread abaixo da janela de contexto máximo do modelo escolhido. Depois de criar um Thread, você pode simplesmente anexar novas mensagens a ele à medida que os usuários respondem. Os assistentes também podem aceder a várias ferramentas em paralelo, se necessário. Estas ferramentas incluem:
Gorjeta
Não há preços ou cotas adicionais para usar os Assistentes, a menos que você use o interpretador de código ou as ferramentas de pesquisa de arquivos.
A API de assistentes é construída com base nos mesmos recursos que alimentam o produto GPT da OpenAI. Alguns casos de uso possíveis vão desde recomendação de produtos com IA, aplicativo de analista de vendas, assistente de codificação, chatbot de perguntas e respostas de funcionários e muito mais. Comece a criar no playground de Assistentes sem código no Azure AI Studio ou comece a criar com a API.
Importante
A recuperação de dados não confiáveis usando chamadas de função, interpretador de código ou pesquisa de arquivos com entrada de arquivos e funcionalidades de threads do Assistente pode comprometer a segurança do Assistente ou do aplicativo que usa o Assistente. Saiba mais sobre as abordagens de mitigação aqui.
Assistentes de playground
Fornecemos um passo a passo do playground dos assistentes em nosso guia de início rápido. Isso fornece um ambiente sem código para testar os recursos dos assistentes.
Componentes dos assistentes
Componente | Descrição |
---|---|
Assistente | IA personalizada que usa modelos OpenAI do Azure em conjunto com ferramentas. |
Tópico | Uma sessão de conversação entre um Assistente e um utilizador. Os threads armazenam mensagens e manipulam automaticamente o truncamento para ajustar o conteúdo ao contexto de um modelo. |
Mensagem | Uma mensagem criada por um Assistente ou um utilizador. As mensagens podem incluir texto, imagens e outros ficheiros. 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 tomou como parte de uma Corrida. Um Assistente pode chamar ferramentas ou criar Mensagens durante a sua execução. Examinar as etapas de execução permite que você entenda como o Assistente está chegando aos resultados finais. |
Acesso aos dados dos assistentes
Atualmente, assistentes, threads, mensagens e arquivos criados para Assistentes têm escopo no nível de recursos do Azure OpenAI. Portanto, qualquer pessoa com acesso ao recurso OpenAI do Azure ou acesso à chave de API é capaz de assistentes de leitura/gravação, threads, mensagens e arquivos.
Recomendamos vivamente os seguintes controlos de acesso a dados:
- Implementar autorização. Antes de realizar leituras ou gravações em assistentes, threads, mensagens e arquivos, verifique se o usuário final está autorizado a fazê-lo.
- Restrinja o recurso do Azure OpenAI e o acesso à chave da API. Considere cuidadosamente quem tem acesso aos recursos do Azure OpenAI onde os assistentes estão sendo usados e as chaves de API associadas.
- Audite rotineiramente quais contas/indivíduos têm acesso ao recurso OpenAI do Azure. As chaves de API e o acesso ao nível de recursos permitem uma ampla gama de operações, incluindo a leitura e modificação de mensagens e arquivos.
- Habilite as configurações de diagnóstico para permitir o acompanhamento de longo prazo de certos aspetos do log de atividades do recurso OpenAI do Azure.
Parâmetros
A API de Assistentes tem suporte para vários parâmetros que permitem personalizar a saída dos Assistentes. O tool_choice
parâmetro permite forçar o Assistente a usar uma ferramenta especificada. Você também pode criar mensagens com a assistant
função para criar históricos de conversas personalizados em Threads. temperature
, top_p
, response_format
permitem-lhe ajustar ainda mais as respostas. Para obter mais informações, 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 o máximo de tokens que deseja que uma execução utilize e/ou o número máximo de mensagens recentes que deseja incluir em uma execução.
Conclusão máxima e tokens de prompt máximos
Para controlar o uso do token em uma única Execução, defina max_prompt_tokens
e max_completion_tokens
quando você cria a Execução. Esses limites se aplicam ao número total de tokens usados em todas as finalizações ao longo do ciclo de vida da Run.
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 max_completion_tokens
limite, a Execução terminará com um status de incompleta e os incomplete_details
detalhes serão fornecidos no campo do objeto Executar.
Ao usar a ferramenta Pesquisa de Arquivos, recomendamos definir como max_prompt_tokens
não menos de 20.000. Para conversas mais longas ou múltiplas interações com a Pesquisa de Ficheiros, considere aumentar este limite para 50.000 ou, idealmente, remover completamente os max_prompt_tokens
limites para obter resultados da mais alta qualidade.
Estratégia de truncamento
Você também pode especificar uma estratégia de truncamento para controlar como seu thread deve ser processado na janela de contexto do modelo. Usar uma estratégia de truncamento do tipo auto
usará a estratégia de truncamento padrão da OpenAI. Usar uma estratégia de truncamento do tipo last_messages
permitirá especificar o número das mensagens mais recentes a serem incluídas na janela de contexto.
Consulte também
- Saiba mais sobre Assistentes e Pesquisa de Ficheiros
- Saiba mais sobre Assistentes e Intérprete de Código
- Saiba mais sobre Assistentes e chamadas de função
- Exemplos da API do Azure OpenAI Assistants