DifyでAWS Bedrockプラグインの0.0.41以降だとKB作成時にエラー
はじめに
プログデンスの圓佛です。Difyでは「Knowledge Base」(以下、KB)と呼ばれる機能で簡単にRAGを作成することができます。ですが、特定の条件下ではKBの作成時にエラーとなってしまいます。この問題は以下のGitHub Issueでも言及されています。
今回は「KB作成時にエラーになる条件」と「回避策」をまとめます。
この記事で分かること
- 発生条件
- 「amazon.titan-embed-text-v2:0」+「AWS Bedrockプラグイン0.0.41以降」の組み合わせでKB作成する
- 回避策
- 埋め込みモデルとして「amazon.titan-embed-text-v1」を利用する
- (または)AWS Bedrockプラグインのバージョンを0.0.40へ下げる
検証環境
今回の検証ではDifyのオンプレミス版(コンテナ版)を利用しています。
| 対象 | バージョン |
|---|---|
| Dify | 1.9.2 |
KB作成時のエラー
現時点でAWS Bedrockプラグインの最新バージョンは0.0.44です。

この状態でKBを作成します。「ナレッジ→ナレッジベースを作成」をクリックします。

学習させたい任意のファイルをアップロードします。今回はRFC4271:A Border Gateway Protocol 4 (BGP-4)をアップロードしました。

KB作成のパラメータを指定します。全てデフォルトのままです。埋め込みモデルには「amazon.titan-embed-text-v2:0」を指定しています。

しかし、以下のエラーになり、インデックスの作成に失敗しました。
{"args":{},"error_type":"TimingContextRaceConditionError","message":"Timing context has been started, DO NOT start it in multi-threaded environment."}

当然ですが、KBの内容を確認してもエラーになっています。

回避策1:「amazon.titan-embed-text-v1」を使う
埋め込みモデルに(「amazon.titan-embed-text-v2:0」では無く)「amazon.titan-embed-text-v1」を指定します(※AWS Bedrockプラグインは0.0.44を指定したままです)。

埋め込みモデルを変更するとエラーは発生せず、KB作成が正常終了しました。

回避策2:AWS Bedrockプラグインのバージョンを0.0.40へ下げる
「amazon.titan-embed-text-v2:0」を指定したままでも、AWS Bedrockプラグインのバージョンを0.0.40へ下げるとエラーは発生しませんでした。
