DifyでAWS Bedrockを利用する際に知っておきたいこと
基本情報
Difyを構築して、AWS Bedrockを利用して各種LLMモデルを使用する際に知っておいた方が良いと感じた情報を記述する。
Bedrockを使用する際は、モデルプロバイダーから「AWS Bedrock」を選択してインストールする。
※名前はプラグインのバージョンによって異なる場合がある
Available Model Name(モデル検証)
Keyの検証のために使用するモデルを入力する項目がある。
この入力は必須ではない。入力しない場合、デフォルトでTitan Text G1 - Liteで検証が行われる。
検証をしているソースコードから抜粋:
model_for_validation = credentials.get("model_for_validation", "amazon.titan-text-lite-v1")
ここで記述されている amazon.titan-text-lite-v1
が、デフォルトのTitan Text G1 - Liteである。
モデルIDの確認方法
モデルのIDは以下の手順で確認できる:
- Amazon Bedrock > Model catalog に移動
- 確認したいモデルを選択
- 「Model ID」の項目を確認
エラー対応
keyの検証エラー
以下のようなエラーが表示された場合:
このエラーはCross-region inferenceのモデルで発生する可能性がある。
Cross-region inferenceで確認できるInference profile IDを入力すると検証が完了できる。
バージョン
これに関しては実体験であり、照明するものがないため参考程度に留めてもらいたい。
Dify1.2.0 - AWS Bedrock0.0.12の組み合わせが悪いのか、これだとBedrockを使用したLLMは全てエラーになった。
Dify1.2.0 - AWS Bedrock 0.0.10だと、正常に動作した。
余談:ソースコードに関して
keyの検証をしているソースコードが実際どこにあるかを確認する
model_for_validation = credentials.get("model_for_validation", "amazon.titan-text-lite-v1")
Dify v0系の場合
以下のファイルで、該当するソースコードが確認できる:
-
api/core/model_runtime/model_providers/bedrock/bedrock.py
Dify v1系の場合
v1系からは、Difyのリポジトリでは該当するソースコードは見つけられない。
dify-official-pluginsリポジトリの以下のファイルで確認できる:
-
models/bedrock/provider/bedrock.py
元々v0系で、Difyに内包されていたプラグインに関わる処理が、v1系からDifyとPlugin-daemonとして分離している。
プラグインはDify Marketplaceで公開されている:
Marketplaceでプラグインを公開したい場合は、dify-pluginsリポジトリにプルリクを出す必要がある:
つまり、プラグインに関わる処理で何をやっているのかを調査する際は、このリポジトリから探すとよい。
なお、今回のAWS Bedrockのように、Difyの公式プラグインの場合はdify-official-pluginsを見る必要がある:
以上、ECSでDifyを構築する際に気になった点を記載した。
by 株式会社DELTA
[CTO Booster]
[VersionUp booster]
Discussion