Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Amazon Bedrock proporciona inferencia administrada para modelos fundamentales a través de AWS. Agent Framework puede encapsular un bedrock IChatClient o usar el Python BedrockChatClient al tiempo que mantiene las API estándar del agente, la sesión, el middleware y las herramientas.
Importante
Amazon Bedrock es un sistema de terceros. Revise los términos del servicio de AWS, el control de datos, la disponibilidad regional, el acceso al modelo y los costos de uso antes de enviar datos de la aplicación.
Instalación de los paquetes
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"
La autenticación usa la cadena de credenciales de AWS estándar, incluidas las variables de entorno, los perfiles compartidos, la identidad de carga de trabajo y los roles de IAM.
Cree el cliente en tiempo de ejecución de AWS Bedrock, conviértelo en IChatClienty, a continuación, cree un agente de 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");
Las credenciales de AWS siguen la cadena de credenciales de AWS estándar. Conceda solo las acciones del modelo bedrock que necesita la aplicación.
Instalar el paquete
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 lee el modelo, la región y las credenciales de AWS de su configuración o valores de constructor explícitos.
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 las opciones de solicitud específicas de Bedrock y BedrockGuardrailConfig cuando la implementación use los límites de protección de Bedrock.
Generación de inserciones
BedrockEmbeddingClient genera incrustaciones con modelos de inserción de Amazon Titan. Configure BEDROCK_EMBEDDING_MODEL y BEDROCK_REGION, use la misma cadena de credenciales de AWS que BedrockChatClient.
Actualmente no se publica ningún ejemplo de inserción de Agent Framework ejecutable para este cliente.
Note
La integración de Amazon Bedrock no está disponible actualmente para Agent Framework Go. Consulte el repositorio de Agent Framework Go para obtener el estado más reciente.
Tools
Bedrock admite herramientas de Agent Framework invocadas localmente, pero no expone generadores de herramientas hospedadas por el proveedor.
| Herramienta | C# | Python | Notas |
|---|---|---|---|
| Herramientas de funciones | ✅ | ✅ | La compatibilidad con modelos varía según el modelo bedrock seleccionado. |
| Aprobación de herramientas | ✅ | ✅ | Aplicado por el bucle de invocación de función de Agent Framework. |
| Intérprete de código | ❌ | ❌ | No se ha integrado ningún intérprete de código hospedado en Bedrock. |
| Búsqueda de archivos | ❌ | ❌ | No se ha integrado la búsqueda de archivos hospedada en Bedrock. |
| Búsqueda web | ❌ | ❌ | No hay integración de búsqueda web hospedada en Bedrock. |
| Herramientas de MCP hospedadas | ❌ | ❌ | No hay integración de MCP hospedada en Bedrock. |
| Herramientas de MCP locales | ✅ | ✅ | Se ejecuta en el proceso de aplicación. |