メインコンテンツへスキップ
Jinba FlowにはLlama Cloudツールが2つあります。LLAMA_CLOUD_PARSEはファイルURLを読み、解析したテキストを返します。LLAMA_CLOUD_QUERYは既存のLlama Cloudインデックスに1つまたは複数の質問を送り、回答を返します。どちらもapiKey設定を使います。Llama認証情報も参照してください。

ファイルURLを解析する

LLAMA_CLOUD_PARSEにはurlが必要です。解析したテキストを文字列としてresultに返します。
プレースホルダーを自分のキーとアクセス可能なファイルURLに置き換えます。resultで抽出したテキストを確認します。401エラーはキーの無効または期限切れを示します。内容が空というエラーでは、ファイルからテキストを解析できなかった可能性があります。 解析と検索は別の処理です。LLAMA_CLOUD_PARSEは指定URLからテキストを抽出しますが、その文書をLLAMA_CLOUD_QUERYのインデックスに追加するわけではありません。先にLlama Cloudへ文書をアップロードしてインデックス化し、そのインデックス名、プロジェクト、組織を指定して検索します。 単一の文書から必要な項目を抽出するには、解析したテキストを後続のAIステップに渡します。これは旧ページの解析・処理ワークフローを、現行ツールで行う方法です。
AIステップのresult.contentに生成テキストが含まれます。手順や参考情報として使う前に、解析済みテキストと照合してください。

既存インデックスに質問する

LLAMA_CLOUD_QUERYにはインデックスのname、projectName、organizationId、正の数のsimilarityTopKが必要です。inputには質問の配列を渡します。任意のsystemPromptの既定値は{query}で、そのプレースホルダーに各質問が入ります。
インデックス情報をアクセス可能な値に置き換えます。similarityTopKは各質問に対して取得する類似チャンクの数です。まず小さな値から始め、回答に関連情報が足りない場合に増やします。systemPromptの既定値は{query}です。このプレースホルダーの前後に回答形式の指示を加えられますが、質問自体もプロンプトに含めてください。 出力のresultは質問ごとの配列です。各要素では、1番目の文字列が質問、2番目が生成された回答、その後の文字列が利用可能な場合のファイル名付き出典抜粋です。要約には回答を使い、内容を人が確認する必要がある場合は抜粋も一緒に保持します。個別の質問が失敗すると、その要素にエラー文字列が返るため、すべての回答を成功扱いする前に結果を確認してください。 関連する質問を複数まとめて送るには、input配列に質問を追加します。たとえば["今四半期に何が変わりましたか?","未解決のリスクは何ですか?"]のように指定します。各質問は設定したインデックスに対して回答されます。別々のインデックスを比較する場合は、インデックス名や詳細を変えてクエリステップをそれぞれ作成します。 比較する場合は、同じ質問と検索件数を各ステップで使い、インデックス情報だけを変えます。その後のステップで両方の結果を渡し、共通点と相違点を分けて整理します。こうすると比較対象をインデックスに絞れます。クエリツールは取得したテキストをもとに回答を生成するため、重要な主張は返された出典抜粋と原文で確認してください。

実用上のヒント

  • 話題や用途ごとに文書を整理し、関連性の高いコレクションを検索します。
  • 対象、期間、文書の種類などを含む具体的な質問にします。
  • 関連する少数の質問は1回にまとめ、無関係な質問は分けて、それぞれに適切な文脈を与えます。
  • 出典抜粋は確認用の根拠として扱います。生成回答では原文のニュアンスが省かれたり、内容と食い違ったりすることがあります。
  • 回答が空、または的外れな場合は、期待する文書がインデックスに含まれるか、組織とプロジェクトが正しいか確認し、質問やsimilarityTopKを調整します。
  • APIキーはJinbaのシークレット設定に保存します。ワークフローのプロンプトや公開例に貼り付けないでください。

質問と回答のワークフローを作る

簡単なFAQやレビューでは、質問を1つのinput配列にまとめます。LLAMA_CLOUD_QUERYは質問を並列に処理し、結果の順序を保ちます。systemPromptを一度設定し、すべての質問に共通する回答ルールを指定します。
質問ごとに結果要素を確認します。有用な回答は質問に対応し、その後に続く出典抜粋が主な内容を裏付けている必要があります。インデックスに答えがない場合は、推測で補わずにその旨を伝えるようプロンプトで指示しています。

2つのインデックスを比較する

同じ質問を2つのコレクション(例: 製品マニュアルとサポート履歴)から回答するには、クエリステップを2つ作成します。質問、systemPrompt、similarityTopKは両方で同じにし、2つ目のコレクションを対象にするためnameなどのインデックス識別情報を変えます。後続のOPENAI_INVOKEステップで、両方の回答と出典抜粋をまとめ、一致点、相違点、根拠の不足を整理できます。合成用の入力には出典抜粋も含め、文書の不一致と生成文の表現の違いを区別できるようにします。 例えば、同じ質問をマニュアルのインデックスとサポート履歴のインデックスに送り、結果を比較します。
クエリ結果には質問、回答、出典抜粋が含まれるため、比較ステップで各回答を根拠と照合できます。 この方法は期間別や話題別の文書グループを比較する場合にも使えます。比較結果を解釈する前に、各インデックスに想定した文書が含まれていることを確認してください。クエリツールはインデックスを作成せず、含める文書も選択しません。

1つの質問を複数のインデックスで調べる

製品ローンチの準備のような広い質問には、複数のコレクションからの根拠が必要になることがあります。まず具体的な質問に分解し、それぞれを対応するインデックスに送り、回答をまとめます。以前の文脈調査ワークフローを現行のツール名で書き直したものです。
plan_queriesはjson_schemaを使うため、result.contentはオブジェクトになり、各リストをそのままクエリステップのinputに渡せます。技術要件など別の領域を調べる場合は、3つ目のリストとクエリステップを追加します。調査メモは生成されたテキストなので、共有する前に主な点を出典抜粋と照合してください。 現在のツールIDはLLAMA_CLOUD_QUERYです。以前のAdvanced例で使われていたLLAMA_CLOUD_QUERY_WITH_LLAMA_INDEX、LLAMA_CLOUD_SEARCH、LLAMA_CLOUD_SEARCH_WITH_LLAMA_INDEXは現行ツールセットにはありません。上記の入力名でLLAMA_CLOUD_QUERYを使ってください。