大家好,我是玄姐。
AI 大模型应用开发作为新兴领域,不断出现新的技术:LLM、Prompt、RAG、Agent、Fine-tuning、MCP 等,本文聚焦 AI 大模型应用开发,带领大家入门,带领大家了解 AI 大模型应用开发的全攻略。
—1—
AI 大模型应用开发全攻略
尽管市面上的大语言模型(LLMs)种类繁多,但大家在使用时其实都是通过 API 来与大模型交互的。这些大模型的接口通常遵循一些通用的规范,比如: OpenAI 的标准。下面,我们就以 OpenAI 接口为例,来聊聊这些大模型都有哪些能力。
当你和大模型交流时,除了可以控制大模型输出的随机性之外,最关键的参数就是 Messages 和 Tools。可以说,现在市面上的各种大模型应用,都是基于这两个参数设计的。
1、Messages - 大模型是如何“记住”对话的?
Messages 是一个对话记录的列表,里面的角色包括:
System:代表系统级别的指令,通常用来放置提示词。
User:用户发出的指令。
Assistant:LLM 给出的回复。
不同厂商可能会在这个基础上增加一些额外的定义。
大模型所谓的“记忆”对话,其实是依赖于这个列表来传递信息的。
比如,第一轮对话中我告诉大模型我的名字。
第二轮对话时,如果问大模型我是谁,它就能“记住”我的名字。这是因为我在 Messages 列表中提供了这个名字信息。
提示词的不稳定性:容易被指令注入攻击。
看完这三张图,我们来总结一下:
为什么大模型能“记住”之前的对话呢?其实,它并不是真的记住了,而是每次请求时,系统都会给它之前对话的内容。大模型的每次请求调用都是无状态的,它的行为完全取决于你每次提供的信息。
那么,大模型的提示词(Prompt)有什么用呢?提示词可以进一步控制(或者说覆盖)大模型的行为,具有高优先级,但同时也存在不稳定的风险。
希望这样的解释能帮助你更好地理解大语言模型的工作原理和它们的应用方式。
2、RAG - 检索增强生成
让我们深入了解一种重要的大模型应用范式:检索增强生成,简称 RAG(Retrieval-Augmented Generation)。
简单来说,RAG 就是利用检索到的知识来提升生成答案的质量。举个例子,假设我手头有一堆关于数据仓库的问题和答案(Q&A),我想基于这些 Q&A 来创建一个问答机器人,让它能够根据这些 Q&A 来回答用户的问题。这个问答机器人的工作流程就是:检索到的 Q&A -> 利用检索到的 Q&A 来回复用户,这正是 RAG 的典型应用场景。显然,RAG 的最终目标是为用户提供可靠的答案。
构建 RAG 链路相对简单,但要达到好的效果却不容易。从流程中我们可以发现两个关键点:
知识库检索召回:这里需要解决如何检索到最相关、最准确的答案。
基于知识库的 LLM 回答:这里需要解决的是如何让模型在众多知识中给出自信且准确的回答。
这些都是业界正在不断探索的问题,没有统一的标准答案,只有最适合当前业务需求的方案。
3、Tools - 大模型能执行任何工具?
很多同学经常对大语言模型(LLM)的能力有所误解,比如询问大模型是否能执行数据库操作,或者是否能将数据仓库中的数据导入到对象存储等。这些问题通常源于对大模型的“Tools”参数理解不足。
“Tools”是一个工具集合的数组,其中包含了工具的作用描述和所需参数,例如天气查询工具的定义如图示。
使用这些工具时,通常需要两次调用大模型:
第一次、将用户的查询和工具信息一起提供给模型,模型会根据这些信息推理出需要执行相应的工具及其参数。
后端系统根据大模型的选择结果执行相应的工具,获取结果。
第二次,再次请求大模型,此时上下文中包含了工具执行的结果,大模型基于这些信息生成回复。
总结一下
大模型本身并不能直接执行任何工具,但能决定接下来要执行哪些工具。一旦做出选择,实际的工具执行将由配合的系统(通常是 Agent)完成并获取结果。
4、ReAct - 推理 + 行动
接下来,我们可以探讨第二个重要的大模型范式:ReAct(推理+行动)。
需要强调的是,大模型的许多范式都是对人类行为的模拟,因此我们可以通过生活中的案例来理解大模型。
案例:老板让写一份调研外部大模型框架的报告
工具:互联网搜索、PPT、思维导图
思考 (Reasoning): 需要调研外部大模型框架,明确调研目标是了解行业内的主要框架、特点和应用场景。需要先明确有哪些主流框架,然后针对性地收集资料。行动 (Acting):行动: 使用互联网搜索“主流大模型框架 2024/2025”、“开源大模型框架”。观察 (Observation):观察: 搜索结果显示:PyTorch、TensorFlow、JAX等是主流框架,还有一些新兴框架如 MindSpore、Paddle 等。
思考 (Reasoning): 我已经拿到了想要的资料,接下来使用思维导图搭建汇报思路行动 (Acting):行动: 使用思维导图工具,搭建报告的初步框架,包括:框架名称、开发语言、主要特点、优势、劣势、应用场景。观察 (Observation):观察: 初步框架包括:框架名称、开发语言、主要特点(动态图/静态图、分布式训练支持等)、优势、劣势、应用场景(NLP、CV等)。
思考 (Reasoning): 信息基本收集完毕,需要将所有信息整理成结构化的报告,并使用PPT进行总结和分析。行动 (Acting):行动: 使用PPT工具,将思维导图中的内容整理成PPT,并撰写文字说明。观察 (Observation):观察: 完成了PPT初稿,内容比较全面,但需要进行排版美化。
这个思考的流程就是 ReAct 模式。
5、Agent - 自主完成复杂任务
许多人可能已经注意到,大模型在数学计算方面并不擅长,如果直接用它们来做计算器,很容易出现错误。
这里,我们用 llama_index 的 Agent 框架来举个例子:
1. 我们定义了三个工具函数:乘法、加法和减法。
2. 然后,我们构建了一个 Agent 来执行这些操作模式。
import osfrom dotenv import load_dotenvfrom llama_index.core.agent import ReActAgentfrom llama_index.core.tools import FunctionToolfrom llama_index.llms.azure_openai import AzureOpenAIdef multiply(a: int, b: int) -> int: """Multiply two integers and returns the result integer""" return a * bdef add(a: int, b: int) -> int: """Add two integers and returns the result integer""" return a + bdef subtract(a: int, b: int) -> int: """subtract two integers and returns the result integer""" return a - b# 加载 .env 文件load_dotenv()# 初始化工具multiply_tool = FunctionTool.from_defaults(fn=multiply)add_tool = FunctionTool.from_defaults(fn=add)subtract_tool = FunctionTool.from_defaults(fn=subtract)llm = AzureOpenAI(model="gpt-4o", # 或者 gpt-4 engine='gpt-4o', deployment_name="gpt-4o", api_key=os.getenv('AZURE_KEY'), azure_endpoint="https://ilm-dev.openai.azure.com", api_version="2023-07-01-preview")# 初始化Agentagent = ReActAgent.from_tools([multiply_tool, add_tool, subtract_tool], llm=llm, verbose=True)response = agent.chat("What is 60-(20+(2*4))? Calculate step by step ")
> Running step cba1a160-74c3-4e34-bcc4-88e6a678eaf9. Step input: What is 60-(20+(2*4))? Calculate step by step Thought: The current language of the user is: English. I need to use a tool to help me answer the question.To solve the expression \(60 - (20 + (2 * 4))\) step by step, I will first calculate the multiplication inside the parentheses.Action: multiplyAction Input: {'a': 2, 'b': 4}Observation: 8> Running step 5455108e-ac53-4115-8712-68f2457a9b82. Step input: NoneThought: Now that I have the result of the multiplication, I can proceed to the next step, which is to add 20 and 8.Action: addAction Input: {'a': 20, 'b': 8}Observation: 28> Running step 4d8fae00-83bd-4205-9993-f0e0119f408d. Step input: NoneThought: Now that I have the result of the addition, I can proceed to the final step, which is to subtract 28 from 60.Action: subtractAction Input: {'a': 60, 'b': 28}Observation: 32> Running step ce5d1075-ff11-47a2-b286-d7a715dc40ba. Step input: NoneThought: I can answer without using any more tools. I'll use the user's language to answer.Answer: The result of the expression \(60 - (20 + (2 * 4))\) is 32.
之前有朋友问到,在这种流程中,大语言模型(LLM)究竟扮演了什么角色?大模型最突出的能力是理解自然语言并进行推理,我们可以尝试将规则进一步复杂化,比如用“张三”来代表减法,“李四”代表加法,“王二”代表乘法。那么,问题“张三(李四(王二王24))”等于多少呢?如果要求一步步计算,尽管表现可能仍有不足,但大模型展现出了对自然语言的容错能力,能够像人类一样去思考,而不是遵循一成不变的逻辑。
Thought: The current language of the user is English. I need to use a tool to help me answer the question. The expression given is 60张三(20李四(2王二4)), which translates to 60 - (20 + (2 * 4)). I will calculate step by step.First, I need to calculate the multiplication part: 2王二4, which is 2 * 4.Action: multiplyAction Input: {'a': 2, 'b': 4}Observation: 8> Running step 48262cb8-5c3a-47b7-b13b-449787c27078. Step input: NoneThought: The result of 2王二4 is 8. Now, I need to calculate the addition part: 20李四8, which is 20 + 8.Action: addAction Input: {'a': 20, 'b': 8}Observation: 28> Running step 1cccd5c6-3d96-4014-a579-1c997765a1da. Step input: NoneThought: The result of 20李四8 is 28. Now, I need to calculate the subtraction part: 60张三28, which is 60 - 28.Action: subtractAction Input: {'a': 60, 'b': 28}Observation: 32> Running step 65d33d20-1009-4482-a6d2-7af20333640c. Step input: NoneThought: I can answer without using any more tools. I'll use the user's language to answer.Answer: The result of 60张三(20李四(2王二4)) is 32.
6、Fine-tuning 微调- 让大模型具备精确处理公司任务的能力
让我们通过一个具体的生产案例来说明这一点。当我们为 World First 提供客服服务时,遇到了很多特殊的业务知识,例如,用户在万里汇下载的银行对账单并不等于下载交易流水单。这里涉及到具体的业务背景:银行对账单是亚马逊要求的账户证明文件。这类业务背景知识对于大模型来说很难掌握,这时就需要引入微调(Fine-tuning),将这部分知识整合到大模型中。
目前,业界的主流做法正在逐渐减少对微调的依赖,因为这个过程既耗时又费力,而且不总是能带来预期的正面效果。更多的工程实践倾向于将提示词(Prompt)复杂化和动态化,在工程上做更多的容错处理工作。
7、Prompt 提示词工程- 说人话
调优提示词:大模型工程中的核心,提示词的优秀与否决定了你是否需要链路上做额外的兜底。
调优提示词有三种实践方式:直接使用提示词、提示词中引入 CoT(Chain-of-Thought)、提示词中引入动态 Few-Shot。
大语言模型(LLM)确实能够引发工作方式和思考模式的重大变革,它们让问题的解决方式变得依赖于你的创造力。然而,业务成效并不完全依赖于大模型。许多人误以为拥有了 LLM,就能轻松解决业务效果、开发效率和交付质量等问题,这种将所有问题都推给 LLM 的想法是一个很大的误区。
以客服场景为例,最初大家都认为客服是非常适合应用大型模型的场景,我最初也是这么认为的。但深入实践后发现事实并非如此,特别是在对专业度和准确率有明确要求的场景中。客服作为售后服务,用户带着问题和情绪而来,他们需要的是明确的解决方案,而不是机械式的安慰和模糊的答案。因此,业务能力和人性化是客服成功的关键因素。确定这些关键因素后,再去思考 LLM 能在这些方面带来哪些帮助,然后构建你的解决方案,这样的应用方式才是可靠的。
简而言之,大模型可以是一个强大的工具,但它们并不是万能的。在构建解决方案时,我们需要综合考虑业务需求、用户期望和模型的能力,以确保我们提供的服务既有效又人性化。
PS:
【全新推出】为了帮助大家更好的掌握 AI 大模型适合的应用落地场景、应用开发技能,推荐大家加入《3天大模型应用开发项目实战直播训练营》,通过3天直播,带你快速掌握 Agent、RAG、Fine-tuning 微调、MCP、Prompt 等技能,让大家快速掌握企业级 AI 大模型应用实战能力。此训练营今天上新,原价199元,为了回馈粉丝的支持,早鸟价19元,点击以下报名。
—2—
3天大模型应用开发项目实战直播课
3天的直播课,带你快速掌握 Agent、RAG、Fine-tuning 微调、MCP、Prompt 等 AI 大模型应用开发核心技术和企业级项目实践经验。
直播模块一:Agent 智能体开发实战篇
Agent 智能体技术原理深度解读
Agent 规划能力深度剖析与实践
Agent 行动能力深度剖析与实现
Agent 工具调用之 MCP 深度剖析
Agent 智能体 ReAct 机制深度解读
从0到1,手搓代码实现企业级智能客服
直播模块二:RAG 知识库 & Fine-tuning 微调篇
RAG 知识库核心技术解读
RAG 知识库知识切分剖析与实践
RAG 知识库两阶段检索剖析与实践
RAG 知识库项目全流程深度实践
LoRA 微调技术原理剖析
RAG 和 Fine-tuning 微调技术选型
直播模块三:综合案例实战:Agent + RAG + Fine-tuning 微调 + MCP + Prompt 案例实战篇
Agentic RAG 项目需求分析
Agentic RAG 架构设计--知识库管理
Agentic RAG 架构设计--在线联网问答
Agentic RAG 架构设计--效果评估
Agentic RAG 架构设计--模型弹性扩容
Agentic RAG 核心代码实现
基于 Agent、RAG、Fine-tuning 微调、MCP、Prompt,从需求分析、架构设计、架构技术选型、硬件资料规划、核心代码落地、服务治理等全流程实践,深度学习企业级 AI 大模型应用落地项目全流程重点难点问题解决。
3天时间,你能学会什么?
在真实项目实践中,你会获得4项硬核能力:
第一、全面掌握 DeepSeek 大模型、Agent、RAG、Fine-tuning 微调、MCP、Prompt 的原理、架构和实现方法,掌握核心技术精髓。
第二、熟练使用 AI 大模型应用开发平台:LangChain、LangGraph、LlamaIndex、AutoGen、Spring AI Alibaba、Swarm 等主流开发框架,为企业级技术实践打下坚实基础。
第三、通过企业级项目实战演练,能够独立完成基于 Agent、RAG、Fine-tuning 微调、MCP、Prompt 的 AI 大模型应用的适用场景、设计开发和维护,真正学会解决企业级实际问题的能力。
第四、为职业发展提供更多可能性,无论是晋升加薪还是转行跳槽,提升核心技术竞争力。
限时优惠:
【全新推出】,今天上线,原价199元,回馈粉丝们支持,早鸟价19元!赶快加入把~~
—3—
添加助教直播学习
购买后,一定记得添加助理,否则无法进行直播学习👇
参考来源:
https://mp.weixin.qq.com/s/xClHrMmh_uNkiH8U91K7HA
⬇戳”阅读原文“,立即报名!
END