# Bedrock _**最終更新日:2025/08/17**_ まだまだ情報収集中なので参考程度で・・・ {{toc}} ## パッケージ 作成したエージェントを呼び出して使う場合は、「AWSSDK.BedrockAgentRuntime」を使用する。 エージェント自体を作成したりするのは多分「AWSSDK.BedrockAgent」の方。 ・NuGet NuGet Gallery | AWSSDK.BedrockAgentRuntime https://www.nuget.org/packages/AWSSDK.BedrockAgentRuntime/ ``` csharp using Amazon.BedrockAgentRuntime; ``` ## エージェント操作 ### クライアント クライアントから操作するので生成する。 ``` csharp AmazonBedrockAgentRuntimeClient bedrockAgentClient; AmazonBedrockAgentRuntimeConfig bedrockAgentConfig = new() { RegionEndpoint = Amazon.RegionEndpoint.APNortheast1 }; bedrockAgentClient = new AmazonBedrockAgentRuntimeClient(bedrockAgentConfig); ``` ### 呼び出し とりあえずソースから。 ``` csharp 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を設定する。 {{thumbnail(bedrock_01.png, size=800, title=エージェントID)}} {{thumbnail(bedrock_02.png, size=800, title=エージェントエイリアスID)}} 「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 --- [[aws:wiki|メインページに戻る]]