Dify のRAGバックエンドベクトルストアにTiDB Vector Search を設定する その2 Cohere Reranker
RAGは検索された文字列をベクトル化し、TiDB Vector Searchと検索し近しい情報を抽出し、それを生成AIモデルで最終的に自然な言葉に変換して出力されることで完成します。
この記事では残りのそのステップを行っていきます。
さっそくやってみる
Rerankerの設定
Reranker
とはベクトル検索の結果として抽出された関連性のある文字列をさらに評価し、関連性の高い順に並び変えます。RAGの開発において必ずしも必須ではありませんが、DifyでChatbotを作成する際には、指定しないとエラーとなってしまうので指定します。
RerankerにはCohereを使います。
Cohere とは
Cohereは、GPT-3に似た強力な言語モデルを提供しています。これらのモデルは、テキスト生成、翻訳、要約、対話、感情分析などのタスクをサポートします。
アカウントを作成すると以下の画面でテスト用APIKeyが入手可能です。
入手出来たらDifyのプロフィール画面で設定
をクリックします。
モデルプロバイダーからCohere
を選択します。
以下のようになればセットアップ完了です。
ナレッジへのRerankerへの組み込み
次に、過去作成したナレッジ(TiDB Serverless Vector Searchがベクトルデータを保存している部分です)を開きます。
以下のように検索手法の箇所でrerank用モデルを指定します。
TopK
というのはベクトル検索結果として、候補を何件出力するか?という意味です。ここで2と指定した場合、rerankerで2つのうちどちらがより質問の文脈に近い内容が検索結果として含まれているか?と判断することになります。
アプリケーションの作成
最後にRAGアプリケーションを作成します。
画面上部で探索
をクリックします。
Knowledge Retrieval + Chatbot
を選択します。
既に基本的な雛形が設定されています。
KNOWLEDGE RETRIEVAL
をクリックしてナレッジを指定します。
(2 選択された知識)と表示された混乱しますがこれが正しい状態です。
Rerank
モデルの指定を行います。
あとはプレビューでテストできます。
Discussion