Criar um agente de IA do Azure com o Microsoft Agent Framework
Sugestão
Consulte a guia Texto e imagens para obter mais detalhes!
O Foundry Agent Service é o fornecedor recomendado para ambientes de produção construídos com o Microsoft Agent Framework. Gere o histórico persistente de conversas do lado do serviço, suporta ferramentas integradas como execução de código e pesquisa de ficheiros, e integra-se perfeitamente com a gestão de identidades do Azure. Estas funcionalidades permitem-lhe focar-se no comportamento do seu agente em vez da sua sobrecarga de infraestrutura.
Configuração de um agente Foundry
Criar e interagir com um agente da Foundry segue uma sequência consistente de passos.
1. Configurar o seu projeto Foundry
Antes de escrever qualquer código, precisa de um projeto Microsoft Foundry com um modelo implementado. Liga-se ao seu projeto usando duas informações:
- Endpoint do projeto—o URL do seu projeto Foundry.
- Nome da implementação do modelo — o nome da implementação do modelo que pretende usar para o seu agente.
2. Configurar autenticação
O Agent Framework liga-se ao seu projeto Foundry usando credenciais Azure. Na maioria dos cenários, DefaultAzureCredential resolve automaticamente a credencial correta com base no seu ambiente — CLI do Azure durante o desenvolvimento, identidade gerida em produção. Não é necessário codificar diretamente cadeias de ligação ou chaves de API.
3. Inicializar o cliente de chat Foundry
Crie um cliente de chat Foundry fornecendo as suas credenciais, endpoint do projeto e nome do modelo. Este cliente é a ponte entre a sua candidatura e o Serviço de Agentes da Foundry. Trata da autenticação, do encaminhamento de pedidos e da gestão de sessões no serviço.
4. Criar o agente
Usando o cliente de chat, crie um agente fornecendo um conjunto de instruções que definam o seu comportamento:
- Instruções — o prompt do sistema que define o papel, objetivos e restrições do agente
- Ferramentas(opcional) — Funções personalizadas que o agente pode invocar para tomar ações ou recuperar informação
A framework regista quaisquer ferramentas que forneça e gera automaticamente os seus esquemas, para que o modelo saiba quando e como os invocar.
5. Estabelecer uma sessão e gerir o agente
Para começar a interagir, abres uma sessão através da instância do agente. A sessão funciona como o recipiente para o estado da conversa. Você envia mensagens do utilizador para o método de execução da sessão, que processa o pedido, coordena quaisquer chamadas de ferramenta necessárias e devolve a resposta do modelo.
Conversas em vários turnos
Uma única chamada ao método run do agente gere uma troca — uma mensagem de utilizador, uma resposta. Para uma conversa real, precisas que o agente se lembre do que foi dito nos turnos anteriores. É para isso que serve uma sessão .
Para o provedor Foundry, as sessões assentam em armazenamento no lado do serviço — o histórico da conversa reside no Foundry Agent Service, em vez de residir na memória da sua aplicação.
Histórico persistente — Como o estado reside do lado do serviço, a conversa do utilizador pode continuar através de múltiplos pedidos, mesmo que a sua aplicação reinicie ou escale para várias instâncias.
Histórico local — Para fornecedores que não suportam histórico do lado do serviço, o framework mantém o estado da conversa na memória dentro do objeto de sessão. A história local é adequada para aplicações de curta duração ou sem estado, mas não persiste em processos reiniciados.
Respostas sem streaming vs. respostas em streaming
O Agent Framework suporta dois modos de resposta:
Sem transmissão (síncrono)—o método run espera que o agente conclua o processamento e devolve um objeto de resposta completo. O modo sem streaming é a abordagem mais simples e funciona bem quando não é necessário apresentar a saída de forma incremental.
Streaming (assíncrono) — o método run devolve um fluxo de resposta sobre o qual iteras de forma assíncrona, recebendo atualizações parciais à medida que o modelo as gera. O streaming é mais adequado para interfaces orientadas para o utilizador, onde mostrar a saída melhora progressivamente a experiência.
Em ambos os casos, a resposta expõe uma text propriedade que agrega todo o conteúdo textual da saída do agente, tornando fácil extrair a resposta final independentemente do modo utilizado.