Amazon Bedrock

Usługa Amazon Bedrock zapewnia zarządzane wnioskowanie dla modeli podstawowych za pośrednictwem platformy AWS. Struktura agenta może opakowować narzędzie Bedrock IChatClient lub używać Python BedrockChatClient przy zachowaniu standardowego agenta, sesji, oprogramowania pośredniczącego i interfejsów API narzędzi.

Important

Amazon Bedrock to system innych firm. Przed wysłaniem danych aplikacji zapoznaj się z warunkami korzystania z usług AWS, zasadami przetwarzania danych, dostępnością regionalną, dostępem do modeli i kosztami użytkowania.

Instalowanie pakietów

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"

Uwierzytelnianie korzysta ze standardowego łańcucha poświadczeń AWS, w tym zmiennych środowiskowych, profili współdzielonych, tożsamości obciążenia roboczego i ról IAM.

Utwórz klienta środowiska uruchomieniowego platformy AWS Bedrock, przekonwertuj go na IChatClient, a następnie utwórz agenta platformy 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");

Poświadczenia platformy AWS są zgodne ze standardowym łańcuchem poświadczeń platformy AWS. Przyznaj tylko akcje modelu Bedrock wymagane przez aplikację.

Instalowanie pakietu

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 odczytuje poświadczenia modelu, regionu i platformy AWS z ustawień lub jawnych wartości konstruktorów.

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}")

Użyj BedrockChatOptions dla opcji żądań specyficznych dla Bedrock oraz BedrockGuardrailConfig, gdy wdrożenie korzysta z guardrails Bedrock.

Generowanie embedów

BedrockEmbeddingClient generuje osadzanie za pomocą modeli osadzania Amazon Titan. Skonfiguruj BEDROCK_EMBEDDING_MODEL i BEDROCK_REGION, a następnie użyj tego samego łańcucha poświadczeń platformy AWS co BedrockChatClient.

Dla tego klienta nie opublikowano obecnie przykładu osadzania struktury agenta możliwego do uruchomienia.

Uwaga / Notatka

Integracja z rozwiązaniem Amazon Bedrock nie jest obecnie dostępna dla platformy Agent Framework Go. Aktualny status znajdziesz w repozytorium Agent Framework dla Go.

Tools

Narzędzie Bedrock obsługuje lokalnie wywoływane narzędzia platformy Agent Framework, ale nie uwidacznia fabryk narzędzi hostowanych przez dostawcę.

Narzędzie C# Python Notatki
Narzędzia funkcji Obsługa modelu różni się w zależności od wybranego modelu Bedrock.
Zatwierdzanie narzędzi Stosowane przez pętlę wywoływania funkcji platformy Agent Framework.
Interpreter kodów Brak integracji z interpreterem kodu hostowanym przez Bedrock.
Wyszukiwanie plików Brak integracji wyszukiwania plików hostowanego w usłudze Bedrock.
Wyszukiwanie w Sieci Web Brak integracji wyszukiwania w Internecie hostowanej przez firmę Bedrock.
Hostowane narzędzia MCP Brak integracji MCP hostowanej w Bedrock.
Lokalne narzędzia MCP Uruchamia się w procesie aplikacji.

Następne kroki