Criar um agente de IA do Azure com o Microsoft Agent Framework
Tip
Consulte a guia Texto e imagens para obter mais detalhes!
O Serviço do Foundry Agent é o provedor recomendado para ambientes de produção criados com o Microsoft Agent Framework. Ele lida com o histórico de conversa persistente no lado do serviço, dá suporte a ferramentas internas, como execução de código e pesquisa de arquivos, e integra-se perfeitamente ao gerenciamento de identidade Azure. Esses recursos permitem que você se concentre no comportamento do agente, em vez de em sua sobrecarga de infraestrutura.
Configurando um agente do Foundry
Criar e interagir com um agente do Foundry segue uma sequência consistente de etapas.
1. Configurar seu projeto do Foundry
Antes de escrever qualquer código, você precisa de um projeto Microsoft Foundry com um modelo implantado. Você se conecta ao seu projeto usando duas informações:
- Endpoint do projeto—a URL do seu projeto do Foundry.
- Nome da implantação do modelo – o nome da implantação do modelo que você deseja usar para seu agente.
2. Configurar a autenticação
A Estrutura do Agente conecta-se ao seu projeto do Foundry usando credenciais de Azure. Na maioria dos cenários, DefaultAzureCredential resolve a credencial certa automaticamente com base em seu ambiente— CLI do Azure durante o desenvolvimento, identidade gerenciada em produção. Nenhuma cadeia de conexão ou chaves de API precisa ser codificada.
3. Inicializar o cliente de chat do Foundry
Crie um cliente de chat para o Foundry fornecendo suas credenciais, o endpoint do projeto e o nome do modelo. Este cliente é a ponte entre sua aplicação e o Foundry Agent Service. Ele lida com autenticação, roteamento de solicitações e gerenciamento de sessão do lado do serviço.
4. Criar o agente
Usando o cliente de chat, crie um agente fornecendo um conjunto de instruções que definem seu comportamento:
- Instruções : o prompt do sistema que define a função, as metas e as restrições do agente
- Ferramentas(opcional)— Funções personalizadas que o agente pode chamar para executar ações ou recuperar informações
A estrutura registra todas as ferramentas que você fornece e gera automaticamente seus esquemas, para que o modelo saiba quando e como invocá-los.
5. Estabelecer uma sessão e executar o agente
Para começar a interagir, abra uma sessão por meio da instância do agente. A sessão serve como o contêiner para o estado da conversa. Você envia mensagens de usuário para o método de execução da sessão, que processa o prompt, coordena todas as chamadas de ferramenta necessárias e retorna a resposta do modelo.
Conversas em múltiplos turnos
Uma única chamada para o método de execução do agente manipula uma troca: uma mensagem de usuário, uma resposta. Para uma conversa real, você precisa que o agente se lembre do que foi dito em turnos anteriores. É para isso que serve uma sessão .
Para o provedor Foundry, as sessões contam com armazenamento no lado do serviço—o histórico da conversa fica no serviço Foundry Agent, e não na memória da sua aplicação.
Histórico persistente—Como o estado reside do lado do serviço, a conversa de um usuário pode continuar ao longo de várias solicitações, mesmo que seu aplicativo reinicie ou seja escalado para várias instâncias.
Histórico local — Para provedores que não dão suporte ao histórico do lado do serviço, a estrutura mantém o estado da conversa na memória dentro do objeto de sessão. O histórico local é adequado para aplicativos de curta duração ou sem estado, mas não persiste entre reinicializações de processo.
Respostas sem streaming versus respostas com streaming
A Estrutura do Agente dá suporte a dois modos de resposta:
Sem streaming (síncrono)—o método run aguarda o agente concluir o processamento e retorna um objeto de resposta completo. O não streaming é o padrão mais simples e funciona bem quando você não precisa exibir a saída incrementalmente.
Streaming (assíncrono)— o método de execução retorna um fluxo de resposta que você itera de forma assíncrona, recebendo atualizações parciais à medida que o modelo as gera. O streaming é mais adequado para interfaces voltadas para o usuário, em que 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 de texto da saída do agente, tornando simples extrair a resposta final, independentemente de qual modo você usa.