とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

AnythingLLMでLLMのRAGを体験

LLMはLLMを使うためのソフトウェア(たとえばLM StudioやOllamaなど)をインストールしたあと、何らかのモデルをダウンロードして使います。

チャット形式のインターフェース上でユーザーが質問を投げるとLLMモデルが思考した結果が返ってくるのですが、返ってくる結果はあくまでLLMモデルが持っている知識をもとに生成されたものです。

ここで問題になるのは、最近の情報を知りたいのに最近の情報が返ってこない場合があると言う点です。

たとえば「日本の今の総理大臣は誰ですか」と聞くと、ほとんどの場合正しい回答は得られないはずです。

LLMモデルには知識が集積していますが、学習データにはカットオフがあります。つまり、そのカットオフより未来の情報は基本的に知らないので、モデルによりますがモデルが知りうる一番新しい情報から回答を出したり、ハルシネーションを起こして誤った人物を回答として出したり、時には存在しない人物を回答したりします。

たとえばいくつかのモデルを使って「日本の今の総理大臣は誰ですか」を聞いてみましょう。

各LLMモデルとその回答

※AIは間違えることがあります

Gemma 4 E4B QAT

Q: 日本の今の総理大臣は誰ですか

A: 私の知識のカットオフが2025年1月であるため、現時点での正確な最新情報を提供することができません。恐れ入りますが、お手数ですが、最新の情報については信頼できるニュースソースや政府の公式発表をご確認ください。

Q: あなたのカットオフ時点の情報で構いません。誰ですか?

A: 私の知識が更新された2025年1月時点での日本の総理大臣は岸田文雄氏です。

Qwen3.5 9B

Q: 日本の今の総理大臣は誰ですか

A: 日本の現在の総理大臣は、高橋 洋一(たかはし よういち)氏です。

2025 年 1 月時点(私の知識の限界)において、岸田文雄内閣が解散総選挙を行い、新しい第 105 代内閣が誕生していたと想定されます。しかし、現実世界のタイムラインでは、岸田文雄総理が 2024 年 9 月に表明した不信任案採択により退任し、その後石破 茂氏や小泉進次郎氏などの候補が争われましたが、2024 年 10 月に第 105 代首相として石破 茂氏が任命されることになりました。

ただし、私の知識データが 2025 年 1 月に留まっているため、2025 年 1 月以降の最新内閣(例:鈴木宗男内閣など)については把握していません。したがって、正確な「今の」総理大臣をお伝えしたい場合は、最新のニュースを確認することをお勧めします。

参考までに、2024 年 10 月現在(現実世界)では、石破 茂首相が在任しています。

Llama 3.2 3B

Q: 日本の今の総理大臣は誰ですか

A: 日本の現在の総理大臣は、 石破茂氏です。 2025年1月時点での正確な情報を提供することはできません。

Q: あなたの知識のカットオフは?

A: 私の知識が更新された2025年1月の時点で構いません。

質問と回答についてのまとめ

今回利用したモデルはカットオフが2025年1月頃になっているものです。 2025年(令和7年)1月だと、第2次石破内閣の時代です。

Qwen3.5 9Bは割と良いモデルでコード生成や日常の作業などに使うことが多いのですが、このような質問には向かないモデルなのかもしれないですね。 第1次石破内閣の時代のことは知っているものの、第2次石破内閣に関する情報はうまく参照できていないようで、高橋洋一氏が総理大臣だと言っています。これはハルシネーションですね。

3つの中ではLlama 3.2だけが、その時点の総理大臣としては正しい結果を出力しました。

Note

高橋洋一氏は経済学者であり、元大蔵省(現・財務省)官僚です。東京大学理学部数学科・経済学部経済学科を卒業後、1980年に大蔵省へ入省しました。その後、理財局資金企画室長、内閣府参事官、総務大臣補佐官、内閣参事官(首相官邸)などを歴任し、小泉政権や第1次安倍政権では経済政策の立案にも関わりました。(嘉悦大学: https://www.kaetsu.ac.jp/teacher_intro/yoichi_takahashi/)

2008年に退官した後は嘉悦大学教授として活動し、政策シンクタンク「政策工房」の会長も務めています。また、2020年には菅義偉内閣で内閣官房参与(経済・財政政策担当)に任命されました。

テレビやYouTubeなどのメディア出演も多く、財政政策や金融政策に関する発言で知られています。そのため、経済や政治に関心がある人であれば名前を聞いたことがあるかもしれません。しかし政治家ではなく、当然ながら日本の総理大臣を務めたこともありません。今回のQwen3.5 9Bの回答は、実在する著名な経済学者の名前を誤って総理大臣として回答した典型的なハルシネーションの例と言えるでしょう。

正解は?

歴代の総理大臣は官邸のホームページに掲載されています。 LLMモデルには知識のカットオフがあるので、カットオフ後の新しい情報は知りません。そのため、正解を導けなかったと思われます。

令和に入ってからの首相の一覧は次の通りです(2026年06月18日時点)。

氏名
105 高市 早苗 氏
104 高市 早苗 氏
103 石破 茂 氏
102 石破 茂 氏
101 岸田 文雄 氏
100 岸田 文雄 氏
99 菅 義偉 氏

SaaSのモデルはその辺は新しい情報を答えてくれそうですが、この記事執筆時点でChatGPTに聞いたところ、現職は石破茂氏であると言っていました。

おや?...SaaSだと最新の情報を出せるけどローカルLLMのモデルはカットオフがあるから、こういう検索には向かないみたいな論調で話を書きたかったのに、残念な結果になりましたね。

気を取り直して

何度も話しましたがLLMモデルにはカットオフがあり、新しい情報は知りません。 では、新しい情報をAIに学習させて、分析させるにはどうするかと言うと、RAGを使います。

ファインチューニングしたモデルを使う方法もありますが、それは大変なので別の方法を使ってみます。 今回使うのは、LM StudioAnythingLLMです。

LM Studioのインストールと設定

まず、LM Studioをインストールします。インストール後、何らかのモデルをダウンロードしてください。 「Gemma 4 E4B QAT」を使ってみましょうか。

LM Studioを起動後、OpenAI compatible APIを起動するため、起動中であればmacOSは右上、Windowsは右下にLM Studioのアイコンが表示されているはずなので、「Start Server on Port 1234」みたいなメニューをクリックしてください。これでLM Studioの外部からアクセスできます*1

AnythingLLMのインストールと設定

その後、AnythingLLMをインストールします。 AnythingLLMの初回起動時に色々な初期セットアップをします。LLMプロバイダーとして「LM Studio」を選び、 Selected Modelは「Gemma 4 E4B QAT」を選びます。初期設定が面倒くさければスキップして、普通に起動してから設定で行ってください。

LM Studio Base URLは自動で認識されるはずですが、「http://localhost:1234/v1」と入力されていると思います。 これでひとまず準備は完了ですので、左下の「Back to workspace」ボタンを押してください。

チャット画面でLLMと対話

ChatGPTやGemini、LM Studioのチャットみたいな画面に戻るので、左上にある「マイスペース」のところの「↑(Upload)」ボタンを押します。 ボタンを押すと次のような画面が表示されます。

「データコネクタ」タブをクリックして切り替えます。 データコネクターの中から「ウェブサイト一括スクレイバー」を選んで、右画面のURLの所に先ほどのURLを入力し、「Submit」ボタンを押してみます*2

「ドキュメント」タブに戻ると、取得したデータがずらっと並んでいます。

チェックして「マイワークスペース」に移動しましょう。「保存して埋め込む」ボタンを押します。

これで、新しいデータをLLMで分析できる準備ができました。

Note

チャット設定のチャットモードを「代理人」から「チャット」か「クエリー」にする必要があるそうです。

質問してみよう

では準備が完了したので、AnythingLLMを使って「令和8年1月時点の日本の総理大臣は?」と聞いてみましょう。モデルはGemma 4 12B QATを使いました。その結果はこちらです。

推論部分を抜き出します。 推論したあと、「令和8年1月時点の日本の総理大臣は、高市早苗氏です。」と回答を導くことができました。

Question: “Who was the Prime Minister as of January, Reiwa 8 (2026)?” (令和8年1月時点の総理大臣は?)

Context provided:
[CONTEXT 0]: 菅 義偉 (99th), Period: R2.9.16 - R3.10.4
[CONTEXT 1]: 高市 早苗 (105th), Period: R8.2.18 - Present
[CONTEXT 2]: 高市 早苗 (104th), Period: R7.10.21 - R8.2.18
[CONTEXT 3]: 石破 茂 (102nd), Period: R6.10.1 - R6.11.11
Self-correction/Double check context:

Wait, the context numbers/indices might be tricky.
Context 0 title says “菅 義偉” but the link says rekidainaikaku_099.html.html. Wait, looking at the content:
Context 0: “菅 義偉” (Suga), 99th. Period: R2.9.16 - R3.10.4.
Context 1: “高市 早苗” (Takaichi), 105th. Period: R8.2.18 - Present.
Context 2: “高市 早苗” (Takaichi), 104th. Period: R7.10.21 - R8.2.18.
Context 3: “石破 茂” (Ishiba), 102nd. Period: R6.10.1 - R6.11.11.
Missing Info: There is no info for the 103rd Prime Minister in the provided context.

Checking dates:
R6.10.1 - R6.11.11: 102nd (Ishiba)
R7.10.21 - R8.2.18: 104th (Takaichi)
R8.2.18 - Present: 105th (Takaichi)
The question asks for January Reiwa 8 (令和8年1月).

Based on the periods:
Between R6.11.11 and R7.10.21, there is a gap (103rd is missing).
Between R7.10.21 and R8.2.18, the 104th Prime Minister (Takaichi) was in office.
Therefore, in January Reiwa 8 (which is before February 18, Reiwa 8), the Prime Minister was Sanae Takaichi (the 104th).
Wait, let me re-read the 104th entry in Context 2:

“第104代 … 在職期間 令和7年10月21日 ~令和8年2月18日”
And Context 1 (105th):

“第105代 … 在職期間 令和8年2月18日 ~現在”
January Reiwa 8 (令和8年1月) falls within the period of the 104th Prime Minister (R7.10.21 to R8.2.18).

The 104th Prime Minister is Sanae Takaichi.

Wait, let me check the context again.

Context 0 says 菅 義偉 is 第99代.
Context 1 says 高市 早苗 is 第105代.
Context 2 says 高市 早苗 is 第104代.
Context 3 says 石破 茂 is 第102代.

Question: “Who is the Prime Minister as of January, Reiwa 8?”

Analysis:
R7.10.21 to R8.2.18 -> 104th (Takaichi)
January R8 is between these dates.
Answer: Sanae Takaichi (the 104th).

Wait, let me check the source for 104th. It is [CONTEXT 2]. [CONTEXT 2] source: www.kantei.go.jp_jp_rekidainaikaku_104.html.html

Wait, I see a potential issue. The user is asking about Reiwa 8. The 104th PM is Takaichi. The 105th PM is also Takaichi (starting R8.2.18). So in Jan R8, it was the 104th term of Takaichi.
Result: 高市早苗 (Sanae Takaichi).

Wait, let me look at the dates again. R7.10.21 - R8.2.18 (104th) R8.2.18 - Present (105th) January Reiwa 8 is before February 18, Reiwa 8. So it is the 104th term.
Wait, let me check if there’s any other info. Context 3 is 102nd (Ishiba), ending R6.11.11. The 103rd is not listed.
Answer: 高市早苗 (Sanae Takaichi).

Wait, I should specify which “term” or just the name? The question asks “Who is the Prime Minister?”. The name is the same for both 104th and 105th.
Answer: 高市早苗氏です。 Source: [CONTEXT 2] (specifically the 104th term period).

Let’s verify the dates one more time. 令和7年10月21日 ~ 令和8年2月18日 (Context 2) 令和8年1月 is clearly within this range.
Answer: 高市早苗氏です。

Wait, looking at Context 1: 第105代 在職期間 令和8年2月18日 ~現在
Looking at Context 2: 第104代 在職期間 令和7年10月21日 ~令和8年2月18日
Since January Reiwa 8 is before February 18, Reiwa 8, the Prime Minister was Sanae Takaichi (as the 104th Prime Minister).

Response construction: 令和8年1月時点の内閣総理大臣は高市早苗氏です。 (出典: [CONTEXT 2])

上手くいきましたね。これでLM StudioとAnythingLLMをつかったRAGの体験は終わりです。 モデル単体では正答できなかった質問に対して、RAGで追加した情報を参照して正しく回答できることが確認できました。

RAGとモデルの選定

ちなみに、利用するモデルを切り替えてみると、上手くいくものといかないものがある点にも注目すると楽しいと思います。 今回は「日本の総理大臣」を例として使いましたが、ローカルLLMでは日本の歴史上の人物や歴史上の出来事について聞いても、適切な回答を得ることができないことがあります。また、特定の国での出来事が回答されない場合もあります。

ローカルLLMを業務で活用する場合、最新情報や社内情報を扱う用途ではRAGが重要になると思います。

RAGを使う場合もAIコーディングをする場合にToolsを上手く取り扱える賢いモデルを選定するのと同じで、上手くいくかは選定するベースモデル次第になると言うことみたいです。

RAGを使う上でもツール呼び出しが上手い、最適なモデルを選択するようにしましょうということです。

*1:この機能はデフォルトではlocalhostでアクセスされるので、安心してください

*2:ここでは、あまり大きな値を設定しないでください