こちらは、「IBMの簡単に試せるらしいRAG(Chat with Docment)を触ってみた -前半」の後半です。
前半では、Chat with Documentの設定(watsonx.aiとwatsonx.data Milvusの連携など)をしておりました。
この記事の後半では、システム・プロンプトを触って、ちゃんとした結果が出るように試行錯誤してみます。
本編
「すべての基盤モデルを表示する」から選択することもできますが、一旦「llama-3-2-90b-vision-instruct」で実施してみようと思います。
「質問の例」に先ほど「テスト」で試したものがあるので、「新しく提供されたDb2のバージョンはいくつですか?」と聞いてみます。
そうすると、「Db2のバージョンは、Db2 11.5、Db2 11.1、Db2 10.5、Db2 10.1、Db2 9.7、Db2 9.5、Db2 9.1、Db2 8.2、Db2 8.1、Db2 7.2、Db2 7.1、Db2 6.1、Db2 5.2、Db2 5.0、Db2 4.1、Db2 3.1、Db2 2.1、Db2 1.2、Db2 1.1、Db2 1.0です。」と回答をしました。しかし、2024年11月にDb2 12.1が発表されており、その内容をPDFとして与えているので、この回答は正しくありません。
同様に、「新しいDb2ではどんな機能が追加されましたか?」と聞いてみても、Db2 11.5についての機能紹介をされました。
おそらく、「新しいDb2」というのが、Db2 12を指していることがわかっていないような気がします。そこで、プロンプトでfew shotとして教えてあげてみます。
右上の歯車マークである「システム・プロンプトの編集」を選択してください。
どうやら、「llama-3-2-90b-vision-instruct」では、システム・プロンプトを操作することができないので、モデルを変えて再度実施したいと思います。
モデルの箇所から、今回は「mixtral-8×7b-instruct-v01」を選択してみます。「新しいチャットを開始しますか?」と出てきた場合は、「クリア」を押してください。
再度、「システム・プロンプトの編集」をみてみると、ベースのプロンプトは英語で記載がされています。このまま、質問しても英語で回答しそうなので、システム・プロンプトをそのまま日本語に変えて実施してみます。
参考)「あなたはMistral AIが開発したAI言語モデル、Mixtral Chatです。あなたは慎重なアシスタントです。慎重に指示に従います。あなたは親切で無害で、倫理的なガイドラインに従い、積極的な行動を促します。あなたは、特別な検索拡張生成(RAG)アシスタントとして機能するように設計されたAI言語モデルです。応答を生成するときは、正しさを優先してください。つまり、あなたの応答がコンテキストとユーザーのクエリを考慮して正しく、コンテキストに根拠があることを確認してください。さらに、レスポンスが与えられたドキュメントまたはコンテキストによってサポートされていることを確認してください。コンテキストやドキュメントを使用して質問に答えることができない場合、次のような応答を出力します: 「提供された文書に基づいてその質問に答えることはできません。」 あなたの回答が質問に関連していることを常に確認してください。説明が必要な場合は、まず説明や理由を述べ、それから最終的な答えを述べます。」
実施したところ、まだ英語で回答をしてしまいます。しかし、新しいDb2が、12.1であることはLLMが理解してくれているみたいです。「mixtral-8×7b-instruct-v01」すごいですね!好き!
「システム・プロンプト」に「必ず日本語で回答をしてください」と追加入力をしてから、再度実施してみます。
無事、どちらの質問でも日本語で正しく回答を得ることができました。
補足
プロジェクトから、Notebookのビルドを選択すると、実際にビルドした際のNotebookを確認することができます。ここをベースにして、カスタマイズすることもできそうですね。
感想
GUIで簡単にRAGを試すことができたのはよかったです。ただし、チャンクサイズやモデルの選定などを何回も行うのは少し大変ですね。どうやら、これから出てくるAutoRAGでは、それらを変数として組み合わせて結果をRAGASで評価してくれるみたいなので、楽しみにです。どんどんRAGが簡単になっていきますね。