Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
Os auxiliares de protocolo de auto-hospedagem para .NET estão a chegar em breve. O modelo de alojamento permitirá que a sua aplicação seja dona das integrações do servidor, estado e protocolo.
Note
Os auxiliares de protocolo de auto-hospedagem não estão atualmente disponíveis para o Go.
A auto-hospedagem permite-lhe executar um agente ou fluxo de trabalho Agent Framework na sua própria aplicação web, contentor, serviço ou runtime. A sua aplicação controla o encaminhamento, identidade, autorização, política de pedidos, armazenamento, implementação e escalabilidade. Adiciona uma ou mais integrações de protocolo a esse servidor com base nos clientes que precisas de suportar.
Use esta opção quando precisar de integrar um endpoint de agente com a sua infraestrutura de aplicação existente. Se quiser que a Microsoft Foundry execute o agente por si, veja Foundry Hosted Agents. Se precisar de triggers do Funções do Azure ou execução durável, veja Extensão Durável.
O design destes pacotes é tal que permite máxima flexibilidade ao programador. Isto significa que, se quiser construir um host que exponha um agente com a API Responses, e abusar dos parâmetros para outros fins (por exemplo, mapear temperature para top_p), pode fazê-lo. Se não quiseres armazenar sessões, podes fazer isso, se quiseres permitir que o chamador controle toda a execução do agente, também podes fazê-lo. Não vamos interferir, disponibilizamos auxiliares para os casos mais comuns e deixamos o resto à sua responsabilidade, para que possa criar exatamente o host de que precisa.
Importante
agent-framework-hosting, agent-framework-hosting-responses, agent-framework-hosting-telegram, agent-framework-a2a, agent-framework-hosting-a2a, , e agent-framework-hosting-mcp são pacotes Python pré-lançamento. Instale explicitamente as versões pré-lançamento e reveja as notas de lançamento antes de atualizar uma implementação em produção.
pip install --pre agent-framework-hosting
O que os assistentes de alojamento oferecem
O pacote genérico de alojamento fornece estado de execução partilhado para um servidor propriedade da aplicação:
-
AgentStateEmparelha um alvo de agente com umSessionStoree cria sessões quando a aplicação seleciona uma nova chave. -
SessionStorearmazena, recupera e elimina sessões por um ID selecionado pela aplicação. O seu armazenamento predefinido é local ao processo e não tem política de expulsão. -
WorkflowStateresolve um alvo de fluxo de trabalho. A tua aplicação é responsável pelo armazenamento dos pontos de verificação e por qualquer mapeamento de um identificador de continuação do cliente para um ponto de verificação.
AgentState não é um servidor nem um registo de protocolo. A sua aplicação seleciona uma chave de sessão autorizada, resolve o destino e guarda o estado pós-execução. Pode usar a mesma infraestrutura de destino e de aplicação partilhada para um ou vários endpoints de protocolo.
Personalizar o armazenamento da sessão
SessionStore é uma pequena classe de armazenamento assíncrona com get, set, e delete métodos. A implementação padrão mantém as sessões na memória do processo. Crie uma subclasse e sobreponha esses métodos para armazenar objetos AgentSession no Redis, numa base de dados, em armazenamento de blobs ou noutro armazenamento pertencente à aplicação e, em seguida, passe a instância a AgentState(session_store=...).
SessionStore e os fornecedores de histórico guardam partes separadas de uma conversa de um agente. Um armazenamento de sessão guarda um objeto de sessão por ID de sessão, incluindo metadados de sessão e estado do fornecedor. Um dedicado HistoryProvider armazena a conversa separadamente, normalmente como um registo por mensagem. Esta separação é recomendada para hosts duráveis porque adicionar mensagens individuais é geralmente mais eficiente do que reescrever um objeto de sessão crescente após cada turno. Um fornecedor de histórico é definido por agente, passando a classe de fornecedor de histórico desejada para o context_providers parâmetro.
Note
O fornecedor de histórico padrão: InMemoryHistoryProvider é a exceção: armazena toda a conversa em AgentSession.state. Quando esse fornecedor é utilizado, SessionStore mantém a conversa no objeto de sessão. Para conversas mais longas ou armazenamento em produção, use um provedor de histórico dedicado para que o armazenamento de sessões possa manter-se focado num estado de sessão leve.
Traga o seu próprio framework ou biblioteca de clientes
Os pacotes de alojamento não estão ligados a um framework web ou biblioteca cliente. Os exemplos usam o FastAPI e aiogram porque fornecem exemplos concisos e executáveis, e não porque os auxiliares os exijam.
- Para pontos de extremidade HTTP, utilize as APIs de encaminhamento e de pedido/resposta do framework da sua aplicação, como o FastAPI, Starlette, Django, Flask, Funções do Azure ou qualquer outro framework.
- Para clientes de protocolo como o Telegram, utilize qualquer biblioteca cliente que possa fornecer uma atualização de protocolo e executar as operações produzidas pelo assistente.
A aplicação seleciona o seu framework e biblioteca cliente; os pacotes Agent Framework apenas convertem dados do protocolo e gerem o estado de execução opcional. Não registam rotas, não autenticam os autores das chamadas, não autorizam o acesso ao estado, não escolhem opções de modelo autorizadas nem fornecem armazenamento duradouro.
Adicione protocolos ao seu servidor
Escolha uma ou mais integrações de protocolo:
| Protocolo | Pacote e integração |
|---|---|
| Respostas OpenAI | agent-framework-hosting-responses |
| Telegrama | agent-framework-hosting-telegram |
| A2A |
agent-framework-a2a ou agent-framework-hosting-a2a |
| MCP | agent-framework-hosting-mcp |
Cada página de protocolo descreve a sua configuração. No entanto, são concebidos para permitir construir um único host com um ou mais protocolos ativados e um alvo chamável; Ou um agente ou um fluxo de trabalho. Como não o limitamos a um único framework web, pode escolher o que quiser e configurar o host com esses protocolos com facilidade.
Continuação segura da sessão
Trate cada identificador fornecido pelo protocolo como entrada não confiável. Antes de usar um ID para carregar uma sessão, ponto de controlo, tarefa ou outro estado:
- Autentica quem chama.
- Autorize o chamador a aceder ao estado referenciado.
- Particione o estado durável por tenant, utilizador ou espaço de trabalho autenticado.
- Guarde o estado da sessão e do ponto de controlo apenas depois de a execução ou a transmissão ter terminado.
Este padrão de auto-hospedagem permite que a sua aplicação implemente apenas os endpoints do protocolo e as políticas de que necessita; não tenta implementar a superfície completa da API de todos os protocolos suportados.
Passos seguintes
Vai mais fundo: