前言

 直接向 ChatGPT 提问就能得到不错的回答,但这远远不够。真实的应用场景往往要求模型能够:查询实时信息、访问企业私有文档、按照严格的格式输出,甚至与外部系统交互。于是,围绕大模型的应用开发框架逐渐演化出四种经典模式:

  • 纯 Prompt 模式 – 最轻量,模型直接回答,适合通用场景。
  • Function Calling – 让模型主动调用工具/API,获取实时数据或执行操作。
  • RAG(检索增强生成) – 为模型外挂知识库,解决知识过时和私有文档问答问题。
  • Fine-tuning(微调) – 用领域数据训练模型,改变其行为或风格,获得最高质量的定制效果。

1.纯 Prompt 模式

 用户直接将问题(Prompt)发送给大模型,模型仅根据其内部参数中存储的知识生成回答。没有外部信息检索,没有工具调用,也没有任何后处理。

  • 输入:自然语言问题
  • 输出:模型直接生成的文本

请添加图片描述

2.Function Calling(工具调用 / Agent 模式)

  • 开发者在请求中描述一组可用的函数(名称、参数、功能说明)
  • 模型根据用户问题,判断是否需要调用某个函数,并输出结构化的函数名和参数(而不是直接回答)
  • 应用层执行该函数(查询API、计算、查数据库等),得到结果
  • 将函数返回结果拼接到原对话中,再次发送给模型
  • 模型基于函数返回结果生成最终答案

模型本身不执行函数,只输出调用指令。可以多轮调用。需要开发者自己实现函数的具体逻辑

请添加图片描述

3.RAG(Retrieval-Augmented Generation,检索增强生成)


离线阶段:

  • 将外部知识库(文档、网页、笔记)切分成片段,用嵌入模型(Embedding Model)计算向量,存入向量数据库。

在线阶段:

  • 用户提问后,先将问题转为向量
  • 在向量数据库中检索相似度最高的K个知识片段
  • 将检索到的片段拼接到Prompt中(例如:“基于以下资料回答问题:…”)
  • 将完整Prompt发送给大模型生成答案

请添加图片描述

4.Fine-tuning(微调)

 使用特定领域的数据,对预训练大模型进行有监督的进一步训练,更新模型的部分或全部参数,使模型更适合特定任务或风格。

  • 数据准备:收集成对的(输入,期望输出)数据,例如:
    • 客服对话(用户问题 → 标准回答)
    • 特定格式的文本(产品描述 → 营销文案)
    • 结构化输出(自然语言 → JSON)
  • 训练:在预训练模型基础上,用较小的学习率继续训练若干轮
  • 部署:将微调后的模型替代基础模型,用于推理

模式对比

 从开发成本由低到高来看,四种方案排序如下:
Prompt < Function Calling < RAG < Fine-tuning

维度 纯Prompt Function Calling RAG Fine-tuning
模型参数是否改变 ❌ 否 ❌ 否 ❌ 否 ✅ 是
能否获取实时信息 ❌ 否 ✅ 是(通过函数) ✅ 是(检索最新知识库) ❌ 否(知识截止于训练数据)
能否调用外部系统 ❌ 否 ✅ 是 ❌ 否(除非结合FC) ❌ 否
能否访问私有知识 ❌ 否 ✅ 是(需自建检索函数) ✅ 是 ✅ 是(训练进参数)
推理延迟 中(多轮调用) 中(检索+生成)
开发/维护成本 极低 高(检索系统) 高(数据+训练)
可解释性 (函数调用可见) 高(可显示检索片段)
典型应用 通用问答、翻译 智能助理、自动化 企业知识库、法律顾问 特定格式、风格迁移
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐