新機能紹介!watsonx.aiのプロンプトラボで文書と画像の簡単RAGチャット
投稿者:土橋
こんにちは!日本情報通信の土橋です。
生成AIを活用する際に、特定の文書や画像の情報を用いて質問や要約を行いたいと思ったことはありませんか?この度、IBM社の生成AI製品であるwatsonx.aiに文書や画像を添付できる新機能「Chat with documents and images」が追加されました!今回のブログでは、このwatsonx.aiの便利な新機能について、詳しい使い方や実際の使用例をご紹介します。
新機能「Chat with documents and images」の使い方
watsonx.aiの新機能「Chat with documents and images」では、アップロードした文書や画像を基にして、AIが回答を生成してくれます。この機能を活用することで、生成AI単体だけでは回答できない専門的な回答を得やすくなります。
新機能「Chat with documents and images」はwatsonx.aiのプロンプト・ラボから簡単に試すことができます。早速、「Chat with documents and images」の詳しい使い方についてご紹介していきます。
はじめに、プロンプト・ラボのチャット画面を開き、入力欄左側にある矢印ボタンを押します。

矢印ボタンを押すと、以下のような「ドキュメントの追加」と「イメージの追加」という表記がでてきます。これらを選択することでwatsonx.aiにドキュメントや画像をアップロードすることができます。

今回はドキュメントの追加方法について詳しくご紹介します。ドキュメントの追加を押すと、ドキュメントを追加する設定画面である「ベクトル化されたドキュメントを使ったAI」に遷移します。

この画面ではPPTX・DOCX・PDF・TXT形式のファイルをアップロードすることができます。各ファイル形式でアップロードできる容量は以下の表のとおりです。また、1度のアップロードで複数のファイル形式が含まれる場合、最も容量が少ないファイル形式の容量が、1度のアップロードで添付できる最大容量となります。例えば、PDFとDOCXをアップロードした場合、このアップロードの最大容量は、最も容量が少ないDOCXの容量に基づき10MBになります。また、ファイルは上記画像の「参照」からアップロードすることができます。

watsonx.aiでは、アップロードされたファイルは埋め込みモデルによってベクトル化され、ベクトルインデックスとして保存されます。
ベクトル化とは、文章や画像などの数値ではないデータを数字の羅列であるベクトルに変換する技術のことを言い、埋め込みモデルでベクトル化を実行します。ベクトル化を行うことで文章同士の類似度を数値で比べることが可能になり、意味が類似したデータを探しやすくなります。
「ベクトル化されたドキュメントを使ったAI」画面右側にある「拡張設定」を押すことでベクトル化の詳細設定を行うことができます。

「埋め込みモデル」では、ドキュメントをベクトル化する機械学習モデルを選択することができます。埋め込みモデルは9種類から選ぶことができ(2025年3月現在)、IBM社が開発したものだけでなく、他社が開発したモデルも選択可能です。日本語に対応しているモデルはIBM社の「granite-embedding-107m-multilingual」・「granite-embedding-278m-multilingual」、マイクロソフト社の「multilingual-e5-large」であり、日本語のドキュメントをアップロードする際はこれらのモデルを選択してください。
ドキュメントをベクトル化するとき、ドキュメント内の文章を適切な大きさで分割する必要があります。適切な大きさで分割された文章をチャンクといい、分割する文字数をチャンクサイズといいます。「拡張設定」から500~5000の間でチャンクサイズを設定することができます。また、隣り合うチャンクが一部重なる箇所をオーバーラップといい、オーバーラップの文字数も0~250の間で設定することができます。
「拡張設定」においてベクトル化の詳細設定を終えたら、保存する名前を入力し、「作成」ボタンを押すことでベクトルインデックスを作成することができます。
ベクトルインデックスの作成が成功すると、再びプロンプト・ラボのチャット画面に遷移し、入力欄に作成したベクトルインデックス名が表示されます。(以下は、ベクトルインデックス名を「IT企業就業規則」としたときの画面です。)

以上が新機能「Chat with documents and images」の設定方法です。上画面の状態になれば、入力した質問文に関連した情報をベクトルインデックスから探し出し、その情報を用いた回答を得られるようになります。
LLMにデータを学習させず、質問文と関連した情報を外部データから参照し、回答を生成する技術をRAGといいます。watsonx.aiの新機能「Chat with documents and images」はこのRAGという技術であり、簡単にRAGを実装・試すことができる画期的な技術と言えます!
(補足情報)
RAGでは、質問に関連する情報を外部データから取得する際、その情報の数をTop-Kという変数で指定します。watsonx.aiでは、Top-Kはデフォルト値として「3」が設定されていますが、Top-Kの値を変更することも可能です。
はじめに、「すべての資産」から保存したベクトルインデックスを選択します。

次に、テストタブ(①)の検索設定の調整(②)を押すと、「検索設定の調整」が出てきます。
この「検索設定の調整」の上位K(③)の値を変更することでTop-Kの値を設定することができます。

新機能「Chat with documents and images」でRAGを試してみよう!
上記では、watsonx.aiの新機能「Chat with documents and images」により、RAGを簡単に試せることをご紹介しました。
ここからは、実際にwatsonx.aiの新機能「Chat with documents and images」を試していきます!
今回は、生成AIで架空のIT企業の就業規則を書いたドキュメントを作成し、そのドキュメントをアップロードして質問を行います。
はじめに、架空のIT企業の就業規則を書いたドキュメントである「IT企業就業規則.pdf」を、「ベクトル化されたドキュメントを使ったAI」からアップロードします。埋め込みモデルは「multilingual-e5-large」、チャンクサイズは「500」、オーバーラップは「250」で設定し、ベクトルインデックス「IT企業就業規則」を作成します。

これでベクトル化の設定が完了しました!ここからはチャット画面で質問を試していきます。
まず、質問として「休日はいつですか?」と入力してみます。以下は回答結果です。

また、「IT企業就業規則」の休日に関する記載は以下の通りです。

この結果から、AIはアップロードした「IT企業就業規則」の内容を基に正しい回答を出力できていることがわかります。
次に、質問として「有給休暇の付与日数について教えてください。」と入力します。以下は回答結果です。

また、「IT企業就業規則」の有給休暇の付与日数に関する記載は以下の通りです。

この結果からも、アップロードした「IT企業就業規則.pdf」の内容を基に回答が生成されていることが確認できます。
また、watsonx.aiはドキュメント内に表形式で記載された情報も正しく認識し、ユーザーの質問に正しく回答できることがわかります。
これらの結果から、watsonx.aiの新機能「Chat with documents and images」を用いることで簡単にRAGを実装でき、アップロードした文書に基づいた回答を得られることがわかりました!
まとめ
今回は、watsonx.aiの新機能である「Chat with documents and images」についてご紹介しました。
新機能「Chat with documents and images」により、watsonx.aiで気軽にRAGの技術を試せるようになりました!
ぜひwatsonx.aiでRAGの技術を試してみてはいかがでしょうか。