面向开发者的LLM入门教程介绍

面向开发者的LLM入门教程介绍

技术背景

大语言模型(LLM)正在逐步改变人们的生活,对于开发者而言,如何基于LLM提供的API快速、便捷地开发一些具备更强能力、集成LLM的应用,来实现更新颖、更实用的功能,是一项急需学习的重要技能。吴恩达老师与OpenAI合作推出的大模型系列教程,从大模型时代开发者的基础技能出发,介绍了如何基于大模型API、LangChain架构快速开发结合大模型强大能力的应用。但这些教程目前仅支持英文版且国内访问受限,因此datawhalechina团队打造了中文版的面向开发者的大模型手册 - LLM Cookbook。

实现步骤

前期准备

学习该教程需要提前具备至少一个LLM API(最好是OpenAI,如果是其他API,可能需要参考其他教程对API调用代码进行修改),并且能够使用Python Jupyter Notebook。

课程学习

本教程共包括11门课程,分为必修类和选修类两个类别。

  • 必修类课程:是初学者入门LLM的基础,包括了入门LLM所有方向都需要掌握的基础技能和概念。建议按照以下顺序学习:
    1. 面向开发者的Prompt Engineering:基于吴恩达老师《ChatGPT Prompt Engineering for Developers》课程打造,介绍如何构造Prompt并基于OpenAI提供的API实现多种常用功能。
    2. 搭建基于ChatGPT的问答系统:基于《Building Systems with the ChatGPT API》课程,指导开发者基于ChatGPT API开发完整的智能问答系统。
    3. 使用LangChain开发应用程序:基于《LangChain for LLM Application Development》课程,深入介绍LangChain,帮助学习者使用其开发具备强大能力的应用程序。
    4. 使用LangChain访问个人数据:基于《LangChain Chat with Your Data》课程,拓展LangChain的个人数据访问能力,开发个性化大模型应用。
  • 选修类课程:是在必修类课程上的拓展延伸,包括RAG开发、模型微调、模型评估等多个方面,适合在掌握必修类课程后选择感兴趣的方向和课程学习:
    1. 使用Gradio搭建生成式AI应用:基于《Building Generative AI Applications with Gradio》课程,指导开发者使用Gradio为生成式AI构建用户界面。
    2. 评估改进生成式AI:基于《Evaluating and Debugging Generative AI》课程,结合wandb,提供跟踪和调试生成式AI模型的方法和工具。
    3. 微调大语言模型:基于《Finetuning Large Language Model》课程,结合lamini框架,讲述在本地基于个人数据微调开源大语言模型的方法。
    4. 大模型与语义检索:基于《Large Language Models with Semantic Search》课程,针对检索增强生成,介绍多种高级检索技巧。
    5. 基于Chroma的高级检索:基于《Advanced Retrieval for AI with Chroma》课程,介绍基于Chroma的高级检索技术。
    6. 搭建和评估高级RAG应用:基于《Building and Evaluating Advanced RAG Applications》课程,介绍构建和评估高质量RAG系统的关键技术和框架。
    7. LangChain的Functions、Tools和Agents:基于《Functions, Tools and Agents with LangChain》课程,介绍基于LangChain新语法构建Agent的方法。
    8. Prompt高级技巧:包括CoT、自我一致性等多种Prompt高级技巧的基础理论与代码实现。

核心代码

项目的content目录包含基于原课程复现的双语版代码,是可运行的Notebook,代码主要使用Python和Jupyter Notebook,以下是一个简单的使用OpenAI API进行文本生成的Python示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import openai

# 设置OpenAI API密钥
openai.api_key = "your_api_key"

# 定义Prompt
prompt = "请生成一段关于AI发展的简介"

# 调用OpenAI API进行文本生成
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=100
)

# 输出生成的文本
print(response.choices[0].text.strip())

最佳实践

  • 在学习必修类课程时,按照教程列出的顺序进行系统学习,掌握入门LLM的基础技能和概念。
  • 对于选修类课程,根据自己的兴趣和实际需求选择学习方向,深入探索特定领域的知识。
  • 在学习过程中,结合项目提供的可运行代码进行实践,加深对知识的理解和掌握。
  • 参考项目提供的其他资料,如双语字幕视频、视频讲解等,辅助学习。

常见问题

  • API调用问题:如果使用的不是OpenAI API,可能需要参考其他教程对API调用代码进行修改。
  • 课程复现问题:如果有非常喜欢但项目还未复现的吴恩达老师大模型课程,可以参考已有课程的格式和写法进行复现并提交PR,审核通过后会进行分级合并。
  • 访问问题:原英文教程国内访问受限,本项目提供了中文版且国内可流畅访问的教程。

面向开发者的LLM入门教程介绍
https://119291.xyz/posts/2025-04-23.introduction-to-llm-getting-started-tutorial-for-developers/
作者
ww
发布于
2025年4月23日
许可协议