Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Amazon Bedrock bietet verwaltete Rückschlüsse auf Foundation-Modelle über AWS. Agent Framework kann ein Bedrock IChatClient kapseln oder das Python BedrockChatClient verwenden und dabei die Standard-Agent-, Sitzungs-, Middleware- und Tool-APIs beibehalten.
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
Konfiguration
AWS_REGION="us-east-1"
BEDROCK_MODEL_ID="anthropic.claude-3-5-sonnet-20241022-v2:0"
Die Authentifizierung verwendet die standardmäßige AWS-Anmeldeinformationskette und umfasst Umgebungsvariablen, gemeinsam genutzte Profile, Workload-Identitä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
Konfiguration
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 das Modell, die Region und die AWS-Anmeldeinformationen aus seinen Einstellungen oder aus explizit angegebenen Konstruktorwerten.
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}")
Verwenden Sie BedrockChatOptions für Bedrock-spezifische Anfrageoptionen und BedrockGuardrailConfig, wenn Ihre Bereitstellung Bedrock-Guardrails verwendet.
Einbettungen generieren
BedrockEmbeddingClient generiert Einbettungen mit Amazon Titan Embedding-Modellen. Konfigurieren Sie BEDROCK_EMBEDDING_MODEL und BEDROCK_REGION und verwenden Sie dann dieselbe 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.
| Tool | C# | Python | Hinweise |
|---|---|---|---|
| Funktionswerkzeuge | ✅ | ✅ | Die Modellunterstützung variiert je nach ausgewähltem Bedrock-Modell. |
| Toolgenehmigung | ✅ | ✅ | Wird von der Funktionsaufrufschleife des Agent Framework verwendet. |
| Codedolmetscher | ❌ | ❌ | Keine Bedrock-gehostete Codedolmetscherintegration. |
| Dateisuche | ❌ | ❌ | Keine Bedrock-gehostete Dateisuche-Integration. |
| Websuche | ❌ | ❌ | Keine von Bedrock gehostete Integration der Websuche. |
| Gehostete MCP-Tools | ❌ | ❌ | Keine Bedrock-gehostete MCP-Integration. |
| Lokale MCP-Tools | ✅ | ✅ | Wird im Anwendungsprozess ausgeführt. |