DifyでAmazon Bedrockを使用して簡単なエージェントを作る

# DifyでAmazon Bedrockを使用して簡単なエージェントを作成します。

[導入はこちらを参照]()

公式のハンズオン初級編にある、オンライン旅行アシスタントを構築します
LLMモデルにはBedrockでClaude 3.7 Sonnetを使います。
https://docs.dify.ai/ja-jp/workshop/basic/travel-assistant

## モデルの設定
- Amazon Bedrockで `Claude 3.7 Sonnet` を使ってみましょう

### BedRockのモデル有効化
- Model catalogから使いたいモデルを検索します。（今回はClaude 3.7 Sonnet）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/ade189fa-ff18-476a-9b7d-ddb2f6d1e216.png)


- Modify accessを選択してその後の設定に従ってください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/12fc9d81-3571-4107-8583-796ddd08f8f9.png)

### Difyでのモデル設定
- 設定→モデルプロバイダーで `Amazon Bedrock` をインストールします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/1825bc6b-68b2-4765-9a23-0b9635488b20.png)

- インストールが終わったらセットアップを開いて、
    - `Access Key`
    - `Secret Access Key`
    - `AWS Region`
    - `Available Model Name`
    を入力して保存します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/239c7e0e-4a04-46aa-8393-3bb88c001c81.png)


ちなみに、Difyの設定からClaude 3.7 Sonnetを使用しようとしたところ、エラーが出ました。
> ValidationException: Invocation of model ID anthropic.claude-3-7-sonnet-20250219-v1:0 with on-demand throughput isn’t supported. Retry your request with the ID or ARN of an inference profile that contains this model.

マネジメントコンソールから確認できる Model IDは`anthropic.claude-3-7-sonnet-20250219-v1:0`ですが、ここでは推論プロファイル`us.anthropic.claude-3-7-sonnet-20250219-v1:0`を指定する必要があるようです。

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/inference-profiles-support.html

### Difyのシステムモデル設定
ついでにシステムモデル設定もしておきましょう
「?」をクリックするとそれぞれ説明が表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/66b3da52-760b-43b3-9fa5-b6e570402968.png)

## ツールの設定
ここからハンズオンのシナリオに戻って進めます

### ツールのインストールおよび設定
以下の3つを `ツール` からインストールしましょう
#### Google
GoogleツールはSerpAPIに基づいています
[SerpAPI](https://serpapi.com/manage-api-key)にアクセスし、APIキーを取得しましょう
Freeプランで月100回の呼び出しができるので検証には十分ですね

#### WikiPedia
設定不要
#### webscraper
設定不要

## エージェント作成
いよいよDifyでエージェントを作成していきます

- `スタジオ`から`アプリを作成する`→`最初から作成`をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/0a262087-395c-47f4-9ec4-2df486811587.png)

- エージェントを選んで、作成しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/614b0c05-7499-4709-81b0-e9fe57cafe8a.png)

- プロンプト設定
突然オーケストレーションという聞き慣れない言葉が出てきますが焦る必要はありません
この画面ではエージェントがエージェントに期待する出力を入力します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/8b8464c0-68a8-433d-8eb1-bbc46c01751d.png)

- プロンプト自動生成
`自動` ボタンから旅行計画のプロンプトを生成することができました（とても便利ですね！これでプロンプトに何が必要かを学べそうです）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/55916f17-4bbf-43f3-a20c-cd2e03f6e0d0.png)

### ツール設定
以下をツールに追加します
- Google
- WikiPedia
- Webscraper

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/42ce3485-c4b9-4b89-983a-1ff59b57ac8f.png)

## 公開
「公開する」ボタンをクリックするとローカルでテスト可能です（クラウド上で公開されるわけではないです）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/994b2c5b-4681-4d3c-b0c9-79cd08cad46c.png)

こんな感じ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33070/1c7ec42e-1365-4530-9a00-e7c5fee99e0f.png)