图片

文章摘要

本教程由吴恩达与OpenAI合作推出,系统讲解如何基于大语言模型API快速开发应用。内容涵盖Prompt工程原则、文本处理技巧、ChatGPT问答系统搭建、LangChain框架应用及私有数据整合等核心技能,适合具备Python基础的开发者入门LLM应用开发。

原文pdf:https://t.zsxq.com/AbKKx

一、为什么开发者需要学习LLM?

随着GPT-4等大规模预训练语言模型的出现,人工智能应用开发正在经历范式转变。这些拥有数十亿到千亿参数的模型,通过学习海量文本数据,获得了强大的语言理解和生成能力。OpenAI等公司推出的API服务,使得访问这些模型变得前所未有的便捷。

对于开发者而言,如何基于LLM提供的API快速开发具备更强能力的应用,实现更新颖、更实用的功能,已成为一项急需掌握的重要技能。LLM正在逐步改变人们的生活,掌握这项技术意味着站在技术革新的前沿。

🎯 核心价值:

  • 快速开发智能应用,无需从头训练模型

  • 降低AI应用开发门槛,提高开发效率

  • 实现文本总结、推断、转换等多种实用功能

  • 构建完整的智能问答系统和对话机器人


二、课程体系与学习路径

本教程汇聚了斯坦福大学吴恩达老师与OpenAI合作打造的LLM系列经典课程,从模型原理到应用落地,全方位介绍大模型开发技能。

2.1 教程结构

第一部分:面向开发者的提示工程

Prompt,即提示,是与大模型交互的输入代称。随着ChatGPT等LLM的出现,自然语言处理范式正在由"预训练-微调"向"提示工程"演变。一个合理的Prompt设计极大地决定了LLM能力的上限与下限。

本部分源于《ChatGPT Prompt Engineering for Developers》教程,深入浅出地介绍如何构造Prompt并基于OpenAI API实现总结、推断、转换等常用功能。

内容包括:

  1. 简介与基础概念

  2. Prompt构建原则

  3. 迭代优化方法

  4. 文本总结技巧

  5. 文本推断应用

  6. 文本转换实践

  7. 文本扩展功能

  8. 聊天机器人开发

  9. 课程总结 

第二部分:搭建基于ChatGPT的问答系统

ChatGPT的强大指令理解能力和自然语言生成能力,使真正的智能问答成为可能。本部分基于《Building Systems with the ChatGPT API》课程,指导开发者如何开发完整的智能问答系统。

核心模块:

  1. 语言模型、对话格式与token机制

  2. 输入检查:分类与监督

  3. 思维链推理技术

  4. 提示链设计方法

  5. 输出检查机制

  6. 系统评估方法(端到端、简单问答、复杂问答)

第三部分:LangChain框架应用

虽然通过提示可以快速开发AI应用,但实际应用可能需要多轮提示和输出解析,涉及大量胶水代码。Harrison Chase创建的开源框架LangChain使开发过程更加流畅。

学习内容:

  • 模型、提示和解析器

  • 应用程序所需的存储机制

  • 模型链构建

  • 基于文档的问答系统

  • 系统评估与代理

  • 私有数据整合方法 


三、Prompt工程:核心原则与实践

3.1 设计Prompt的两大原则

原则一:编写清晰、具体的指令

与语言模型交互时,需要以清晰、具体的方式表达需求。想象您面前坐着一位对人类语言和常识一无所知的外星朋友,您需要把想表达的意图讲得非常明确,不留任何歧义。

重要的是,清晰的Prompt并不等于简短的Prompt。在许多情况下,更长、更复杂的Prompt反而能让语言模型更容易抓住关键点,给出符合预期的回复。复杂的Prompt提供了更丰富的上下文和细节,让模型可以更准确地把握所需的操作和响应方式。

原则二:给予模型充足思考时间

让语言模型有充足时间推理极为关键。就像人类解题一样,匆忙得出的结论多有失误。因此Prompt应加入逐步推理的要求,给模型留出充分思考时间,这样生成的结果才更准确可靠。

3.2 技巧一:使用分隔符清晰表示输入

在编写Prompt时,可以使用各种标点符号作为"分隔符",将不同的文本部分区分开来。分隔符就像是Prompt中的墙,将不同的指令、上下文、输入隔开,避免意外的混淆。

可用分隔符示例:

  • 三个反引号:```

  • 双引号:"""

  • 尖括号:< >

  • 标签:<tag> </tag>

  • 冒号等其他符号

实践示例:


python

text = """
您应该提供尽可能清晰、具体的指示,以表达您希望模型执行的任务。
这将引导模型朝向所需的输出,并降低收到无关或不正确响应的可能性。
不要将写清晰的提示词与写简短的提示词混淆。
在许多情况下,更长的提示词可以为模型提供更多的清晰度和上下文信息,从而导致更详细和相关的输出。
"""

prompt = f"""
把用三个反引号括起来的文本总结成一句话。
```{text}```
"""

使用分隔符尤其重要的是可以防止提示词注入(Prompt Injection)。如果用户输入的文本包含与预设Prompt相冲突的内容,不加分隔的话,这些输入就可能"注入"并操纵语言模型,导致产生无关的输出。

3.3 技巧二:寻求结构化输出

要求模型提供结构化输出可以极大提高结果的可用性。例如,可以要求模型以JSON、HTML或其他结构化格式返回结果,这样便于程序化处理。

3.4 防止模型幻觉

语言模型生成虚假信息的"幻觉"问题,是使用与开发语言模型时需要高度关注的风险。由于幻觉信息往往令人无法辨别真伪,开发者必须警惕并尽量避免它的产生。

缓解策略:

  • 先让语言模型直接引用文本中的原句,然后再进行解答

  • 追踪信息来源,降低虚假内容的风险

  • 通过Prompt设计减少幻觉发生的可能

📊 [此处应插入:Prompt工程技巧对比图表]


四、迭代优化:从初版到完美

在开发大语言模型应用时,很难通过第一次尝试就得到完美适用的Prompt。关键是要有一个良好的迭代优化过程,以不断改进Prompt。

4.1 迭代优化流程

Prompt开发采用循环迭代的方式,逐步逼近最优解:

  1. 产生想法

     → 编写初版Prompt

  2. 代码实现

     → 确保清晰明确,给予充足思考时间

  3. 获取结果

     → 运行并检查输出

  4. 分析错误

     → 找出Prompt不清晰或思考时间不足的原因

  5. 改进方案

     → 调整Prompt并再次运行

  6. 循环迭代

     → 重复以上步骤直至满意

🔄 [此处应插入:图1.3 Prompt迭代优化流程图]

4.2 实战案例:产品说明书生成营销文案

假设您有一份椅子的产品说明书,描述它属于中世纪灵感系列,产自意大利,包含材料、构造、尺寸、可选配件等参数。您想要使用这份说明书帮助营销团队为电商平台撰写营销描述稿。

初始Prompt示例:


code

您的任务是帮助营销团队基于技术说明书创建产品的零售网站描述。
请根据提供的技术规格信息编写产品描述。

通过多轮迭代,不断优化:

  • 控制输出长度(如限制在50字以内)

  • 聚焦特定受众(如技术人员、家具零售商)

  • 调整输出格式(如HTML、表格)

  • 提取关键信息(如产品ID、尺寸)


五、构建完整的问答系统

ChatGPT的出现使真正的智能问答成为可能。要搭建基于ChatGPT的完整问答系统,除了构建Prompt Engineering外,还需要完成多个额外步骤。

5.1 系统架构设计

核心组件:

  1. 输入处理模块

    • 用户输入分类

    • 内容审核与监督

    • 输入验证

  2. 推理引擎

    • 思维链推理(Chain of Thought)

    • 提示链设计(Chaining Prompts)

    • 上下文管理

  3. 输出控制模块

    • 结果检查

    • 质量评估

    • 格式化输出

  4. 评估系统

    • 端到端评估

    • 简单问答评估

    • 复杂问答评估

5.2 输入检查:分类与监督

为什么需要输入检查?

通过分类与监督的方式检查输入,可以:

  • 防止恶意输入

  • 过滤不适当内容

  • 提升系统处理能力

  • 保证系统反馈稳定

5.3 思维链推理技术

思维链推理是让模型逐步展示其推理过程的技术,类似于人类解决复杂问题时的思考方式。通过要求模型展示中间步骤,可以:

  • 提高推理准确性

  • 增强结果可解释性

  • 便于调试和优化

5.4 提示链设计

提示链是将复杂任务分解为多个简单步骤的技术。每个步骤使用单独的Prompt,前一步的输出作为后一步的输入。这种方法可以:

  • 降低单个Prompt的复杂度

  • 提高系统稳定性

  • 便于模块化管理

图片


六、LangChain:简化开发流程

6.1 为什么需要LangChain?

虽然通过对LLM给出提示可以快速开发AI应用程序,但一个应用程序可能需要进行多轮提示以及解析输出,过程中有很多胶水代码需要编写。基于此需求,Harrison Chase创建了开源框架LangChain,使开发过程变得更加丝滑。

6.2 LangChain核心功能

主要技巧包括:

  • 模型、提示和解析器的整合

  • 应用程序所需的存储机制

  • 搭建模型链

  • 基于文档的问答系统

  • 评估与代理机制

6.3 私有数据整合

当前主流的大规模预训练语言模型(如ChatGPT)主要依赖通用训练数据集,未能有效利用用户自身的数据。这成为模型回答问题的重要局限。具体来说:

  • 无法使用用户私有数据(个人信息、公司内部数据等)

  • 无法获得用户最新的实时数据

  • 对需要结合用户情况的问题无法给出满意答案

LangChain解决方案:

  1. 加载并切割本地文档

  2. 向量数据库与词向量处理

  3. 检索回答机制

  4. 基于私有数据的问答与聊天

图片


七、课程特色与学习建议

7.1 课程亮点

  1. 官方权威:由吴恩达老师与OpenAI联合推出,在可预见的未来会成为LLM的重要入门教程 

  2. 中文优化:提供中文版本和中文Prompt示例,支持学习者研究如何提升ChatGPT在中文语境下的理解与生成能力 

  3. 实战导向:通过代码实践,实现基于ChatGPT开发问答系统的全流程,介绍基于大模型开发的新范式 

  4. 完整体系:从Prompt工程到系统搭建,从基础技巧到高级应用,涵盖LLM应用开发的方方面面 

7.2 适用人群

本教程适用于所有具备基础Python能力,想要入门LLM的开发者。即便您没有丰富编程经验,通过本书的学习,也可以顺利入门大模型,开发出有实用价值的AI产品。

7.3 学习建议

  1. 循序渐进:按照课程结构,从Prompt Engineering开始,逐步深入到系统搭建

  2. 动手实践:充分演练所提供的代码,做到自我复现

  3. 个性化开发:结合个人兴趣、特长对代码进行增添、更改,实现定制化的问答系统

  4. 持续迭代:记住,很难有一步到位的完美方案,关键在于保持良好的迭代优化过程


八、总结与展望

大规模预训练语言模型正在改变软件开发的范式。对于开发者而言,掌握如何基于LLM API快速开发应用,已成为必备技能。本教程提供了从理论到实践的完整学习路径,帮助开发者:

✅ 掌握Prompt Engineering核心原则
✅ 学会迭代优化Prompt的方法
✅ 构建完整的智能问答系统
✅ 使用LangChain简化开发流程
✅ 整合私有数据实现个性化应用

随着技术的不断进步,OpenAI等公司正在积极研究解决语言模型的幻觉问题等挑战。未来,本课程也将加入更多Prompt高级技巧,丰富内容,帮助开发者掌握更多、更巧妙的Prompt技能。

让我们共同推进这一具有革命性的新兴技术领域!祝您的大模型之旅愉快而顺利!

欢迎加入「知识图谱增强大模型产学研」知识星球,获取最新产学研相关"知识图谱+大模型"相关论文、政府企业落地案例、避坑指南、电子书、文章等,行业重点是医疗护理、医药大健康、工业能源制造领域,也会跟踪AI4S科学研究相关内容,以及Palantir、OpenAI、微软、Writer、Glean、OpenEvidence等相关公司进展。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐