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.
A Amazon Bedrock fornece inferência gerida para modelos de fundação através da AWS. O Agent Framework pode encapsular o Bedrock IChatClient ou usar o Python BedrockChatClient, mantendo as APIs padrão de agente, de sessão, de middleware e de ferramentas.
Importante
A Amazon Bedrock é um sistema de terceiros. Consulte os termos dos serviços da AWS, o tratamento dos dados, a disponibilidade regional, o acesso ao modelo e os custos de utilização antes de enviar os dados da aplicação.
Instale os pacotes
dotnet add package AWSSDK.Extensions.Bedrock.MEAI
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
AWS_REGION="us-east-1"
BEDROCK_MODEL_ID="anthropic.claude-3-5-sonnet-20241022-v2:0"
A autenticação utiliza a cadeia padrão de credenciais da AWS, incluindo variáveis de ambiente, perfis partilhados, identidade da carga de trabalho e funções IAM.
Crie o cliente de execução AWS Bedrock, converta-o para IChatClient, e depois crie um agente Agent Framework.
var awsRegion = Environment.GetEnvironmentVariable("AWS_REGION") ?? "us-east-1";
var modelId = Environment.GetEnvironmentVariable("BEDROCK_MODEL_ID") ?? "anthropic.claude-3-5-sonnet-20241022-v2:0";
// Create the Bedrock runtime client.
var bedrockRuntime = new AmazonBedrockRuntimeClient(RegionEndpoint.GetBySystemName(awsRegion));
IChatClient chatClient = bedrockRuntime.AsIChatClient(modelId);
AIAgent agent = chatClient.AsAIAgent(
instructions: "You are a helpful assistant.",
name: "BedrockAgent");
As credenciais AWS seguem a cadeia padrão de credenciais da AWS. Conceda apenas as ações do modelo Bedrock de que a aplicação necessita.
Instale o pacote
pip install agent-framework-bedrock --pre
Configuration
BEDROCK_REGION="us-east-1"
BEDROCK_CHAT_MODEL="anthropic.claude-3-5-sonnet-20241022-v2:0"
AWS_ACCESS_KEY_ID="<access-key>"
AWS_SECRET_ACCESS_KEY="<secret-key>"
# Optional temporary credentials:
AWS_SESSION_TOKEN="<session-token>"
# Optional shared profile:
AWS_PROFILE="<profile>"
BedrockChatClient lê o modelo, a região e as credenciais da AWS a partir das respetivas definições ou dos valores explicitamente passados ao construtor.
async def main() -> None:
"""Run a Bedrock-backed agent with one tool call."""
# 1. Create an agent with Bedrock chat client and one tool.
agent = Agent(
client=BedrockChatClient(),
instructions="You are a concise travel assistant.",
name="BedrockWeatherAgent",
tools=[get_weather],
default_options=BedrockChatOptions(tool_choice="auto"),
)
# 2. Run a query that uses the weather tool.
query = "Use the weather tool to check the forecast for New York."
print(f"User: {query}")
response = await agent.run(query)
print(f"Assistant: {response.text}")
Use BedrockChatOptions para opções de pedidos específicas de Bedrock e BedrockGuardrailConfig quando o seu destacamento use guarda-corridas Bedrock.
Gerar incorporações
BedrockEmbeddingClient gera incorporações com os modelos de incorporação do Amazon Titan. Configure BEDROCK_EMBEDDING_MODEL e BEDROCK_REGION, depois use a mesma cadeia de credenciais AWS que BedrockChatClient.
Atualmente, não existe um exemplo de embedding executável do Agent Framework publicado para este cliente.
Observação
A integração com o Amazon Bedrock não está atualmente disponível para o Agent Framework Go. Consulte o repositório Agent Framework Go para o estado mais recente.
Tools
O Bedrock suporta ferramentas de Agent Framework invocadas localmente, mas não expõe fábricas de ferramentas alojadas pelo fornecedor.
| Tool | C# | Python | Observações |
|---|---|---|---|
| Ferramentas Funcionais | ✅ | ✅ | A compatibilidade varia consoante o modelo Bedrock selecionado. |
| Aprovação de Ferramentas | ✅ | ✅ | Aplicado pelo ciclo de invocação de função do Agent Framework. |
| Intérprete de código | ❌ | ❌ | Sem integração com o interpretador de código alojado no Bedrock. |
| Pesquisa de ficheiros | ❌ | ❌ | Sem integração de pesquisa de ficheiros alojada no Bedrock. |
| Pesquisa na Web | ❌ | ❌ | Sem integração de pesquisa web alojada no Bedrock. |
| Ferramentas alojadas do MCP | ❌ | ❌ | Sem integração de MCP hospedada no Bedrock. |
| Ferramentas MCP Locais | ✅ | ✅ | É executado no processo da aplicação. |