AI技术选型: 提示词、RAG、Function Calling、微调
·
我们对待大模型,应该像对待人一样,类似对待一个刚毕业的实习博士生,他懂得很多,但是不懂业务,你要是想让他干活,必须给他明确的目标,合适的工具,他才能把任务完成的更好。
提示词工程
提示词工程(Prompt Engineering)是通过设计有效的输入提示(Prompt)来引导大模型生成预期输出的技术。其核心在于优化提示的清晰度、结构和上下文,以减少模型误解并提高输出质量。常用方法包括:
- 明确指令:直接指定输出格式或要求,例如“用三点概括以下内容”。
- 示例引导(Few-shot Learning):提供输入输出示例,帮助模型理解任务模式。
- 角色设定:通过赋予模型特定角色(如“资深律师”)约束输出风格。
适用场景:快速适配新任务、无需修改模型参数的轻量级优化。
- 举例说明:
- 反例: 订一张票
- 正例: 订一张本周五从杭州到广州的票,出发时间是下午2-点,综合考虑时间,价格等因素;
RAG(检索增强生成)
RAG(Retrieval-Augmented Generation)结合检索系统与大模型,通过外部知识库增强生成内容的准确性。典型流程:
- 检索阶段:根据用户查询从数据库或文档中提取相关片段。
- 生成阶段:将检索结果作为上下文输入大模型,生成最终回答。
优势:解决模型幻觉问题,适合知识密集型任务(如问答、事实核查)。需注意检索效率与数据更新机制的平衡。
适用场景:快速适配新知识、无需修改模型参数的轻量级优化, 回答精准。
- 举例说明:
- 国家每年都会发布新政策,所以需要不断地更新知识库
Function Calling
Function Calling 是大模型根据用户请求自动调用预定义函数(API)的能力,实现与外部工具的交互。关键点:
- 函数描述:用自然语言或结构化格式(如OpenAI的JSON Schema)定义函数功能及参数。
- 动态调用:模型解析用户意图后,返回需调用的函数及参数,由系统执行。
典型应用:实时数据查询(天气、股票)、数据库操作、多模态处理(如图像生成)。
Function Calling 是大模型的一种扩展能力,各厂商有各自的实现标准(OpenAI 格式是事实标准)。使用时需要在请求中按特定 JSON 格式注入工具描述,模型会返回结构化的调用请求,由开发者执行实际函数后,再将结果回传给模型完成对话。
- python 代码
tools = [
# 工具1 获取当前时刻的时间
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "当你想知道现在的时间时非常有用。",
# 因为获取当前时间无需输入参数,因此parameters为空字典
"parameters": {},
},
},
# 工具2 查找最近点
{
"type": "function",
"function": {
"name": "find_point",
"description": "Find the nearest point in the database to the given coordinates",
"parameters": {
"type": "object",
"properties": {
"target_point": {
"type": "array",
"items": {
"type": "number"
},
"description": "The target point coordinates [x, y]"
}
},
"required": ["target_point"]
}
}
}
]
微调(Fine-tuning)
微调通过在大模型基础上使用领域数据继续训练,使其适配特定任务或行业。技术要点:
- 数据准备:需高质量、任务相关的标注数据,数据量通常从数千到百万级不等。
- 训练策略:全参数微调(计算成本高)或参数高效方法(如LoRA、Adapter)。
- 评估指标:准确率、F1值等,需验证过拟合风险。
适用场景:垂直领域(医疗、法律)或独特需求(风格化文本生成)。需权衡训练成本与性能提升。
选型建议
- 轻量需求:优先提示词工程或RAG,成本低且部署快。
- 复杂交互:Function Calling适合需实时连接外部系统的场景。
- 长期专业化:微调在数据充足且需求明确时效果最佳,但需投入训练资源。
- RAG 和 微调选型比对:
- RAG 适合不断更新,立即获取最新知识,成本低; 微调则需要训练时间,无法立即交付,且成本高;
- 微调适合 特定任务或行业, 回答更加的专业; RAG 则是根据检索到的文本片段,作为问题的一部分 通过通用大模型回答;
更多推荐


所有评论(0)