前言
ChatGPT 时刻,初探AI。DeepSeek 时刻,入局AI。
ChatGPT 时刻
2023年3月,第一次听说ChatGPT,当时公司就要求去了解学习一下,看看是否能使用上。由于各种原因,最终也只是停留在知道的层面。
DeepSeek 时刻
2025年3月,整整2年过后,随着DeepSeek的爆火,公司再一次要求去了解学习,希望能对现有项目,对公司未来业务有所帮助。
这篇文章就是我作为一个 AI 的初学者,了解过相关技术后,对 AI 应用开发的总结。
从应用开发的角度,来看看大模型的相关技术。
模型内部(将改变大模型本身参数)
预训练(Pre-training)
预训练是为了让模型在见到特定任务数据之前,先通过学习大量通用数据来捕获广泛有用的特征,从而提升模型在目标任务上的表现和泛化能力。预训练数据成本、硬件成本高,普通用户和企业一般不参与。
微调(Fine-tuning)
预训练模型已经在大规模数据集上学到了丰富的通用特征和先验知识,但这些特征和知识可能并不完全适用于特定的目标任务。微调通过在新任务的少量标注数据上进一步训练预训练模型,使模型能够学习到与目标任务相关的特定特征和规律,从而更好地适应新任务。微调相比预训练成本大幅降低,但也需要一定的数据、硬件成本。
微调分类
A. 按策略分类
这种方式通常使用预训练模型作为基础,并在新任务的小规模标注数据集上进行进一步的训练。这种训练过程可以根据具体的训练方法和目标细分为不同的策略, 如监督微调和基于人类反馈的强化学习微调。
监督微调(SFT)
定义: 在新任务的小规模标注数据集上,使用有监督学习的方法对预训练模型进行微调,以使其适应新任务。
步骤: 加载预训练模型 → 准备新任务的数据集 → 调整模型输出层 → 在新任务数据集上训练模型。
应用: 适用于那些有明确标注数据集的任务,如文本分类、命名实体识别等。
基于人类反馈的强化学习微调(RLHF)
定义: 在SFT的基础上,通过强化学习和人类反馈来进一步微调模型,使其输出更加符合人类的偏好或期望。
步骤: 首先进行SFT → 收集人类反馈数据 → 训练奖励模型 → 使用奖励模型指导强化学习过程来微调模型。
应用:适用于那些需要高度人类判断或创造力的任务,如对话生成、文本摘要等。
B. 按参数分类
这种方式更加关注于模型参数层面的调整,根据是否调整全部参数,可以细分为全面微调(Full Fine-tuning)和部分/参数高效微调(Parameter-Efficient Fine-tuning, PEFT)。
全面微调(Full Fine-tuning)
定义:在新任务上调整模型的全部参数,以使其完全适应新任务。
步骤:加载预训练模型 → 在新任务数据集上训练模型,调整所有参数。
应用:当新任务与预训练任务差异较大,或者想要充分利用新任务数据集时,可以选择全面微调。
部分/参数高效微调(PEFT)
定义: 仅调整模型的部分参数,如添加一些可训练的适配器(adapters)、前缀(prefixes)或微调少量的参数,以保持模型大部分参数不变的同时,实现对新任务的适应。
步骤: 加载预训练模型 → 在模型中添加可训练的组件或选择部分参数 → 在新任务数据集上训练这些组件或参数。
应用:当计算资源有限,或者想要快速适应新任务而不影响模型在其他任务上的性能时,PEFT是一个很好的选择。
微调工具
开源的大模型的微调工具:unsloth、XTuner、LLaMA-Factory、ms-SWIFT、Firefly 等。
使用Python语言编程微调:Pytorch框架/TensorFlow框架、Transformers库、peft库、LoRA库 等。
模型外部(不改变大模型本身参数)
大模型API调用
代码方式
以调用deepseek的API为例(DeepSeek API 采用与 OpenAI 兼容的 API 格式):
# Please install OpenAI SDK first: `pip3 install openai`
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"},
],
stream=False
)
print(response.choices[0].message.content)
给API接口提供API key、模型名称、角色定位、用户输入即可。
前端/客户端方式
有很多免费或开源的大模型前端/客户端工具可以使用,如:Open WebUI、chatbox、CherryStudio 等。
Function Call
Function Call 给 LLM 提供了调用外部工具或函数的能力。这个函数或工具可以是可以自定义的,这样 LLM 本身能力可以依靠 Function Call 得到极大补充,同时也使 LLM 可以极大地适配自己的业务。
使用Function Call功能时,需要定义(并不是真的写程序去定义一个函数,而仅仅是用文字来描述一个函数)一些function(需要指定函数名,函数用途的描述,参数名,参数描述),传给 LLM,当用户输入一个问题时,LLM通过文本分析是否需要调用某一个function,如果需要调用,那么LLM返回一个json,json包括需要调用的function名,需要输入到function的参数名,以及参数值。
总而言之,function call帮我们做了两件事情:
判断是否要调用某个预定义的函数。
如果要调用,从用户输入的文本里提取出函数所需要的函数值。
Function Call 机制为AI模型带来了许多优势:
扩展功能:模型可以通过调用外部函数执行更复杂的任务,扩展其功能。
实时交互:模型可以与外部系统进行实时交互,获取最新的信息或执行实时操作。
模块化:通过定义和调用函数,模型可以实现模块化的设计,提高代码的可维护性和可扩展性。
提示工程
提示工程(Prompt Engingering),也被称为上下文提示(In-Context Prompting),指的是通过结构化文本等方式来完善提示词,引导LLM输出我们期望的结果。 通过提示词工程可以在不更新模型权重的情况下,让LLM完成不同类型的任务。
提示工程方法有:零样本提示、少样本提示、思维链(CoT)、检索增强生成(RAG)、自我一致性、自我反思 Reflexion、思维树 等等。
举例说明:
零样本提示
直接向LLM提出查询的方法,无需进行任何工程改进以提升LLM性能,这是大多数提示策略背后的核心目标。
少样本提示
利用大语言模型的上下文学习能力,通过在提示中增加“示例样本”来启发大语言模型达到举一反三的效果。
思维链
通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。区别于传统的 Prompt 从输入直接到输出的映射 output> 的方式,CoT 完成了从输入到思维链再到输出的映射,即 reasoning chain——>output>。
RAG
RAG 技术:即检索增强生成技术,通过检索外部知识源来增强大语言模型的回答能力,使其能够生成更准确、更有依据的答案,尤其适用于需要最新或特定领域知识的任务。
Agent
智能体(Agent)是一种基于大型语言模型(LLM)构建的智能系统,具备环境感知、自主理解、决策制定和执行行动的能力。它能够模拟独立思考过程,灵活调用各种工具,逐步达成预设目标。
核心组成
智能体由四个关键部分组成:规划(Planning)、记忆(Memory)、工具(Tools)和行动(Action)。
规划(Planning)
规划是智能体的思维模型,负责将复杂任务拆解为可执行的子任务,并评估执行策略。通过大模型提示工程(如ReAct、CoT推理模式),智能体能够精准拆解任务,分步解决。
记忆(Memory)
记忆包括短期记忆和长期记忆。短期记忆用于存储会话上下文,支持多轮对话;长期记忆则存储用户特征、业务数据等,通常通过向量数据库实现快速存取。
工具(Tools)
工具是智能体感知环境、执行决策的辅助手段,如API调用、插件扩展等。通过接入外部工具(如API、插件),智能体可以扩展其能力,如解析文档、生成图像等。
行动(Action)
行动是智能体将规划与记忆转化为具体输出的过程,包括与外部环境的互动或工具调用。智能体根据规划与记忆执行具体行动,如智能客服回复、查询天气预报等。
智能体作为人工智能领域的重要技术突破,正在推动各行各业的创新和转型。
构建原则
两个核心原则:了解自己的需求;了解智能体的能力。
应用场景
文案:爆款标题、文案输出、爆款文章
写作:续写、改写、周报
效率工具:翻译、记账、百科,提效工具
编程助手:代码审查、代码解释
客服:智能回复
生活:什么值得买、旅行规划等等
MCP
MCP(Model Context Protocol,模型上下文协议)定义了应用程序和 AI 模型之间交换上下文信息的方式。这使得开发者能够以一致的方式将各种数据源、工具和功能连接到 AI 模型(一个中间协议层),就像 USB-C 让不同设备能够通过相同的接口连接一样。MCP 的目标是创建一个通用标准,使 AI 应用程序的开发和集成变得简单和统一。
MCP的优势
MCP充当 AI 模型的”万能转接头”,让 LLM 能轻松的获取数据或者调用工具。MCP 的优势在于:
生态 – MCP 提供很多现成的插件,AI 应用可以直接使用。
统一性 – 不限制于特定的 AI 模型,任何支持 MCP 的模型都可以灵活切换。
数据安全 – 敏感数据留在自己的电脑上,不必全部上传。(因为我们可以自行设计接口确定传输哪些数据)
MCP 与 Function Calling 的区别
这两种技术都旨在增强 AI 模型与外部数据的交互能力,但 MCP 不止可以增强 AI 模型,还可以是其他的应用系统。






