プロジェクト

全般

プロフィール

Bedrock

最終更新日:2025/08/17

まだまだ情報収集中なので参考程度で・・・

パッケージ

作成したエージェントを呼び出して使う場合は、「AWSSDK.BedrockAgentRuntime」を使用する。
エージェント自体を作成したりするのは多分「AWSSDK.BedrockAgent」の方。

・NuGet
NuGet Gallery | AWSSDK.BedrockAgentRuntime
https://www.nuget.org/packages/AWSSDK.BedrockAgentRuntime/

using Amazon.BedrockAgentRuntime;

エージェント操作

クライアント

クライアントから操作するので生成する。

AmazonBedrockAgentRuntimeClient bedrockAgentClient;
AmazonBedrockAgentRuntimeConfig bedrockAgentConfig = new()
{
    RegionEndpoint = Amazon.RegionEndpoint.APNortheast1
};
bedrockAgentClient = new AmazonBedrockAgentRuntimeClient(bedrockAgentConfig);

呼び出し

とりあえずソースから。

InvokeAgentRequest request = new()
{
    AgentId = "12345",
    AgentAliasId = "ABCDE",
    SessionId = "new-session-2025-08-17-001",
    InputText = "AWSについて教えてください。"
};

using InvokeAgentResponse invokeAgent = await bedrockAgentClient.InvokeAgentAsync(request);

StringBuilder outputText = new();
invokeAgent.Completion.ChunkReceived += (sender, e) =>
{
    outputText.Append(Encoding.UTF8.GetString(e.EventStreamEvent.Bytes.ToArray()));
};

await invokeAgent.Completion.StartProcessingAsync();

return outputText.ToString();

・InvokeAgentRequest
呼び出し用のパラメータ。
「AgentId」はエージェント自体のIDを、「AgentAliasId」にはそのエージェントで作成したエイリアスのIDを設定する。

bedrock_01.png

bedrock_02.png

「SessionId」は会話を識別するID、同じものを指定すればエージェントが過去の会話の履歴を拾ってくれる・・・と思う。(試してないw)
「InputText」はエージェントへの入力文字列。

・bedrockAgentClient.InvokeAgentAsync
エージェントを呼び出すための準備。
このタイミングではエージェントの処理は行われない。

・invokeAgent.Completion.ChunkReceived
チャンク受信イベント。
このイベントにエージェントからの出力が返される。
ChatGPTとかみたいに一定の文字の塊で順々に返ってくるので、上の例ではそのまま結合している。

・invokeAgent.Completion.StartProcessingAsync
これを呼び出すことで実際にエージェントが処理される。
エージェントの処理が完了すると、非同期処理が完了する。

リンク

公式ガイド・・・だけど現状JSしかない。

・AWS SDKs を使用する Amazon Bedrock エージェントのコード例
https://docs.aws.amazon.com/ja_jp/code-library/latest/ug/bedrock-agent_code_examples.html

プレリリースだけどMicrosoftが提供しているパッケージ。
正式リリースになったら試したい。

・セマンティック カーネル BedrockAgent の探索
https://learn.microsoft.com/ja-jp/semantic-kernel/frameworks/agent/agent-types/bedrock-agent?pivots=programming-language-csharp


メインページに戻る

他の形式にエクスポート: PDF HTML TXT