Amazon Bedrock

Amazon Bedrock bietet verwaltete Rückschlüsse auf Foundation-Modelle über AWS. Agent Framework kann ein Bedrock IChatClient umschließen oder die Python BedrockChatClient verwenden, während die Standard-Agent-, Sitzungs-, Middleware- und Tool-APIs beibehalten werden.

Important

Amazon Bedrock ist ein Drittanbietersystem. Überprüfen Sie die AWS-Servicebedingungen, datenverarbeitung, regionale Verfügbarkeit, Modellzugriff und Nutzungskosten, bevor Sie Anwendungsdaten senden.

Installieren der Pakete

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"

Die Authentifizierung verwendet die standardmäßige AWS-Anmeldeinformationskette, einschließlich Umgebungsvariablen, freigegebener Profile, Workloadidentität und IAM-Rollen.

Erstellen Sie den AWS Bedrock-Runtime-Client, konvertieren Sie ihn in IChatClient, und erstellen Sie dann einen Agent Framework-Agent.

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

AWS-Anmeldeinformationen folgen der standardmäßigen AWS-Anmeldeinformationskette. Gewähren Sie nur die Bedrock-Modellaktionen, die die Anwendung benötigt.

Installiere das Paket

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 liest die Anmeldeinformationen für Modell, Region und AWS aus den Einstellungen oder expliziten Konstruktorwerten vor.

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

Verwendung BedrockChatOptions für Bedrock-spezifische Anforderungsoptionen und BedrockGuardrailConfig wenn Ihre Bereitstellung Bedrock-Schutzschienen verwendet.

Einbettungen generieren

BedrockEmbeddingClient generiert Einbettungen mit Amazon Titan Embedding-Modellen. Konfigurieren BEDROCK_EMBEDDING_MODEL und BEDROCK_REGION, verwenden Sie dann die gleiche AWS-Anmeldeinformationskette wie BedrockChatClient.

Für diesen Client wird derzeit kein runnables Agent Framework-Einbettungsbeispiel veröffentlicht.

Note

Amazon Bedrock-Integration ist derzeit nicht für Agent Framework Go verfügbar. Den neuesten Status finden Sie im Agent Framework Go-Repository .

Tools

Bedrock unterstützt lokal aufgerufene Agent Framework-Tools, stellt aber keine vom Anbieter gehosteten Toolfabriken zur Verfügung.

Werkzeug C# Python Hinweise
Funktionswerkzeuge Die Modellunterstützung variiert je nach ausgewähltem Bedrock-Modell.
Toolgenehmigung Wird von der Funktionsaufrufschleife des Agent-Frameworks angewendet.
Codedolmetscher Keine Bedrock-gehostete Codedolmetscherintegration.
Dateisuche Keine Bedrock-gehostete Dateisuche-Integration.
Websuche Keine Bedrock-gehostete Websuche-Integration.
Gehostete MCP-Tools Keine bedrock-gehostete MCP-Integration.
Lokale MCP-Tools Wird im Anwendungsprozess ausgeführt.

Nächste Schritte