Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Amazon Bedrock offre inferenza gestita per i modelli di base tramite AWS. Agent Framework può eseguire il wrapping di un bedrock IChatClient o usare il Python BedrockChatClient mantenendo al tempo stesso l'agente standard, la sessione, il middleware e le API degli strumenti.
Importante
Amazon Bedrock è un sistema di terze parti. Esaminare i termini del servizio AWS, la gestione dei dati, la disponibilità a livello di area, l'accesso al modello e i costi di utilizzo prima di inviare i dati dell'applicazione.
Installare i pacchetti
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'autenticazione usa la catena di credenziali AWS standard, tra cui variabili di ambiente, profili condivisi, identità del carico di lavoro e ruoli IAM.
Creare il client di runtime di AWS Bedrock, convertirlo in IChatCliente quindi creare un agente di 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");
Le credenziali AWS seguono la catena di credenziali AWS standard. Concedere solo le azioni del modello Bedrock necessarie all'applicazione.
Installare il pacchetto
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 legge le credenziali del modello, dell'area e di AWS dalle impostazioni o dai valori espliciti del costruttore.
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}")
Usare BedrockChatOptions per le opzioni di richiesta specifiche di Bedrock e BedrockGuardrailConfig quando la distribuzione usa le protezioni Bedrock.
Generare incorporamenti
BedrockEmbeddingClient genera incorporamenti con i modelli di incorporamento di Amazon Titan. Configurare BEDROCK_EMBEDDING_MODEL e BEDROCK_REGION, quindi usare la stessa catena di credenziali AWS di BedrockChatClient.
Per questo client non è attualmente pubblicato alcun esempio di incorporamento di Agent Framework eseguibile.
Annotazioni
L'integrazione di Amazon Bedrock non è attualmente disponibile per Agent Framework Go. Vedere il repository di Agent Framework Go per lo stato più aggiornato.
Tools
Bedrock supporta gli strumenti di Agent Framework richiamati localmente, ma non espone le factory degli strumenti ospitate dal provider.
| Strumento | C# | Python | Note |
|---|---|---|---|
| Strumenti per le funzioni | ✅ | ✅ | Il supporto del modello varia in base al modello Bedrock selezionato. |
| Approvazione degli strumenti | ✅ | ✅ | Applicato dal ciclo function-invocation di Agent Framework. |
| Interprete di codice | ❌ | ❌ | Nessuna integrazione dell'interprete di codice ospitato da Bedrock. |
| Ricerca file | ❌ | ❌ | Nessuna integrazione di ricerca file ospitata da Bedrock. |
| Ricerca Web | ❌ | ❌ | Nessuna integrazione di ricerca Web ospitata in Bedrock. |
| Strumenti MCP ospitati | ❌ | ❌ | Nessuna integrazione MCP ospitata da Bedrock. |
| Strumenti MCP locali | ✅ | ✅ | Viene eseguito nel processo dell'applicazione. |