<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>知识库 on 诚实雷达</title><link>https://honestradar.com/tags/%E7%9F%A5%E8%AF%86%E5%BA%93/</link><description>Recent content in 知识库 on 诚实雷达</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://honestradar.com/tags/%E7%9F%A5%E8%AF%86%E5%BA%93/index.xml" rel="self" type="application/rss+xml"/><item><title>2026年用VPS自建RAG知识库：Ollama + ChromaDB 低成本AI问答方案</title><link>https://honestradar.com/vps-hosting/rag-vector-database-vps-2026/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><guid>https://honestradar.com/vps-hosting/rag-vector-database-vps-2026/</guid><description>&lt;img src="https://honestradar.com/images/rag-vector-database-vps-2026.jpg" alt="Featured image of post 2026年用VPS自建RAG知识库：Ollama + ChromaDB 低成本AI问答方案" /&gt;&lt;h2 id="先说结论rag-不需要-gpu-vps但需要靠谱的内存和磁盘"&gt;先说结论：RAG 不需要 GPU VPS，但需要靠谱的内存和磁盘
&lt;/h2&gt;&lt;p&gt;如果你正在考虑用自己的服务器跑一个能读文档、答问题的 AI 助手，&lt;strong&gt;RAG（检索增强生成）是目前性价比最高的方案&lt;/strong&gt;。它不需要昂贵的 GPU 服务器，也不需要订阅任何付费 API——关键组件全部开源免费，一台 $5/月的 VPS 就能稳定运行。&lt;/p&gt;
&lt;p&gt;我的推荐是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;轻量级 RAG（千级文档内）&lt;/strong&gt;：RackNerd 年付促销 VPS（1GB RAM + 20GB NVMe），适合个人知识库&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生产级 RAG（万级文档 + n8n 自动化）&lt;/strong&gt;：Hostinger VPS（2-4GB RAM + 60GB NVMe），面板友好、部署省心&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;需要多模型切换或 GPU 加速&lt;/strong&gt;：Vultr Cloud Compute（按需扩容，支持 GPU 实例）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="rag-到底是什么为什么你需要它"&gt;RAG 到底是什么？为什么你需要它
&lt;/h2&gt;&lt;p&gt;传统的 AI 模型有个致命缺陷：&lt;strong&gt;它们不知道你家公司的数据、你的私人文档、你那几千篇 PDF 报告里写了什么。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;RAG 解决的就是这个问题。它的工作流程很简单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;你把文档（PDF、网页、Markdown）喂给向量数据库（如 ChromaDB、Qdrant、Weaviate）&lt;/li&gt;
&lt;li&gt;当用户提问时，系统先&lt;strong&gt;在向量库中检索相关片段&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;把这些片段加上问题一起发给 LLM，让模型基于&amp;quot;事实&amp;quot;回答&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这样做的好处：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;回答基于你的真实数据&lt;/strong&gt;，不会编造幻觉&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;随时更新文档&lt;/strong&gt;，AI 的知识库实时同步&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不需要微调模型&lt;/strong&gt;，训练成本为零&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据不出你的服务器&lt;/strong&gt;，隐私可控&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="方案对比三档-vps-怎么选"&gt;方案对比：三档 VPS 怎么选
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方案&lt;/th&gt;
 &lt;th&gt;RackNerd 促销 VPS&lt;/th&gt;
 &lt;th&gt;Hostinger VPS&lt;/th&gt;
 &lt;th&gt;Vultr Cloud Compute&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;$1-$3/月（年付）&lt;/td&gt;
 &lt;td&gt;$5-$10/月&lt;/td&gt;
 &lt;td&gt;$5-$15/月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;典型配置&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;1 vCPU / 1GB RAM / 20GB NVMe&lt;/td&gt;
 &lt;td&gt;2 vCPU / 2-4GB RAM / 60GB NVMe&lt;/td&gt;
 &lt;td&gt;2 vCPU / 4GB RAM / 80GB NVMe&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;文档量级&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;500-2000 篇以内&lt;/td&gt;
 &lt;td&gt;2000-10000 篇&lt;/td&gt;
 &lt;td&gt;10000+ 篇&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;中小企业、团队知识库&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;极其便宜，年付不到$30&lt;/td&gt;
 &lt;td&gt;面板好用，AI 定位清晰，售后好&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;库存变化快，无 SLA&lt;/td&gt;
 &lt;td&gt;续费价格翻倍，长周期更划算&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;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;查看 RackNerd&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.hostinger.com?REFERRALCODE=JZ1ZL8465QCG" rel="nofollow sponsored" target="_blank"&gt;查看 Hostinger&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.vultr.com/?ref=9706229" rel="nofollow sponsored" target="_blank"&gt;查看 Vultr&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="完整架构你会搭建什么"&gt;完整架构：你会搭建什么
&lt;/h2&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;推荐方案&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;LLM（大语言模型）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;理解问题、生成回答&lt;/td&gt;
 &lt;td&gt;Ollama + Llama 3.1 8B 或 Qwen 2.5 7B（本地跑）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Embedding 模型&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;把文本转成向量&lt;/td&gt;
 &lt;td&gt;Ollama 内嵌的 &lt;code&gt;nomic-embed-text&lt;/code&gt; 或 &lt;code&gt;mxbai-embed-large&lt;/code&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;/td&gt;
 &lt;td&gt;ChromaDB（轻量、内存级、适合中小规模）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;自动化编排&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;文档 ingestion + API 服务&lt;/td&gt;
 &lt;td&gt;n8n 或 Python FastAPI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&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;CPU&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（Llama 3.1 8B）&lt;/td&gt;
 &lt;td&gt;2 vCPU&lt;/td&gt;
 &lt;td&gt;4GB（推理时峰值）&lt;/td&gt;
 &lt;td&gt;8GB 模型权重&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ChromaDB&lt;/td&gt;
 &lt;td&gt;0.5 vCPU&lt;/td&gt;
 &lt;td&gt;500MB-2GB（取决于文档量）&lt;/td&gt;
 &lt;td&gt;每个 10 万向量约 1-2GB&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;n8n&lt;/td&gt;
 &lt;td&gt;0.5 vCPU&lt;/td&gt;
 &lt;td&gt;500MB&lt;/td&gt;
 &lt;td&gt;1-3GB&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;strong&gt;2-3 vCPU&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;6-10GB&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;12-20GB&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;⚠️ 如果你的 VPS 只有 1GB RAM，可以改用 2GB swap + 小模型（如 Phi-3 mini），但推理速度会变慢。&lt;strong&gt;强烈建议至少 2GB RAM&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="部署步骤docker-compose-一键搭建"&gt;部署步骤（Docker Compose 一键搭建）
&lt;/h2&gt;&lt;p&gt;以下是在一台干净 Ubuntu 22.04/24.04 VPS 上完成整个系统的步骤。&lt;/p&gt;
&lt;h3 id="第-1-步安装-docker-和-docker-compose"&gt;第 1 步：安装 Docker 和 Docker Compose
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 更新系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt upgrade -y
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装 Docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://get.docker.com | sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo usermod -aG docker $USER
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 验证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker --version &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; docker compose version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第-2-步创建项目目录和-compose-文件"&gt;第 2 步：创建项目目录和 compose 文件
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p ~/rag-stack &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd ~/rag-stack
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;创建 &lt;code&gt;docker-compose.yml&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;services&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ollama&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ollama/ollama:latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;container_name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ollama&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;11434:11434&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;ollama_data:/root/.ollama&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;restart&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;unless-stopped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;chroma&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;chromadb/chroma:latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;container_name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;chroma&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;8000:8000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;chroma_data:/data/chroma&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;restart&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;unless-stopped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;n8n&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;docker.n8n.io/n8nio/n8n:latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;container_name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;n8n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;5678:5678&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;environment&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;N8N_SECURE_COOKIE=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;n8n_data:/home/node/.n8n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;restart&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;unless-stopped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ollama_data&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;chroma_data&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;n8n_data&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第-3-步下载并加载模型"&gt;第 3 步：下载并加载模型
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 拉取 LLM 模型（Llama 3.1 8B，适合 2-4GB RAM）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it ollama ollama pull llama3.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 拉取 Embedding 模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it ollama ollama pull nomic-embed-text
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你的 VPS 只有 2GB RAM，可以改用更小的模型：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it ollama ollama pull phi3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it ollama ollama pull nomic-embed-text
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第-4-步验证服务"&gt;第 4 步：验证服务
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Ollama API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl http://localhost:11434/api/tags
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ChromaDB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl http://localhost:8000/api/v1/heartbeat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# n8n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl http://localhost:5678/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;三个都返回 200 就说明部署成功。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="把文档喂给-rag-系统"&gt;把文档喂给 RAG 系统
&lt;/h2&gt;&lt;h3 id="方案-a用-n8n-可视化编排推荐新手"&gt;方案 A：用 n8n 可视化编排（推荐新手）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;浏览器访问 &lt;code&gt;http://你的VPS_IP:5678&lt;/code&gt;，登录 n8n&lt;/li&gt;
&lt;li&gt;创建新 Workflow，使用以下节点链：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;File Trigger&lt;/strong&gt; 或 &lt;strong&gt;HTTP Request&lt;/strong&gt; → 获取文档&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PDF Parse&lt;/strong&gt; / &lt;strong&gt;Web Page&lt;/strong&gt; → 提取文字&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM Chain&lt;/strong&gt;（Embedding 节点）→ 使用 Ollama API 生成向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChromaDB&lt;/strong&gt; → 存入向量库&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;测试 Workflow，上传一篇 PDF 验证能否存入 ChromaDB&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="方案-b用-python-脚本批量入库"&gt;方案 B：用 Python 脚本批量入库
&lt;/h3&gt;&lt;p&gt;如果你更喜欢代码方式，可以用这段最小可用脚本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; chromadb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.core &lt;span style="color:#f92672"&gt;import&lt;/span&gt; VectorStoreIndex, SimpleDirectoryReader
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.embeddings.ollama &lt;span style="color:#f92672"&gt;import&lt;/span&gt; OllamaEmbedding
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.llms.ollama &lt;span style="color:#f92672"&gt;import&lt;/span&gt; Ollama
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 连接本地 Ollama&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;embed_model &lt;span style="color:#f92672"&gt;=&lt;/span&gt; OllamaEmbedding(model_name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;nomic-embed-text&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Ollama(model&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;llama3.1&amp;#34;&lt;/span&gt;, request_timeout&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;120&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 加载文档&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;documents &lt;span style="color:#f92672"&gt;=&lt;/span&gt; SimpleDirectoryReader(&lt;span style="color:#e6db74"&gt;&amp;#34;./docs&amp;#34;&lt;/span&gt;)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;load_data()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 创建索引并存储到 ChromaDB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chroma_client &lt;span style="color:#f92672"&gt;=&lt;/span&gt; chromadb&lt;span style="color:#f92672"&gt;.&lt;/span&gt;PersistentClient(path&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;./chroma_db&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vector_store &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ChromaVectorStore(chroma_collection&lt;span style="color:#f92672"&gt;=&lt;/span&gt;chroma_client&lt;span style="color:#f92672"&gt;.&lt;/span&gt;get_or_create_collection(&lt;span style="color:#e6db74"&gt;&amp;#34;kb&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;index &lt;span style="color:#f92672"&gt;=&lt;/span&gt; VectorStoreIndex&lt;span style="color:#f92672"&gt;.&lt;/span&gt;from_vector_store(vector_store)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;index&lt;span style="color:#f92672"&gt;.&lt;/span&gt;insert_documents(documents)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(&lt;span style="color:#e6db74"&gt;&amp;#34;文档已入库，共&amp;#34;&lt;/span&gt;, len(documents), &lt;span style="color:#e6db74"&gt;&amp;#34;份&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="通过-api-实现问答"&gt;通过 API 实现问答
&lt;/h2&gt;&lt;p&gt;RAG 系统的核心接口是一个简单的 REST API，接收用户问题，返回基于知识库的回答：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; fastapi &lt;span style="color:#f92672"&gt;import&lt;/span&gt; FastAPI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.core &lt;span style="color:#f92672"&gt;import&lt;/span&gt; VectorStoreIndex
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.embeddings.ollama &lt;span style="color:#f92672"&gt;import&lt;/span&gt; OllamaEmbedding
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; llama_index.llms.ollama &lt;span style="color:#f92672"&gt;import&lt;/span&gt; Ollama
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;app &lt;span style="color:#f92672"&gt;=&lt;/span&gt; FastAPI()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;embed_model &lt;span style="color:#f92672"&gt;=&lt;/span&gt; OllamaEmbedding(model_name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;nomic-embed-text&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Ollama(model&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;llama3.1&amp;#34;&lt;/span&gt;, request_timeout&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;120&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;index &lt;span style="color:#f92672"&gt;=&lt;/span&gt; VectorStoreIndex&lt;span style="color:#f92672"&gt;.&lt;/span&gt;from_vector_store(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ChromaVectorStore(chroma_collection&lt;span style="color:#f92672"&gt;=&lt;/span&gt;chroma_client&lt;span style="color:#f92672"&gt;.&lt;/span&gt;get_or_create_collection(&lt;span style="color:#e6db74"&gt;&amp;#34;kb&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;@app.post&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;/ask&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;ask_question&lt;/span&gt;(question: str):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; retriever &lt;span style="color:#f92672"&gt;=&lt;/span&gt; index&lt;span style="color:#f92672"&gt;.&lt;/span&gt;as_retriever(similarity_top_k&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nodes &lt;span style="color:#f92672"&gt;=&lt;/span&gt; retriever&lt;span style="color:#f92672"&gt;.&lt;/span&gt;retrieve(question)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; context &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;.&lt;/span&gt;join([node&lt;span style="color:#f92672"&gt;.&lt;/span&gt;text &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; node &lt;span style="color:#f92672"&gt;in&lt;/span&gt; nodes])
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; response &lt;span style="color:#f92672"&gt;=&lt;/span&gt; llm&lt;span style="color:#f92672"&gt;.&lt;/span&gt;complete(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;根据以下信息回答问题：&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;context&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;问题：&lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;question&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; {&lt;span style="color:#e6db74"&gt;&amp;#34;answer&amp;#34;&lt;/span&gt;: response&lt;span style="color:#f92672"&gt;.&lt;/span&gt;text}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个 API 你可以集成到 Telegram Bot、Discord Bot、网页前端或任何你想用的入口。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="成本估算"&gt;成本估算
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;项目&lt;/th&gt;
 &lt;th style="text-align: right"&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;RackNerd KVM VPS&lt;/td&gt;
 &lt;td style="text-align: right"&gt;$1-$3/月&lt;/td&gt;
 &lt;td&gt;年付促销常见 $12.88-$29.99/年，1GB RAM&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hostinger VPS&lt;/td&gt;
 &lt;td style="text-align: right"&gt;$5-$10/月&lt;/td&gt;
 &lt;td&gt;2GB 起步，面板+面板+面板，省心&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Vultr Cloud Compute&lt;/td&gt;
 &lt;td style="text-align: right"&gt;$5-$15/月&lt;/td&gt;
 &lt;td&gt;按需扩容，小时计费，灵活&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;域名&lt;/td&gt;
 &lt;td style="text-align: right"&gt;$10/年&lt;/td&gt;
 &lt;td&gt;选配，给 API 加个域名更好&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;模型 API&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&lt;strong&gt;$0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Ollama 本地跑，零费用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ChromaDB&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&lt;strong&gt;$0&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;开源免费&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;n8n&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&lt;strong&gt;$0&lt;/strong&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;结论：一台最便宜的 RackNerd VPS，每月只需 $1 就能跑完整的 RAG 系统。&lt;/strong&gt; 如果追求稳定体验，Hostinger $5-10/月的方案是性价比最优解。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="常见问题"&gt;常见问题
&lt;/h2&gt;&lt;h3 id="q-1gb-ram-的-vps-能跑吗"&gt;Q: 1GB RAM 的 VPS 能跑吗？
&lt;/h3&gt;&lt;p&gt;可以，但体验打折扣。ChromaDB + Ollama 在 1GB 下会频繁使用 swap，推理速度可能降到 2-3 tokens/秒。建议至少 2GB RAM，Phi-3 模型能在 2GB 下稳定运行。&lt;/p&gt;
&lt;h3 id="q-文档量大了-chromadb-会撑不住吗"&gt;Q: 文档量大了 ChromaDB 会撑不住吗？
&lt;/h3&gt;&lt;p&gt;ChromaDB 是内存级向量库，单实例适合 50 万向量以内。超过这个量，可以迁移到 Qdrant 或 Milvus，它们对大规模向量有更好的持久化支持。&lt;/p&gt;
&lt;h3 id="q-可以用-api-模型代替-ollama-吗"&gt;Q: 可以用 API 模型代替 Ollama 吗？
&lt;/h3&gt;&lt;p&gt;可以，但那样每月 API 费用会快速上升。如果已经有 OpenAI API Key，可以把 Ollama 换成 &lt;code&gt;openai&lt;/code&gt; embedding + &lt;code&gt;gpt-4o-mini&lt;/code&gt; 生成，但成本大约 $5-20/月，取决于文档量和调用频率。&lt;/p&gt;
&lt;h3 id="q-数据安全吗"&gt;Q: 数据安全吗？
&lt;/h3&gt;&lt;p&gt;RAG 方案最大的优势就是数据不出服务器。Ollama、ChromaDB、n8n 全部跑在你自己的 VPS 上，没有第三方能访问你的文档内容。如果你担心 VPS 服务商本身，可以用 Cloudflare Tunnel 对外暴露 API 而不出真实 IP。&lt;/p&gt;
&lt;h3 id="q-多久更新一次知识库"&gt;Q: 多久更新一次知识库？
&lt;/h3&gt;&lt;p&gt;n8n 可以设置定时 Workflow，比如每天早上 6 点自动扫描 &lt;code&gt;/docs/&lt;/code&gt; 目录下新增的 PDF，自动解析并入库。新文档立即生效，无需重启服务。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="总结你的第一台-rag-服务器该怎么买"&gt;总结：你的第一台 RAG 服务器该怎么买
&lt;/h2&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;/td&gt;
 &lt;td&gt;&lt;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;RackNerd&lt;/a&gt; 年付促销&lt;/td&gt;
 &lt;td&gt;$12-$30/年&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;中小企业团队知识库&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.hostinger.com?REFERRALCODE=JZ1ZL8465QCG" rel="nofollow sponsored" target="_blank"&gt;Hostinger VPS&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;$5-$10/月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;需要按小时灵活扩容&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.vultr.com/?ref=9706229" rel="nofollow sponsored" target="_blank"&gt;Vultr&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;$5-$15/月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;RAG 不是一项新技术，但在 2026 年，用 Docker Compose 一行命令搭起一个完整的知识库 AI 系统，仍然是性价比最高的 AI 落地路径。&lt;strong&gt;不花一分钱 API 费，你的 AI 就拥有了专属大脑。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;👉 准备好动手了？先从 &lt;a href="https://www.hostinger.com?REFERRALCODE=JZ1ZL8465QCG" rel="nofollow sponsored" target="_blank"&gt;Hostinger VPS&lt;/a&gt; 的 2GB 方案起步最稳妥，面板友好，15 分钟就能跑起来。&lt;/p&gt;</description></item></channel></rss>