Featured image of post 2026年用VPS自建RAG知识库:Ollama + ChromaDB 低成本AI问答方案

2026年用VPS自建RAG知识库:Ollama + ChromaDB 低成本AI问答方案

用一台$5-$10/月的VPS搭建完整的RAG系统:Ollama本地模型 + ChromaDB向量数据库 + n8n自动化工作流,让你的AI拥有专属知识库。

先说结论:RAG 不需要 GPU VPS,但需要靠谱的内存和磁盘

如果你正在考虑用自己的服务器跑一个能读文档、答问题的 AI 助手,RAG(检索增强生成)是目前性价比最高的方案。它不需要昂贵的 GPU 服务器,也不需要订阅任何付费 API——关键组件全部开源免费,一台 $5/月的 VPS 就能稳定运行。

我的推荐是:

  • 轻量级 RAG(千级文档内):RackNerd 年付促销 VPS(1GB RAM + 20GB NVMe),适合个人知识库
  • 生产级 RAG(万级文档 + n8n 自动化):Hostinger VPS(2-4GB RAM + 60GB NVMe),面板友好、部署省心
  • 需要多模型切换或 GPU 加速:Vultr Cloud Compute(按需扩容,支持 GPU 实例)

RAG 到底是什么?为什么你需要它

传统的 AI 模型有个致命缺陷:它们不知道你家公司的数据、你的私人文档、你那几千篇 PDF 报告里写了什么。

RAG 解决的就是这个问题。它的工作流程很简单:

  1. 你把文档(PDF、网页、Markdown)喂给向量数据库(如 ChromaDB、Qdrant、Weaviate)
  2. 当用户提问时,系统先在向量库中检索相关片段
  3. 把这些片段加上问题一起发给 LLM,让模型基于"事实"回答

这样做的好处:

  • 回答基于你的真实数据,不会编造幻觉
  • 随时更新文档,AI 的知识库实时同步
  • 不需要微调模型,训练成本为零
  • 数据不出你的服务器,隐私可控

方案对比:三档 VPS 怎么选

方案RackNerd 促销 VPSHostinger VPSVultr Cloud Compute
月费预算$1-$3/月(年付)$5-$10/月$5-$15/月
典型配置1 vCPU / 1GB RAM / 20GB NVMe2 vCPU / 2-4GB RAM / 60GB NVMe2 vCPU / 4GB RAM / 80GB NVMe
文档量级500-2000 篇以内2000-10000 篇10000+ 篇
适合谁学生、个人用户、验证想法中小企业、团队知识库生产环境、高并发场景
优点极其便宜,年付不到$30面板好用,AI 定位清晰,售后好机房全球覆盖,按小时计费灵活
缺点库存变化快,无 SLA续费价格翻倍,长周期更划算同配置年付未必最便宜
选购查看 RackNerd查看 Hostinger查看 Vultr

完整架构:你会搭建什么

整个系统由四个核心组件组成:

组件角色推荐方案
LLM(大语言模型)理解问题、生成回答Ollama + Llama 3.1 8B 或 Qwen 2.5 7B(本地跑)
Embedding 模型把文本转成向量Ollama 内嵌的 nomic-embed-textmxbai-embed-large
向量数据库存储和检索向量ChromaDB(轻量、内存级、适合中小规模)
自动化编排文档 ingestion + API 服务n8n 或 Python FastAPI

运行资源需求:

组件CPU内存磁盘
Ollama(Llama 3.1 8B)2 vCPU4GB(推理时峰值)8GB 模型权重
ChromaDB0.5 vCPU500MB-2GB(取决于文档量)每个 10 万向量约 1-2GB
n8n0.5 vCPU500MB1-3GB
总计2-3 vCPU6-10GB12-20GB

⚠️ 如果你的 VPS 只有 1GB RAM,可以改用 2GB swap + 小模型(如 Phi-3 mini),但推理速度会变慢。强烈建议至少 2GB RAM


部署步骤(Docker Compose 一键搭建)

以下是在一台干净 Ubuntu 22.04/24.04 VPS 上完成整个系统的步骤。

第 1 步:安装 Docker 和 Docker Compose

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# 验证
docker --version && docker compose version

第 2 步:创建项目目录和 compose 文件

mkdir -p ~/rag-stack && cd ~/rag-stack

创建 docker-compose.yml

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    restart: unless-stopped

  chroma:
    image: chromadb/chroma:latest
    container_name: chroma
    ports:
      - "8000:8000"
    volumes:
      - chroma_data:/data/chroma
    restart: unless-stopped

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    ports:
      - "5678:5678"
    environment:
      - N8N_SECURE_COOKIE=false
    volumes:
      - n8n_data:/home/node/.n8n
    restart: unless-stopped

volumes:
  ollama_data:
  chroma_data:
  n8n_data:

启动:

docker compose up -d

第 3 步:下载并加载模型

# 拉取 LLM 模型(Llama 3.1 8B,适合 2-4GB RAM)
docker exec -it ollama ollama pull llama3.1

# 拉取 Embedding 模型
docker exec -it ollama ollama pull nomic-embed-text

如果你的 VPS 只有 2GB RAM,可以改用更小的模型:

docker exec -it ollama ollama pull phi3
docker exec -it ollama ollama pull nomic-embed-text

第 4 步:验证服务

# Ollama API
curl http://localhost:11434/api/tags

# ChromaDB
curl http://localhost:8000/api/v1/heartbeat

# n8n
curl http://localhost:5678/

三个都返回 200 就说明部署成功。


把文档喂给 RAG 系统

方案 A:用 n8n 可视化编排(推荐新手)

  1. 浏览器访问 http://你的VPS_IP:5678,登录 n8n
  2. 创建新 Workflow,使用以下节点链:
    • File TriggerHTTP Request → 获取文档
    • PDF Parse / Web Page → 提取文字
    • LLM Chain(Embedding 节点)→ 使用 Ollama API 生成向量
    • ChromaDB → 存入向量库
  3. 测试 Workflow,上传一篇 PDF 验证能否存入 ChromaDB

方案 B:用 Python 脚本批量入库

如果你更喜欢代码方式,可以用这段最小可用脚本:

import chromadb
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.ollama import OllamaEmbedding
from llama_index.llms.ollama import Ollama

# 连接本地 Ollama
embed_model = OllamaEmbedding(model_name="nomic-embed-text")
llm = Ollama(model="llama3.1", request_timeout=120)

# 加载文档
documents = SimpleDirectoryReader("./docs").load_data()

# 创建索引并存储到 ChromaDB
chroma_client = chromadb.PersistentClient(path="./chroma_db")
vector_store = ChromaVectorStore(chroma_collection=chroma_client.get_or_create_collection("kb"))
index = VectorStoreIndex.from_vector_store(vector_store)
index.insert_documents(documents)

print("文档已入库,共", len(documents), "份")

通过 API 实现问答

RAG 系统的核心接口是一个简单的 REST API,接收用户问题,返回基于知识库的回答:

from fastapi import FastAPI
from llama_index.core import VectorStoreIndex
from llama_index.embeddings.ollama import OllamaEmbedding
from llama_index.llms.ollama import Ollama

app = FastAPI()
embed_model = OllamaEmbedding(model_name="nomic-embed-text")
llm = Ollama(model="llama3.1", request_timeout=120)
index = VectorStoreIndex.from_vector_store(
    ChromaVectorStore(chroma_collection=chroma_client.get_or_create_collection("kb"))
)

@app.post("/ask")
def ask_question(question: str):
    retriever = index.as_retriever(similarity_top_k=3)
    nodes = retriever.retrieve(question)
    context = "\n\n".join([node.text for node in nodes])
    response = llm.complete(f"根据以下信息回答问题:\n{context}\n问题:{question}")
    return {"answer": response.text}

这个 API 你可以集成到 Telegram Bot、Discord Bot、网页前端或任何你想用的入口。


成本估算

项目月费说明
RackNerd KVM VPS$1-$3/月年付促销常见 $12.88-$29.99/年,1GB RAM
Hostinger VPS$5-$10/月2GB 起步,面板+面板+面板,省心
Vultr Cloud Compute$5-$15/月按需扩容,小时计费,灵活
域名$10/年选配,给 API 加个域名更好
模型 API$0Ollama 本地跑,零费用
ChromaDB$0开源免费
n8n$0自托管免费

结论:一台最便宜的 RackNerd VPS,每月只需 $1 就能跑完整的 RAG 系统。 如果追求稳定体验,Hostinger $5-10/月的方案是性价比最优解。


常见问题

Q: 1GB RAM 的 VPS 能跑吗?

可以,但体验打折扣。ChromaDB + Ollama 在 1GB 下会频繁使用 swap,推理速度可能降到 2-3 tokens/秒。建议至少 2GB RAM,Phi-3 模型能在 2GB 下稳定运行。

Q: 文档量大了 ChromaDB 会撑不住吗?

ChromaDB 是内存级向量库,单实例适合 50 万向量以内。超过这个量,可以迁移到 Qdrant 或 Milvus,它们对大规模向量有更好的持久化支持。

Q: 可以用 API 模型代替 Ollama 吗?

可以,但那样每月 API 费用会快速上升。如果已经有 OpenAI API Key,可以把 Ollama 换成 openai embedding + gpt-4o-mini 生成,但成本大约 $5-20/月,取决于文档量和调用频率。

Q: 数据安全吗?

RAG 方案最大的优势就是数据不出服务器。Ollama、ChromaDB、n8n 全部跑在你自己的 VPS 上,没有第三方能访问你的文档内容。如果你担心 VPS 服务商本身,可以用 Cloudflare Tunnel 对外暴露 API 而不出真实 IP。

Q: 多久更新一次知识库?

n8n 可以设置定时 Workflow,比如每天早上 6 点自动扫描 /docs/ 目录下新增的 PDF,自动解析并入库。新文档立即生效,无需重启服务。


总结:你的第一台 RAG 服务器该怎么买

你的场景推荐方案预算
学生/个人,验证想法RackNerd 年付促销$12-$30/年
中小企业团队知识库Hostinger VPS$5-$10/月
需要按小时灵活扩容Vultr$5-$15/月

RAG 不是一项新技术,但在 2026 年,用 Docker Compose 一行命令搭起一个完整的知识库 AI 系统,仍然是性价比最高的 AI 落地路径。不花一分钱 API 费,你的 AI 就拥有了专属大脑。

👉 准备好动手了?先从 Hostinger VPS 的 2GB 方案起步最稳妥,面板友好,15 分钟就能跑起来。