Substrato rochoso amazônico

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.

Passos seguintes