このガイドでは、Looker データソースを使用してユーザー インターフェース(UI)で Conversational Analytics API の出力をレンダリングする推奨アプローチについて説明します。
ユーザーが API をクエリすると、レスポンスには最終的な回答に加えて、中間的な推論ステップが含まれることがあります。このガイドでは、メインの回答ビューと詳細ビューを実装して、さまざまな詳細レベルで API レスポンスをレンダリングする方法について説明します。
- メインの回答ビューには、ユーザーの質問に対する回答が直接表示されます。このビューは簡潔なプレゼンテーションを提供し、エージェントの推論に関する詳細は事前に表示されません。
- 詳細ビューには、エージェントが最終的な回答に到達するためにたどる推論プロセス全体が表示されます。これには、メインの回答ビューのすべての要素が含まれます。
推奨される UI パターンは、デフォルトでメインの回答ビューを表示し、ユーザーが詳細ビューに切り替えられるように、ボタンや切り替えなどの UI コントロールを提供することです。推論の詳細はロジックの検証に役立ちますが、最終的な回答に関心があるユーザーにとっては、デフォルトで表示されると不要な詳細が追加される可能性があります。
メインの回答ビュー
ユーザーの質問に対する最終的な直接回答のみを表示するには、このセクションの手順に沿って操作します。このビューは最終出力に焦点を当てており、中間ステップは除外されています。
システム メッセージのレンダリングに関するガイダンス
次の表に、最終的な直接回答と見なされるシステム メッセージと、これらのメッセージをレンダリングする方法に関する推奨事項を示します。
| システム メッセージ | レンダリングのガイダンス |
|---|---|
DataQuery |
関連付けられた結果とともにレンダリングします。このメッセージは、対応する DataResult メッセージをレンダリングする場合にのみレンダリングします。次の場合、DataQuery メッセージはレンダリングしないでください。
|
DataResult |
中間結果と空の結果を除く、すべての DataResult メッセージをレンダリングします。次の場合、DataResult メッセージはレンダリングしないでください。
|
ChartResult |
すべてのグラフをレンダリングします。API レスポンス内のすべての ChartResult メッセージをレンダリングします。 |
TextMessage |
最終的なレスポンスのみをレンダリングします。TextType の値が FINAL_RESPONSE の場合にのみ TextMessage メッセージをレンダリングします。 |
例: メインの回答ビューをレンダリングする
[理由を表示] などの切り替えを実装して、ユーザーがメインの回答ビューから詳細ビューに切り替えられるようにすることができます。
![[理由を表示] というラベルの付いた切り替えボタンが折りたたまれた状態で表示されています。](https://docs.cloud.google.com/static/gemini/docs/conversational-analytics-api/images/ca-api-main-answer-view-show-reasoning.png?hl=ja)
次の文字起こしは、メインの回答ビューを示しています。DataQuery メッセージの場合、基盤となるクエリ ロジックへのアクセスを任意で提供するため、クエリの詳細をインライン切り替えの背後に隠すことをおすすめします。トランスクリプトでは、折りたたみアイコン()で示されます。
ユーザー: 2022 年と 2023 年の Cymbal Group の総売上高を比較してください。結果をグラフにプロットします。
エージェント:
Total Sales Cymbal Group 2022 2023 のクエリ結果は次のとおりです。
Created Year Total Sales 2023 $96,627.00 2022 $93,095.50 Cymbal Group の 2022 年と 2023 年の総売上高
Cymbal Group の 2022 年の総売上高は $93,095.50 で、2023 年は $96,627.00 でした。
次の表に、サンプル インタラクションの要素と、対応する API システム メッセージのマッピングを示します。
| 要素 | ソース メッセージ |
|---|---|
| 生成されたクエリ(デフォルトでは 切り替えの背後に JSON が隠されています) | DataQuery |
| データ表 | DataResult |
| 棒グラフ | ChartResult |
| 最終的なテキスト回答 | TextMessage(FINAL_RESPONSE) |
詳細ビュー
このガイダンスを使用して、完全な推論プロセスをレンダリングします。このビューには、メインの回答ビューのすべての内容が含まれており、コンテンツと手順はエージェントによって生成された順序で表示されます。このビューには、エージェントが最終的な回答に到達するために実行するすべてのステップ(推論や中間データを含む)が表示されます。
推論と粒度の細かいデータ取得のレンダリング ガイダンス
次の表に、エージェントの推論と詳細な取得手順を表すシステム メッセージと、これらのメッセージをレンダリングする方法に関する推奨事項を示します。
| システム メッセージ | レンダリングのガイダンス |
|---|---|
TextType の値が THOUGHT の TextMessage |
推論ステップをレンダリングします。これらのメッセージを表示して、エージェントの内部思考プロセスを示します。これらのメッセージは 2 つの部分で構成されています。
parts[0])を表示することをおすすめします。 |
TextType の値が PROGRESS の TextMessage |
PROGRESS メッセージを表示します。これらのメッセージを表示して、エージェントの動作に関する分析情報を提供します。これらは、呼び出されているツールなど、エージェントの進行状況に関する情報メッセージです。これは、エージェントの内部思考プロセス(THOUGHT)とユーザーへの最終的な回答(FINAL_RESPONSE)とは異なります。これらのメッセージには 2 つの部分が含まれています。
|
DataQuery と DataResult(名前の末尾が _sample_values) |
中間 DataQuery メッセージと DataResult メッセージを表示します。DataQuery メッセージと DataResult メッセージの両方で、_sample_values で終わる name フィールドは、きめ細かいデータ取得の中間ステップであり、メインの回答ビューには表示されません。エージェントが行う手順を示すため、これらの情報を完全な回答ビュー(切り替えの背後)に含めます。 |
data フィールドが空の DataResult |
関連する DataQuery メッセージのみを表示します。空の data フィールドを含む DataResult メッセージは、どのビューにも表示しないでください。詳細表示で、空の結果につながった DataQuery メッセージを表示します(切り替えの背後)。これにより、クエリの結果がなくても、実行されたクエリを確認できます。最終的な回答の概要(タイプ FINAL_RESPONSE の TextMessage)で、クエリがデータを返さなかったことがすでにユーザーに通知されています。 |
例: 詳細ビュー全体をレンダリングする
ユーザーが [理由を表示] 切り替えをオンにすると、エージェントのステップごとの理由が UI に表示されます。
![[理由を表示] というラベルの付いた切り替えボタンがオンになっている状態。](https://docs.cloud.google.com/static/gemini/docs/conversational-analytics-api/images/ca-api-full-answer-view-show-reasoning.png?hl=ja)
次の文字起こしは、推論ステップを含む詳細ビューを示しています。DataQuery メッセージの場合、クエリの詳細はデフォルトで表示できます。また、トランスクリプトに示すように、展開アイコン()で示されるインライン切り替えの背後に表示することもできます。
ユーザー: 2022 年と 2023 年の Cymbal Group の総売上高を比較してください。結果をグラフにプロットします。
エージェント:
スキーマについて
2022 年と 2023 年の「シンバル グループ」の合計販売額を比較するには、「注文アイテム」の Explore をクエリする必要があります。プロダクト名「Cymbal Group」と 2022 年と 2023 年でフィルタします。次に、
Total SalesフィールドとCreated Yearフィールドを取得します。Total Sales Cymbal Group 2022 2023 のクエリ結果は次のとおりです。
[ {"model":"thelook","view":"order_items","fields":["order_items.total_sale_price","order_items.created_year"], "filters":{"order_items.created_year":"2022,2023","products.brand":"Cymbal Group"}} ]
Created Year Total Sales 2023 $96,627.00 2022 $93,095.50 販売分布をプロットする
2022 年と 2023 年の「シンバル グループ」の合計売上高を取得しました。この比較を可視化するグラフを生成し、最終的な回答を提供します。
2022 年と 2023 年の「シンバル グループ」の合計売上高を比較する棒グラフを生成します。x 軸は年、y 軸は総売上高を表す必要があります。
Cymbal Group の 2022 年の総売上高は $93,095.50 で、2023 年は $96,627.00 でした。
次の表に、サンプル インタラクションの手順と、対応する API システム メッセージのマッピングを示します。
| 要素 | ソース メッセージ |
|---|---|
| 「スキーマの理解」(思考の要約) | TextMessage(THOUGHT 型、parts[0]) |
| 「総売上高を比較するには...」(思考テキスト全文) | TextMessage(THOUGHT 型、parts[1]) |
| 生成されたクエリ( 切り替えを開くと JSON が表示されます) | DataQuery |
| データ表 | DataResult |
| 「売上分布をプロットする」(思考の要約) | TextMessage(THOUGHT 型、parts[0]) |
| 「...を取得しました。」(思考テキスト全文) | TextMessage(THOUGHT 型、parts[1]) |
| 棒グラフ | ChartResult |
| 最終的なテキスト回答 | TextMessage(FINAL_RESPONSE) |
