大模型应用开发框架
·
文章目录
前言
直接向 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) | ❌ 否 |
| 能否访问私有知识 | ❌ 否 | ✅ 是(需自建检索函数) | ✅ 是 ✅ 是(训练进参数) | |
| 推理延迟 | 低 | 中(多轮调用) | 中(检索+生成) | 低 |
| 开发/维护成本 | 极低 | 中 | 高(检索系统) | 高(数据+训练) |
| 可解释性 | 低 | 中 | (函数调用可见) | 高(可显示检索片段) |
| 典型应用 | 通用问答、翻译 | 智能助理、自动化 | 企业知识库、法律顾问 | 特定格式、风格迁移 |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)