<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Lan-Llm [text.Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://text.baldanders.info/tags/lan-llm/" />
	<link rel="self" type="application/atom+xml" href="https://text.baldanders.info/tags/lan-llm/index.xml" />
	<id>tag:text.Baldanders.info,2026-06-09:/tags</id>
	<updated>2026-06-09T18:26:51+09:00</updated>
	<subtitle>帰ってきた「しっぽのさきっちょ」</subtitle>
	<icon>https://text.baldanders.info/images/avatar.jpg</icon>
	<logo>https://text.baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>Ubuntu サーバで LLM 構築へ：（1）事前学習</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/06/ubuntu-llm-01-study-notes/" />
		<id>tag:text.Baldanders.info,2026-06-09:/remark/2026/06/ubuntu-llm-01-study-notes/</id>
		<published>2026-06-09T09:26:51+00:00</published>
		<updated>2026-06-09T09:29:00+00:00</updated>
		<summary>まずは AI に構成を提案してもらい，それを起点に勉強していこうかな，と。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;だいぶ生成 AI を使うことに慣れてきたので，そろそろ自前で LLM サービスを構築することを考えてみる。&lt;/p&gt;
&lt;p&gt;いや，既にもうメジャーな AI サービスプロバイダってメタクソ化（enshittified）し始めてるぢゃん。
企業サービスに完全にロックインされないうちに自前で構築できるようになっておかないと，と思ってさ。&lt;/p&gt;
&lt;p&gt;今回は，以下の要求で &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; にサービス構成を提案してもらった。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;家庭内 LAN 上の Ubuntu サーバ機に LLM サービスを構築する&lt;/li&gt;
&lt;li&gt;クライアントは Windows 機と Ubuntu 機を想定&lt;/li&gt;
&lt;li&gt;主な用途はプログラミング支援とブログ作成補助&lt;/li&gt;
&lt;li&gt;VS Code で使えるようにする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以降に &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; からの提案を載せるけど，まだ内容の検証をしていない。
なので嘘や間違いが紛れている可能性があるのでご注意を。
私としては，この提案を学習の起点（trigger）とするつもりである。&lt;/p&gt;
&lt;h2&gt;アーキテクチャ&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; が最初に推奨してきた構成：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;

&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;div class=&#34;mermaid&#34;&gt;
graph TB
    subgraph Server[&#34;Ubuntu Server&#34;]
        Ollama[&#34;Ollama&lt;br/&gt;:11434&lt;br/&gt;(推論エンジン)&#34;]
        LiteLLM[&#34;LiteLLM&lt;br/&gt;:4000&lt;br/&gt;(API Proxy)&#34;]
        Nginx[&#34;Nginx&lt;br/&gt;:443&lt;br/&gt;(Reverse Proxy)&#34;]
        Embed[&#34;nomic-embed-text&lt;br/&gt;(Embedding / RAG用)&#34;]
        PG[&#34;PostgreSQL&lt;br/&gt;(LiteLLM 用)&#34;]

        Ollama ---&gt; LiteLLM
        LiteLLM --- PG
        LiteLLM ---&gt; Nginx
        Ollama --- Embed
    end

    subgraph ClientUbuntu[&#34;Ubuntu PC&#34;]
        VSCodeU[&#34;VS Code + Continue&#34;]
    end

    subgraph ClientWin[&#34;Windows PC&#34;]
        VSCodeW[&#34;VS Code + Continue&#34;]
    end

    Nginx -- &#34;LAN (HTTPS)&#34; --&gt; ClientUbuntu
    Nginx -- &#34;LAN (HTTPS)&#34; --&gt; ClientWin
&lt;/div&gt;
&lt;figcaption&gt;&lt;div&gt;全体アーキテクチャ推奨構成（LiteLLM/Nginx あり）&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;p&gt;推論エンジンとして &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; を提案した理由は以下の通りらしい：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;個人〜小規模LAN利用ではOllamaが最適。セットアップが最も簡単で、OpenAI互換APIを標準提供し、モデル管理が容易です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vLLMは同時接続ユーザーが多い（5人以上）本番運用向けで、単一ユーザーには複雑さが増すだけ
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/en/topics/ai/vllm-vs-ollama&#34; target=&#34;_blank&#34;&gt;vLLM vs. Ollama: When to use each framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fosslinux.com/156914/vllm-vs-ollama-which-local-ai-server-to-run-in-2026.htm&#34; target=&#34;_blank&#34;&gt;vLLM vs Ollama: Which Local AI Server to Run in 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;llama.cppは低レベルすぎて管理が煩雑&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; は &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; の前に置く OpenAPI 互換 API プロキシ。
&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; だけでなく OpenAI や Anthropic などの外部 API も統一的に扱えるらしい。
図では &lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; に &lt;a href=&#34;https://www.postgresql.org/&#34; target=&#34;_blank&#34; title=&#34;PostgreSQL: The world&amp;#39;s most advanced open source database&#34;&gt;PostgreSQL&lt;/a&gt; がぶら下がっているが，これは API キー管理・使用量トラッキング用とのこと。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.litellm.ai/docs/proxy/db_info&#34; target=&#34;_blank&#34;&gt;What is stored in the DB | liteLLM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; はリバースプロキシとして HTTPS 終端，セキュリティ（&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt;/&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; への直結ポートをサーバの外に晒さない），ストリーミング対応を担っている。
注意点は以下の通り：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;ul&gt;
&lt;li&gt;LAN 内のみの利用でもHTTPS推奨（Continue.dev が API キーを送るため）&lt;/li&gt;
&lt;li&gt;Let&amp;rsquo;s Encrypt 証明書か自己署名証明書を使用&lt;/li&gt;
&lt;li&gt;ストリーミング（SSE）対応のため proxy_buffering off が必須&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;nomic-embed-text については後述する。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; と &lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; は入れなきゃダメ？ と訊いてみたら，もう少し簡単な構成もあるらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;

&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;div class=&#34;mermaid&#34;&gt;
graph TB
    subgraph Server[&#34;Ubuntu Server&#34;]
        Ollama[&#34;Ollama&lt;br/&gt;:11434&lt;br/&gt;(推論エンジン)&#34;]
        OpenWebUI[&#34;Open WebUI&lt;br/&gt;:8080&lt;br/&gt;(GUIチャット)&#34;]
        Embed[&#34;nomic-embed-text&lt;br/&gt;(Embedding / RAG用)&#34;]

        Ollama --- Embed
        Ollama ---&gt; OpenWebUI
    end

    subgraph ClientUbuntu[&#34;Ubuntu PC&#34;]
        VSCodeU[&#34;VS Code + Continue&lt;br/&gt;ollama run (CUI)&lt;br/&gt;ブラウザGUIチャット&#34;]
    end

    subgraph ClientWin[&#34;Windows PC&#34;]
        VSCodeW[&#34;VS Code + Continue&lt;br/&gt;ollama run (CUI)&lt;br/&gt;ブラウザGUIチャット&#34;]
    end

    Ollama -- &#34;Ollama API&lt;br/&gt;:11434&#34; --&gt; ClientUbuntu
    OpenWebUI -- &#34;Web UI&lt;br/&gt;:8080&#34; --&gt; ClientUbuntu
    OpenWebUI -- &#34;Web UI&lt;br/&gt;:8080&#34; --&gt; ClientWin
    Ollama -- &#34;Ollama API&lt;br/&gt;:11434&#34; --&gt; ClientWin
&lt;/div&gt;
&lt;figcaption&gt;&lt;div&gt;全体アーキテクチャ推奨構成（Ollama 単体, LiteLLM/Nginx なし）&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;p&gt;クライアントの用途ごとの使い分けは以下の通り。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;アクセス先&lt;/th&gt;
					&lt;th&gt;ポート&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;クライアント&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Ollama API&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:11434&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;VS Code + Continue（コーディング支援）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ollama API&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:11434&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run&lt;/code&gt;（CUIチャット）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Open WebUI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:8080&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ブラウザ GUI チャット（ブログ執筆・雑談）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; の拡張機能である &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API に対応しているそうなので（セキュリティの問題を除けば）直結で OK。
ターミナルエミュレータ等で CUI チャットを行う場合はクライアント側にも &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; をインストールして接続先をサーバ機に向ければいいらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OLLAMA_HOST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://192.168.x.x:11434 ollama run qwen3.5:9b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;さらに簡単に &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API を直に叩く方法もある（自作ツール向け？）。
こんな感じ。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ワンショット質問&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://192.168.x.x:11434/api/chat -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;qwen3.5:9b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;messages&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    {&amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;ブログのタイトル案を5つ提案して&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;stream&amp;#34;: false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ストリーミング（リアルタイム出力）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://192.168.x.x:11434/api/chat -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;qwen3.5:9b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;messages&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    {&amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;PythonでFizzBuzzを書いて&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API って素の RESTful API でやり取りするのか。
確かにこれは（セキュリティ的に）ヤバいな。
&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt;/&lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; を噛ませろって言う筈だわ。
LAN 内に他人（のデバイス）が入ってくる余地がないならギリ大丈夫かな。
まぁ，どのみち malware に侵入されたらアウトだけど。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; は Web ベースのチャットインターフェースで，以下の特徴があるらしい&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;機能&lt;/th&gt;
					&lt;th&gt;説明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ChatGPT 風 UI&lt;/td&gt;
					&lt;td&gt;ブラウザでチャット、使い慣れたインターフェース&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;会話履歴&lt;/td&gt;
					&lt;td&gt;すべての会話を保存・検索可能&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;モデル切替&lt;/td&gt;
					&lt;td&gt;ドロップダウンでモデル切替&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ドキュメント RAG&lt;/td&gt;
					&lt;td&gt;ファイルをアップロードして対話&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ユーザー管理&lt;/td&gt;
					&lt;td&gt;複数ユーザー・アクセス制御&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;完全オフライン&lt;/td&gt;
					&lt;td&gt;外部へのデータ送信なし&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;OpenAI の API キーを持っていれば &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; から OpenAI のモデルも使えるそうな（以下は Docker 上に &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; をインストールした場合の起動例）。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Open WebUI起動時にOpenAI APIも設定&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name open-webui &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --network host &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v open-webui:/app/backend/data &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;OLLAMA_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://127.0.0.1:11434 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-your-openai-key &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --restart always &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ghcr.io/open-webui/open-webui:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;用途別の使い分けについてまとめてもらった。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;インターフェース&lt;/th&gt;
					&lt;th&gt;理由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;ブログ執筆・雑談&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Open WebUI（ブラウザ）&lt;/td&gt;
					&lt;td&gt;ChatGPT風で直感的、会話履歴管理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;プログラミング支援&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;VS Code + Continue&lt;/td&gt;
					&lt;td&gt;コード補完・エディタ統合&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;サクッと質問&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run&lt;/code&gt;（CUI）&lt;/td&gt;
					&lt;td&gt;ターミナルから即座に&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;スクリプト・自動化&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;curl / Python API&lt;/td&gt;
					&lt;td&gt;バッチ処理やパイプライン&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;普段の調べ物は &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; で必要十分なので &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; はあまり使わないかもしれないけど。
&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; が不要なら入れない構成もありだな。&lt;/p&gt;
&lt;h2&gt;モデル選択&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; で選択可能な LLM モデルで &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; が勧めてきたのは以下のもの&lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;推奨モデル&lt;/th&gt;
					&lt;th&gt;役割&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;チャット・コーディング対話&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B または 35B-A3B&lt;/td&gt;
					&lt;td&gt;chat, edit, summarize&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;コード自動補完（FIM）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder（7B/14B/32B）&lt;/td&gt;
					&lt;td&gt;autocomplete（タブ補完）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Embedding（RAG用）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;nomic-embed-text&lt;/td&gt;
					&lt;td&gt;codebase検索&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Reranker（RAG精度向上）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen3-Reranker-8B&lt;/td&gt;
					&lt;td&gt;検索結果の再順位付け&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;GPU VRAM別のモデル構成&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;VRAM&lt;/th&gt;
					&lt;th&gt;チャット用モデル&lt;/th&gt;
					&lt;th&gt;自動補完用モデル&lt;/th&gt;
					&lt;th&gt;備考&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;8GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-9B (~6.6GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 7B (~5GB)&lt;/td&gt;
					&lt;td&gt;1モデルずつ切り替え運用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;16GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-35B-A3B (~16-22GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 14B (~9GB)&lt;/td&gt;
					&lt;td&gt;同時稼働は量子化調整が必要&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;24GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B (~17GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 32B (~20GB)&lt;/td&gt;
					&lt;td&gt;★最も推奨される構成&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;32GB+&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B (Q6/Q8) + Qwen 2.5-Coder 32B&lt;/td&gt;
					&lt;td&gt;同時稼働余裕あり&lt;/td&gt;
					&lt;td&gt;RTX 5090等&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;💡 &lt;strong&gt;24GB VRAM（RTX 3090/4090）の構成が最もバランスが良い&lt;/strong&gt;: Qwen 3.6-27Bでチャット・エージェント的コーディング、Qwen 2.5-Coder 32Bでタブ補完。ただし同時稼働はVRAM的に厳しいため、Ollamaはモデルを自動でアンロード/ロードするので、交互に使う運用になります。&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;あー。
そういや，サーバ機のスペックを教えてなかった。
手持ちの空いてるミニ PC をサーバ機にする予定なのでスペックは高くないのよ。&lt;/p&gt;
&lt;p&gt;というわけで Ryzen 5 7430U, RAM 16GB, 外付け GPU なしの構成で再提案してもらった。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;役割&lt;/th&gt;
					&lt;th&gt;推奨モデル&lt;/th&gt;
					&lt;th&gt;RAM使用量&lt;/th&gt;
					&lt;th&gt;予想速度&lt;/th&gt;
					&lt;th&gt;理由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;チャット・ブログ・コーディング対話&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-9B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~6 GB&lt;/td&gt;
					&lt;td&gt;~5-8 tok/s&lt;/td&gt;
					&lt;td&gt;9Bで品質最優、ブログ執筆に十分な表現力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;コード自動補完（FIM）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 2.5-Coder 3B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~2.5 GB&lt;/td&gt;
					&lt;td&gt;~15-20 tok/s&lt;/td&gt;
					&lt;td&gt;補完は高速が命、3Bで品質も十分&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Embedding（RAG用）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;nomic-embed-text&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;~0.3 GB&lt;/td&gt;
					&lt;td&gt;高速&lt;/td&gt;
					&lt;td&gt;コードベース検索用&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;💡 &lt;strong&gt;合計RAM使用量: ~9 GB&lt;/strong&gt;（OS等の予約分を含めても16GB内に余裕あり）&lt;/p&gt;
&lt;p&gt;チャット用を軽くして速度を稼ぐ構成：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;役割&lt;/th&gt;
					&lt;th&gt;モデル&lt;/th&gt;
					&lt;th&gt;RAM&lt;/th&gt;
					&lt;th&gt;予想速度&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;チャット&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-4B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~3 GB&lt;/td&gt;
					&lt;td&gt;~12-18 tok/s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;自動補完&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 2.5-Coder 1.5B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~1.2 GB&lt;/td&gt;
					&lt;td&gt;~30+ tok/s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Embedding&lt;/td&gt;
					&lt;td&gt;nomic-embed-text&lt;/td&gt;
					&lt;td&gt;~0.3 GB&lt;/td&gt;
					&lt;td&gt;高速&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;合計 ~4.5 GB。速度は快適ですが、ブログ執筆の品質は9Bに劣ります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🌟 注目の選択肢：Gemma 4 26B-A4B（MoE）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GoogleのGemma 4 26B-A4Bは &lt;strong&gt;総パラメータ26B・推論時アクティブ3.8B&lt;/strong&gt; のMoEモデルです。
Q4量子化で &lt;strong&gt;~15 GB&lt;/strong&gt; のRAM使用量。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;品質&lt;/strong&gt;: 3.8B活性化で26Bクラスの表現力（Qwen 3.5-9B以上の可能性）&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;RAM&lt;/strong&gt;: ~15 GBで16GBギリギリ。OSの予約分と競合する可能性&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;速度&lt;/strong&gt;: MoEはアクティブパラメータが少なくても全パラメータのメモリアクセスが必要なため、DDR4帯域幅がボトルネックになり &lt;strong&gt;予想3-6 tok/s&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;結論&lt;/strong&gt;: 試す価値はありますが、16GBではスワップ発生のリスクが高く、安定性に欠ける可能性があります。まずはQwen 3.5-9Bで安定運用し、余裕があればGemma 4 26B-A4Bも試すのがおすすめ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⚡ パフォーマンスを引き上げるTips&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;施策&lt;/th&gt;
					&lt;th&gt;効果&lt;/th&gt;
					&lt;th&gt;詳細&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;&lt;code&gt;num_ctx&lt;/code&gt;を小さく&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;速度向上&lt;/td&gt;
					&lt;td&gt;4096→2048にするとコンテキスト処理が高速化。ブログ執筆なら2048で十分な場面も&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;モデルを1つずつロード&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;RAM節約&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;OLLAMA_MAX_LOADED_MODELS=1&lt;/code&gt;で未使用モデルを自動アンロード&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Q3量子化を試す&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;RAM削減・速度UP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run qwen3.5:9b-q3_K_M&lt;/code&gt;でRAM~4.5GB、品質は若干低下&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;スワップの無効化&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;安定性向上&lt;/td&gt;
					&lt;td&gt;RAM不足時のスワップは極端な低速化の原因。&lt;code&gt;/etc/fstab&lt;/code&gt;でswapを0に&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;将来的にGPU追加&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;劇的改善&lt;/td&gt;
					&lt;td&gt;Thunderbolt/OCuLink外付けGPUエンクロージャーでRTX 3060(12GB)等を追加すれば、一気に実用的に&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Ryzen 5 7430U には内蔵 GPU (Radeon Graphics) があるが LLM 推論には非力なので CPU-only 推論となる。
そうなるとメモリ帯域幅が重要になるんだけど DDR4-3200 デュアルチャネルは DDR5 半分以下の帯域幅（〜51GB/s）しかない。
RAM のサイズも 32GB 以上は欲しいらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;サーバRAM&lt;/th&gt;
					&lt;th&gt;推奨構成&lt;/th&gt;
					&lt;th&gt;備考&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;8GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-4B (チャット) + Qwen 2.5-Coder 1.5B (補完)&lt;/td&gt;
					&lt;td&gt;1モデルずつ切り替え&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;16GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 7B (チャット) + Qwen 2.5-Coder 3B (補完) + nomic-embed&lt;/td&gt;
					&lt;td&gt;★最も現実的&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;32GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-35B-A3B (チャット)&lt;/strong&gt; + Qwen 2.5-Coder 7B (補完) + nomic-embed&lt;/td&gt;
					&lt;td&gt;★★最高の体験&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;64GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-35B-A3B + Qwen 2.5-Coder 14B + nomic-embed&lt;/td&gt;
					&lt;td&gt;余裕あり&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;なかなかに貧弱な構成と言われてしまった（笑）&lt;/p&gt;
&lt;div class=&#34;center&#34;&gt;&lt;strong&gt;！だってメモリもプロセッサも高いんだよ，今！&lt;/strong&gt;&lt;/div&gt;
&lt;p&gt;しょうがないぢゃん &lt;code&gt;orz&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;nomic-embed-text について&lt;/h3&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;nomic-embed-textはOllama上で動く &lt;strong&gt;Embeddingモデル&lt;/strong&gt; です。テキストを数値ベクトル（768次元）に変換するだけで、それ自体にデータベースは必要ありません 。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;テキスト入力 → nomic-embed-text → 768次元ベクトル出力
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ベクトルデータはデータベース化して RAG (Retrieval-Augmented Generation; 検索拡張生成) に使用する&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。
&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; および &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は自前でベクトルデータベースを持っている。
規模が大きくなれば &lt;a href=&#34;https://www.postgresql.org/&#34; target=&#34;_blank&#34; title=&#34;PostgreSQL: The world&amp;#39;s most advanced open source database&#34;&gt;PostgreSQL&lt;/a&gt; + pgvector などのベクトルデータベースが別途必要になる。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;&lt;strong&gt;🏗️ RAGの規模別アーキテクチャ&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;規模&lt;/th&gt;
					&lt;th&gt;ベクトル保存先&lt;/th&gt;
					&lt;th&gt;構成&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;小規模&lt;/strong&gt;（個人・Continue.dev）&lt;/td&gt;
					&lt;td&gt;ローカルファイル（Continue内蔵）&lt;/td&gt;
					&lt;td&gt;Ollama + nomic-embed-text のみ&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;中規模&lt;/strong&gt;（チーム・Open WebUI）&lt;/td&gt;
					&lt;td&gt;Open WebUI内蔵のChromaDB&lt;/td&gt;
					&lt;td&gt;Ollama + Open WebUI&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;大規模&lt;/strong&gt;（組織・自作パイプライン）&lt;/td&gt;
					&lt;td&gt;PostgreSQL + pgvector / Qdrant / Milvus&lt;/td&gt;
					&lt;td&gt;Ollama + 独自バックエンド&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;今回はここまで&lt;/h2&gt;
&lt;p&gt;とりあえず &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; と RAG についてはちゃんと勉強せなあかんなぁ，というのは分かった。
あとは実際に組んでみて評価していく感じかな。&lt;/p&gt;
&lt;p&gt;薄々わかってはいたが，どうも手持ちの環境は貧弱すぎるみたいだけど，どの程度足らないのかの感覚がわからない。
これは使ってみて確かめるしかないだろう。&lt;/p&gt;
&lt;p&gt;仕事が絡むなら vLLM も気になるところだが，そういう仕事が貰えるなら考えるということで（笑）&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;RAG の機能は，簡単にいうと LLM に外部の情報を検索させてから回答させる仕組み。これによって組み込まれた知識にない情報についても（extrinsic hallucination を抑えつつ）対応することができるようになる。 Google 検索のようなキーワード検索ではなく，プロンプトによる指示に合わせて意味的検索ができるのが特徴。 &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は nomic-embed-text が出力したベクトル化情報をファイルに保存するらしい。 &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; は自前でベクトル化を行い，内蔵の &lt;a href=&#34;https://www.trychroma.com/&#34; target=&#34;_blank&#34; title=&#34;Chroma - open-source search infrastructure for AI&#34;&gt;ChromaDB&lt;/a&gt; に保存するようだ。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref1:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref2:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry>
</feed>
