一、什么是RAG?

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种让大语言模型(LLM)"开卷考试"的技术。传统 AI 只能依赖训练数据回答问题,而 RAG 让 AI 能够实时检索你的私人文档、笔记或数据库,再基于这些内容生成精准回答.

二、何为RAG系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│ 文档来源 │────▶│ 文本分块 │────▶│ 向量数据库 │
│ (Drive/PDF) │ │ + Embedding │ │(Pinecone/ │
└─────────────┘ └──────────────┘ │ Supabase) │
└──────┬──────┘

┌─────────────┐ ┌──────────────┐ ┌──────▼──────┐
│ 用户查询 │────▶│ 相似性检索 │◀────│ 向量存储 │
│ (Chat/Web) │ │ (Top-K) │ └─────────────┘
└─────────────┘ └──────┬───────┘

┌──────▼──────┐ ┌─────────────┐
│ LLM 生成 │────▶│ 返回回答 │
│(GPT-4/Claude)│ └─────────────┘
└─────────────┘

三、RAG系统搭建部署(n8n)

1. 相关软件及其环境的安装
  1. docker(win中文版)
  2. n8n
  3. chroma / Pinecone(这是云端免费服务商)
1
docker安装地址(中文版win):https://github.com/asxez/DockerDesktop-CN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 

docker run -d `
--name n8n `
--restart always `
--network my_network `
-p 5678:5678 `
-e GENERIC_TIMEZONE="Asia/Shanghai" `
-e TZ="Asia/Shanghai" `
-e N8N_DEFAULT_LOCALE=zh-CN `
-e N8N_SECURE_COOKIE=false `
-e N8N_HOST=47.110.26.14 `
-e N8N_PROTOCOL=http ` # https也可
-e WEBHOOK_URL=http://47.110.26.14:5000 `
-v /d/works/n8n/n8nAI:/home/node/.n8n `
-v /d/works/n8n/n8ndata:/home/node/n8ndata `
docker.n8n.io/n8nio/n8n
1
2
3
4
5
6
7
8
9
docker run -d `
--name chromadb `
--restart always `
--network my_network `
-p 5680:8000 `
-e IS_PERSISTENT=TRUE `
-e CHROMA_SERVER_HOST=0.0.0.0 `
-v /d/works/chroma:/data `
chromadb/chroma:latest
2. n8n布局

ai智能体模块
image.png

chroma上传管理模块
image.png
agents系统提示词

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Role & Persona
你是“小娜”,是“可可”的专属私人助理。请始终以友好、专业的口吻称呼用户为“可可”。你有最高权限处理并回答用户的隐私及专属上下文问题。禁止使用“作为AI我不知道”、“我的训练数据截止到…”或“涉及隐私无法回答”等套话。

# Core Workflow (严格的执行顺序)
面对可可的任何提问,你必须**严格遵守**以下工具调用顺序,绝对不能跳过检索步骤直接使用你的内部训练数据回答:

1. **第一步:强制调用本地知识库 (Vector Store Tool)**
遇到任何问题,你**必须首先**调用“Answer questions with a vector store”工具检索本地知识库。这是你获取准确信息的最优先、最核心来源。
2. **第二步:互联网回退 (Tavily Search Tool)**
只有当向量数据库明确返回“未找到相关内容”,或者返回的片段不足以完整回答问题时,你才被允许调用“Search in Tavily”工具进行全网补充搜索。
3. **第三步:深度思考 (Think Tool)**
在获取了向量数据库或搜索引擎的事实资料后,如果问题涉及复杂的逻辑推理、数据分析、多步规划或代码编写,请调用“Think”工具进行深度推理,然后再输出最终答案。

# Output Constraints
- **禁止凭空捏造(Hallucination):** 你的回答必须基于向量库或搜索引擎返回的事实。
- **诚实兜底:** 如果即使使用了向量库和网络搜索,依然找不到答案,请诚实地告诉可可你已经尝试了全面检索但未能找到,并询问是否需要提供更多背景信息,绝不要直接回答“不知道”。

chroma模块Basic LLM Chain提示词

1
2
3
4
5
6
“你是一个专业的数据清洗与文本排版助手。请阅读以下由机器从文件中暴力提取的原始文本片段。
你的任务是:
剔除乱码与杂质: 删掉所有由于提取造成的无意义乱码、奇怪的特殊符号、以及不连贯的页眉页脚数字。
修复排版与断句: 修复因换行导致的断句错误,将文本重新排版为逻辑通顺、易于阅读的连贯段落。
100% 无损保留: 绝对禁止对原文进行任何形式的精简、总结、归纳或删减。你必须保留原文中所有的原理论述、细节限定、具体例子以及专业术语。
请直接输出清洗排版后的纯文本,不要包含任何开场白或解释性废话。

:::info{title="相关信息"}

需要源文件的可以私我

:::