Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Amazon Bedrock fournit une inférence managée pour les modèles de base via AWS. Agent Framework peut encapsuler un Bedrock IChatClient ou utiliser le Python BedrockChatClient tout en conservant les API d’agent, de session, d’intergiciel et d’outil standard.
Important
Amazon Bedrock est un système tiers. Passez en revue les termes du service AWS, la gestion des données, la disponibilité régionale, l’accès aux modèles et les coûts d’utilisation avant d’envoyer des données d’application.
Installer les packages
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"
L’authentification utilise la chaîne d’informations d’identification AWS standard, notamment les variables d’environnement, les profils partagés, l’identité de charge de travail et les rôles IAM.
Créez le client d’exécution AWS Bedrock, convertissez-le IChatClienten, puis créez un agent 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");
Les informations d’identification AWS suivent la chaîne d’informations d’identification AWS standard. Accordez uniquement les actions du modèle Bedrock dont l’application a besoin.
Installer le package
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 lit le modèle, la région et les informations d’identification AWS à partir de ses paramètres ou valeurs de constructeur explicites.
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}")
Utilisez BedrockChatOptions les options de demande spécifiques à Bedrock et BedrockGuardrailConfig lorsque votre déploiement utilise des garde-fous Bedrock.
Générer des embeddings
BedrockEmbeddingClient génère des incorporations avec des modèles d’incorporation Amazon Titan. Configurez BEDROCK_EMBEDDING_MODEL et BEDROCK_REGIONutilisez ensuite la même chaîne d’informations d’identification AWS que BedrockChatClient.
Aucun exemple d’incorporation d’Agent Framework runnable n’est actuellement publié pour ce client.
Note
L’intégration d’Amazon Bedrock n’est actuellement pas disponible pour Agent Framework Go. Consultez le référentiel Agent Framework Go pour connaître l’état le plus récent.
Tools
Bedrock prend en charge les outils Agent Framework invoqués localement, mais n’expose pas les fabriques d’outils hébergées par un fournisseur.
| Tool | C# | Python | Remarques |
|---|---|---|---|
| Outils de fonction | ✅ | ✅ | La prise en charge du modèle varie selon le modèle Bedrock sélectionné. |
| Approbation de l’outil | ✅ | ✅ | Appliqué par la boucle d’appel de fonction Agent Framework. |
| Interpréteur de code | ❌ | ❌ | Aucune intégration de l’interpréteur de code hébergé par Bedrock. |
| Recherche de fichiers | ❌ | ❌ | Aucune intégration de recherche de fichiers hébergée par Bedrock. |
| Recherche web | ❌ | ❌ | Aucune intégration de recherche web hébergée par Bedrock. |
| Outils MCP hébergés | ❌ | ❌ | Aucune intégration MCP hébergée par Bedrock. |
| Outils MCP locaux | ✅ | ✅ | S’exécute dans le processus de l’application. |