向 GPT-3.5 灌入新知识是 企业级大模型应用落地 的核心之一:如何让 GPT-3.5 “懂你自己的知识”,即在不重新训练模型的前提下,让它回答基于私有数据的问题。

目前实现“向 GPT-3.5 灌入新知识”主要有两种方式:

RAG 技术

RAG(Retrieval-Augmented Generation,检索增强生成) 是目前大模型中最实用、最主流的“知识增强”技术之一。它的核心思想是:

不给模型“灌知识”,而是在生成时动态地“检索”外部知识,再让模型结合这些知识生成答案。

一、RAG 的核心问题:为什么要用它?

大语言模型(LLM)如 GPT、Claude、Gemini 等在训练时掌握了大量通用知识,但它们存在两个关键限制:

  • 知识过时:模型训练数据的截止时间固定(比如 GPT-4 截止 2023 年)。
  • 私有知识缺失:模型不知道你的企业内部文档、数据库、PDF 手册等内容。

传统做法是“微调(Fine-tune)”模型,但那:

  • 成本高;
  • 需要 GPU;
  • 更新困难;
  • 还容易造成模型“遗忘原有能力”。

👉 因此,更高效的做法就是 RAG:不改模型参数,而是在问答时动态补充知识。

二、RAG 的基本流程

RAG 系统一般包括以下 5 个步骤:

用户问题 → 向量化 → 检索相似内容 → 构造提示(Prompt) → 模型生成答案 下面逐步解析:

1. 用户提问

例如:

“公司的退货政策是怎样的?”

2. 向量化(Embedding)

使用嵌入模型(如 text-embedding-3-large 或 bge-large-zh)将用户问题转成一个高维向量。

例如:

[0.12, -0.03, 0.44, ...] 这个向量代表了问题的语义特征。

3. 检索(Retrieval)

在一个 向量数据库(如 Pinecone、Milvus、Faiss、Chroma)中查找最相似的文档段落。

这些段落通常是预处理时:

  • 将公司文档分块;
  • 为每个块计算 embedding;
  • 存储到向量库。

输出结果可能是:

【命中文档】 1. 退货须在30天内凭订单号申请; 2. 特价商品不支持退货; 4. 构造 Prompt(Augment)将这些检索到的知识插入到模型提示中,形成一个完整上下文,例如:

你是一名客户支持机器人。 以下是公司的退货政策: 1. 退货须在30天内凭订单号申请; 2. 特价商品不支持退货。

问题:客户问“我上周买的折扣商品可以退吗?” 5. 模型生成答案(Generation)模型根据检索的知识和上下文生成答案,例如:

抱歉,折扣商品属于特价商品,暂不支持退货。

三、RAG 系统的架构示意

┌─────────────────────┐ │ 企业知识库(文档、FAQ)│ └─────────┬───────────┘ │分块 + 向量化 ▼ 向量数据库(如 Pinecone) ▲ │相似度检索 ┌──────────┴──────────┐ │ 用户问题 → 向量化 │ └──────────┬──────────┘ ▼ 模型生成答案(GPT) 四、RAG 的主要优势优势说明⚡ 实时可更新文档变更后,重新索引即可🧠 不修改模型无需重新训练,使用原生模型🧩 私有知识融合支持企业知识、数据库、API 等💰 成本低无需 GPU 微调,云端即可运行五、RAG 的关键技术组件组件常用方案说明Embedding 模型text-embedding-3-large, bge-large-zh用于文本向量化向量数据库Pinecone, Milvus, FAISS, Chroma用于存储与检索分块算法RecursiveTextSplitter, SemanticChunk控制检索粒度检索增强策略HyDE, ReRank, Multi-query提升召回与精度生成模型GPT-4, Claude 3, Qwen2.5最终回答输出六、RAG 的代码示例(Python + OpenAI + Chroma)“微调(Fine-tuning)”是让大模型(如 GPT-3.5、Llama、通义千问等)更符合你业务需求的核心手段之一。 下面我将从原理、类型、流程、数据格式、最佳实践与局限性六个方面,详细介绍微调机制。

微调是指在预训练大模型的基础上,用自定义的数据对模型进行二次训练,使模型在特定领域或任务上表现更好。

简单说,就是让大模型“带着你的知识和风格再学一遍”,从而更懂你、说你想要的内容。

🌰 举个例子

原始 GPT-3.5 是通用模型,它知道很多知识,但不知道你的公司政策或品牌语气。 通过微调后,它可能变成:

一名客服助理,始终使用礼貌语气;一名法律顾问,严格基于法规回答问题;一名技术支持机器人,优先引用产品手册内容。

二、微调的核心原理

在预训练阶段,大模型学会了语言规律、语义关系、推理方式。 微调阶段只是让模型在你的数据上“再学习一点点”。

形式上:

  • 微调不是重新训练;
  • 只调整模型最后几层的参数(或低秩适配层,如 LoRA);
  • 成本远低于从头训练。

三、微调的类型

四、微调的典型流程(以 GPT-3.5 为例)

Step 1:准备训练数据(JSONL 格式)

每一行是一条对话样本,格式如下:

{"messages":[ {"role":"system","content":"你是公司客服,语气礼貌。"}, {"role":"user","content":"我能退货吗?"}, {"role":"assistant","content":"您可以在购买后30天内退货,请提供订单号以便处理。"} ] } 示例训练集(data.jsonl)可包含上百条类似记录。

Step 2:上传训练数据

openai files create -p fine-tune -f data.jsonl Step 3:启动微调任务openai api fine_tunes.create -t "file-xxxxxxxxxxxx" -m "gpt-3.5-turbo" 等待任务完成后,你会得到一个新的模型 ID: ft:gpt-3.5-turbo:your-org:custom-model-2025-11-07

Step 4:使用微调后的模型

{"messages":[ {"role":"system","content":"你是客服助手。"}, {"role":"user","content":"我上次买的耳机坏了"}, {"role":"assistant","content":"很抱歉听到这个消息,请问是无法开机还是无声?"}, {"role":"user","content":"没声音"}, {"role":"assistant","content":"请尝试重新连接,如果仍无声音,可申请免费更换。"} ] } 六、微调与其他方式的区别方法是否训练模型优点缺点典型用途微调 (Fine-tuning)✅ 是高精度、固化风格成本高、更新慢固定客服、行业专用模型RAG 检索增强生成❌ 否实时更新、低成本依赖检索质量知识问答、文档助理系统提示(System Prompt)❌ 否快速简单容易被覆盖轻量角色设定七、微调的实际效果✅ 能实现:

  • 固化语气、风格;
  • 在封闭任务上显著提高准确率;
  • 减少提示词复杂度;
  • 提升一致性和鲁棒性。

🚫 不能实现:

  • “长时记忆”或无限知识注入;
  • 完全替代向量检索(RAG);
  • 动态知识更新(需重新微调)。

八、微调 + RAG 的组合(最佳实践)

现代企业大多采用 Hybrid 方案:

┌──────────────┐ │ 微调模型 │ ← 固化语气、格式、逻辑 └──────┬───────┘ ↓ ┌───────────────────────────┐ │ RAG 检索层(企业知识库) │ ← 实时注入最新知识 └──────────────┬───────────┘ ↓ 用户对话应用层 即:

  • 微调控制 “怎么说”;
  • RAG 控制 “说什么”。

九、总结