条件分岐などの処理フロー制御、RAG、外部DBとの連携などの機能を使いたい場合には、チャットボットではなく、チャットフローを使います。
チャットフローではあらかじめ用意されているブロックをつなぎ合わせることで、一つの処理フローを実現します。
基本のチャットフロー
ファイルを読み込んでその内容について回答するチャットフローを作ってみます。
ユーザが会話を開始するときに、ファイルを自分でアップロードしてその内容に従って、回答してもらうものです。

ブロックは、「開始」「LLM」「回答」の3つだけです。
LLMブロックを選択して、このアプリでのLLMの動作を設定します。
LLM:モデル
モデルプロバイダー設定でAPI KEYを設定したモデルが選択可能になっています。今回は、資料としてPDFファイルも使いたいので、Anthropicの「claude-3-7-sonnet-20250219」を選択します。
LLM:SYSTEM
LLMのシステムプロンプトを指定します。
あなたは優秀なアナリストです。添付資料に基づいてに、ユーザの質問に答えます。
添付資料にない事柄については、回答しないでください。
最後の一文「添付資料にない事柄については、回答しないでください。」を記載しておくことで、ハルシネーションを防ぐことができます。
LLM:メモリ
会話履歴を使って対話をするために「メモリ」を「オン」にしておきます。
機能:ファイルアップロード
チャットに対してファイルを添付できるように、「機能」から「ファイルアップロード」をオンにします。

動作結果
上手く動作できているか、試してみます。今回は、京都市のサイトにあった以下の資料を使います。
タイトル:令和5年京都観光総合調査結果【概要】
形式:PDF 5ページ
URL:https://www.city.kyoto.lg.jp/sankan/cmsfiles/contents/0000313/313644/gaiyou.pdf
※グラフ、表、コメントなどが含まれています。
要約
この資料を300文字で要約してください。
令和5年京都観光総合調査結果概要
令和5年は水際対策終了や新型コロナの5類移行により観光需要が本格回復した。観光消費額は1兆5,366億円(元年比+24.3%)、経済波及効果は1兆7,014億円(元年比+25.4%)と過去最高を記録。観光客数は5,028万1千人(元年比-6.0%)とコロナ前を下回ったが、宿泊客数は1,474万5千人(元年比+12.0%)とコロナ前を上回った。特に外国人宿泊客数は535万7千人(元年比+41.0%)と大幅増加。観光満足度は日本人93.9%、外国人98.1%と高水準。持続可能な観光への意識も高まり、地域の生活を守りながら観光したいと考える観光客の割合は日本人56.7%、外国人60.8%に達している。
数字
令和4年の観光客数は何人?
令和4年の観光客数は4,361万2千人です。これは資料の中で「観光客数 5,028万1千人(4年比 +15.3%(4,361万2千人)、元年比 ▲6.0%(5,351万5千人))」と記載されている部分から確認できます。
コメント抽出
主要指標で過去最高のものは何?
資料によると、主要指標で過去最高を記録したものは以下の3つです:
観光消費額:1兆5,366億円(過去最高※2)
経済波及効果:1兆7,014億円(過去最高※2)
外国人宿泊客数:535万7千人(過去最高※2)
これらは資料1ページ目に「過去最高※2」と明記されています。なお、※2の注釈には「調査開始(昭和33年)以降の実績に基づく。調査手法の変遷等を考慮せず単純比較した場合、本調査結果が過去最高に当たる。」と説明されています。
ハルシネーション防止
おすすめの観光スポットはどこ?
申し訳ありませんが、添付資料には京都のおすすめ観光スポットに関する具体的な情報は含まれていません。この資料は令和5年の京都観光総合調査結果の概要であり、観光客数や消費額、満足度などの統計データが中心となっています。観光スポットの推奨については記載されていません。
推論
私は大阪に住んでいて、京都の大学に通っています。観光客としてカウントされていますか?
添付資料の5ページ目に記載されている「観光客の定義」によると、観光客とは「観光目的だけでなく、市外在住で通勤、通学以外の目的(ビジネス、買物、イベント、観劇、スポーツ、友人・知人訪問等)で入洛した人全てを含む」とされています。
あなたは大阪に住んでいて京都の大学に通学されているとのことですので、「通学」が目的であるため、この定義に基づくと観光客としてはカウントされません。
まとめ
今回の質問に対しては、全て期待通りの回答を得ることができました。
ファイルを添付してその内容に対する質問応答を行う方法は、簡単に実現できる一方で、
- 使用するモデルの性能に依存する。(高価格なモデルが必須となる)
- 毎回、コンテキストが入力Tokenに含まれるので、コストがかかる。
- 資料のサイズ(コンテキストサイズ)が大きくなると、処理に時間がかかる。
- コンテキストサイズが入力制限を超えると処理できない。
などの、デメリットもあります。
何度も使用する資料は、ナレッジとしてデータベース化しておくことで、これらの問題の低減が期待できます。