news 2026/9/8 18:08:43

Generative AI for Beginners 入门第 1 课:生成式 AI 与大型语言模型(LLM)工作原理完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Generative AI for Beginners 入门第 1 课:生成式 AI 与大型语言模型(LLM)工作原理完全指南

Generative AI for Beginners 入门第 1 课:生成式 AI 与大型语言模型(LLM)工作原理完全指南

【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners

本课是整个《Generative AI for Beginners》21 课课程体系的开篇(对应 01-introduction-to-genai 原始英文课件的希腊语译本 translations/el/01-introduction-to-genai/README.md),系统讲解生成式 AI(Generative AI)是什么、它与机器学习/深度学习的渊源,以及大型语言模型(LLM)"分词—预测—采样"的底层工作机理。读完本文,你将掌握 LLM 的 prompt / completion 基本用法与 temperature 等关键参数,并能结合仓库中的 Python 示例,立刻开始编写第一个基于大模型的文本生成应用。

本课学习目标

本课是"Learn"型课程,聚焦概念理解,覆盖四个核心话题:

  • 引入贯穿全课程的商业场景——一家虚构教育创业公司的理念与使命;
  • 生成式 AI 的历史脉络,以及我们如何走到今天的技术格局;
  • 大型语言模型的内部工作机制;
  • 大型语言模型的主要能力与贴近实际的使用场景(重点面向教育)。

完成本课后,你将理解:生成式 AI 是什么、大型语言模型如何工作,以及如何针对不同用例(尤其是教育场景)使用 LLM

场景设定:我们的教育创业公司

课程以一个虚构创业公司(文中称为我们的创业公司)为主线。它身处教育领域,使命宣言为:

在全世界范围内改善学习可及性,保障人人平等获得教育机会,并根据每位学习者的需求提供个性化学习体验。

团队意识到,不借助当代最强大的工具之一——大型语言模型(LLMs)——就无法实现这一目标。生成式 AI 有望重塑今天的教与学:学生可以随时拥有 24 小时在线的"虚拟老师",获得海量信息与示例;教师则能利用创新工具评估学生并给出反馈。

仓库根目录 README.md 对整套课程做了定位说明:共 21 课,分为解释概念的 "Learn" 型课程与附带 Python/TypeScript 代码示例的 "Build" 型课程。本课即属于概念奠基性质的 Learn 型课程,为后续 04-prompt-engineering-fundamentals(提示工程)、06-text-generation-apps(文本生成应用)等实践课程铺垫理论基础。

我们是如何走到生成式 AI 这一步的?

尽管生成式 AI 模型近期引发了巨大轰动,但这项技术已发展数十年,最早的研究努力可追溯至上世纪 60 年代。今天,我们已拥有具备类人认知能力(如对话)的 AI,例如 ChatGPT 及基于 GPT 模型构建对话式搜索体验的 Microsoft Copilot。

回顾演进路径,大致可划分为四个阶段:

早期原型:基于知识库的打字机式聊天机器人

最早的 AI 原型是打字机式聊天机器人:由专家群体整理出知识库并存入计算机,系统根据输入文本中出现的关键词触发知识库中的对应答案。这种规则驱动的方式很快就暴露出致命弱点——不可扩展

统计方法:机器学习(20 世纪 90 年代)

转折点出现在 90 年代,研究者开始把统计方法应用于文本分析,由此发展出一类新算法——机器学习(Machine Learning)。机器学习算法能够从数据中学习模式而无需被显式编程。具体到语言理解,一个统计模型在"文本-标签"配对数据上训练,从而能把未知输入文本归类到代表消息意图的预定义标签。这条路线让机器得以"模拟"对人类语言的理解。

神经网络与当代虚拟助手

近年来,硬件能力的飞跃使机器可处理更大规模数据与更复杂的计算,推动高级机器学习算法——神经网络 / 深度学习算法的发展。其中,循环神经网络(RNN)显著提升了自然语言处理能力:它能结合词在句子中的上下文,以更有意义的方式表示文本语义。

正是这类技术支撑了本世纪初诞生的虚拟助手——它们擅长解读人类语言、识别需求并执行动作(如按预设脚本应答或调用第三方服务)来满足需求。

当下:生成式 AI

从技术谱系看,生成式 AI 可视为深度学习的子集:

经过数十年研究,一种名为Transformer的新模型架构突破了 RNN 的局限,能够处理长得多的输入文本序列。Transformer 建立在**注意力机制(attention)**之上:模型可以对接收的输入赋予不同权重,"更多地关注"信息最集中的部分,而无需拘泥于它们在文本序列中的先后顺序。

当今多数生成式 AI 模型——因其输入输出均为文本而被称为大型语言模型(LLM)——正是基于这一架构。它们在海量未标注数据(书籍、文章、网站等多种来源)上训练,其迷人之处在于:既能被适配到极其多样的任务上,又能生成语法正确、带有"创造力"意味的文本。换言之,Transformer 架构不仅大幅增强了机器"理解"输入文本的能力,更赋予了机器用人类语言生成原创回答的能力。

大型语言模型是如何工作的?

下一课将探讨不同类型的生成式 AI 模型(参见 02-exploring-and-comparing-different-llms),这里先以 OpenAI 的 GPT(Generative Pre-trained Transformer)系列为焦点,拆解 LLM 工作的三个关键环节。

第一步:Tokenizer——把文本变成数字

LLM 接收文本、输出文本,但它本质是统计模型,处理数字远胜于处理字符序列。因此,任何输入在进入模型核心之前,都要先经过一个tokenizer。一个token是文本的一小段(由可变数量的字符组成),tokenizer 的核心任务就是把输入拆成一个 token 数组,再把每个 token 映射为整数编码——即token index

仓库中 04-prompt-engineering-fundamentals/python/aoai-assignment.ipynb 的练习一就示范了如何用 OpenAI 开源 tokenizer(tiktoken)亲手观察这一过程:用tiktoken.encoding_for_model("gpt-4o")获取编码器后,调用encoding.encode(text)得到整数形式的 token 序列,再通过decode_single_token_bytes还原文本片段——可以直观验证"一个 token ≠ 一个词",也便于估算输入将消耗的 token 数。

第二步:预测输出 token——滑动窗口式的自回归

给定 n 个 token 作为输入(不同模型的最大 n 各不相同),模型会预测一个输出 token;该 token 会被并入下一轮迭代的输入,形成"窗口不断扩展"的模式,从而让用户获得一句或多句连贯的答复。这也解释了为何使用 ChatGPT 时偶尔会看到它在句子中间"停顿"——它其实是逐 token 续写、直到满足停止条件。

第三步:选择过程——概率分布与 temperature

输出 token 依据"它出现在当前文本序列之后"的概率被选中:模型基于训练习得的知识,对所有可能的"下一个 token"预测一个概率分布。但并不总是选取概率最高的 token——模型会向选择过程注入一定随机性,使其以**非确定性(non-deterministic)**方式工作:即便输入完全相同,输出也不会逐字一致。这种随机性是为了模拟"创造性思维"的过程,并可通过一个名为temperature的模型参数进行调节。

这一点不仅是理论概念,也直接体现在本仓库各示例的 API 调用中。例如 06-text-generation-apps/python/oai-app-recipe.py 中:

  • 生成食谱正文时使用temperature=0.1,让输出在稳定与适度变化间平衡;
  • 生成购物清单时使用temperature=0,尽可能求得确定、忠实的结果。
response = client.responses.create( model=deployment, input=prompt, max_output_tokens=600, temperature=0.1, store=False )

06-text-generation-apps/python/aoai-assignment.ipynb 也解释了调参的通用规律:temperature 越高输出越随机、越低越可预测;并给出了示例:要使用 0.5,只需传入temperature=0.5。实践时应当自问:这个应用到底想要输出多样性,还是可复现的稳定性?需要变化用高值、需要稳定用低值。

补充:上下文窗口与 max_output_tokens

除了 temperature,另一个直接影响"按 token 逐个生成"体验的参数是可生成 token 数上限。上述 notebook 通过max_output_tokens控制每次回答的最大长度(如max_output_tokens=600或对话续写时的max_output_tokens=1200)。结合前面的 tokenizer 知识就很容易理解:模型一次可处理的输入规模(上下文窗口)与单次生成的输出长度都受 token 预算约束,所以设计 prompt 时也要把长文本的开销考虑进去。

我们的创业公司能用 LLM 做什么?

我们已知 LLM 的核心能力是:从一段用自然语言书写的文本输入出发、从零生成一段文本。那这里的输入与输出具体指什么?

  • 输入称为prompt(提示);
  • 输出称为completion(补全)——该术语正对应了模型"生成下一个 token 以完成当前输入"的机制。

关于"什么是 prompt、如何设计 prompt 以最大化榨取模型能力"将在后续课程深入展开(见 04-prompt-engineering-fundamentals)。这里先说明:一个 prompt 可以包含多种内容形态。

指令(Instruction):指定期望的输出类型

指令可以(有时也会)内嵌示例或额外数据。典型用法包括:

  1. 摘要与信息抽取:对文章、书籍、产品评论等做摘要,并从非结构化数据中提炼洞察。
  2. 创意构思与写作:构思并起草一篇文章、一篇论文、一份作业等。

这两种形态恰好对应教育场景的高频需求:教师快速总结材料、生成讲义;学生获得写作起点与灵感。

问题(Question):以对话形式向智能体提问

把 prompt 组织成与智能体对话的一问一答,是交互类应用(如答疑机器人)的基础。后续课程 07-building-chat-applications 就会利用历史消息维护多轮对话上下文。

待补全文本(Text to complete)

给出一段未写完的文本,模型按语感续写——这隐式地构成一次"帮我写作"的请求,适合草稿续写、句子润色等辅助写作场景。

代码(Code)相关请求

可以是"解释并注释这段代码",也可以是"请写一段完成某任务的代码"。教育创业公司可用它辅助编程教学与代码审阅。

课程同时强调:上述示例都很简单,远非 LLM 能力的穷尽演示,目的仅是展示生成式 AI 的潜力——特别是(但不限于)教育场景。

不能忽视的一面:LLM 的固有局限

生成式 AI 的输出并非完美。有时模型的"创造力"会反噬——它产出的可能是让用户觉得歪曲现实甚至冒犯的词语组合。要清醒地认识到:

  • 生成式 AI并不"智能"——至少不符合包含批判性推理、创造性思维或情绪智力的广义智能定义;
  • 它是非确定性的;
  • 并不可完全信赖——错误的引用、内容与陈述可能和正确信息混杂在一起,并以极具说服力、信誓旦旦的口吻呈现。

这类编造现象即业界所说的"幻觉"。整套课程会在后续专门处理这些限制与缓解手段:03-using-generative-ai-responsibly 讨论负责任使用(偏见、伤害与缓解框架),04-prompt-engineering-fundamentals 则讲解如何通过提示词设计降低虚构等风险。这也解释了上一节为何要引入 temperature:参数只是控制随机程度,并不能根除幻觉。

动手实践:最小可运行的文本补全示例

仓库 06-text-generation-apps/python/oai-app.py 给出了一个极其精简的文本补全应用,正好演示"prompt → completion"最小闭环:

from openai import OpenAI import os from dotenv import load_dotenv # 从 .env 文件加载环境变量 load_dotenv() # 配置 OpenAI 客户端(也可用于 Azure OpenAI v1 端点) client = OpenAI() deployment = "gpt-4o-mini" # 添加你的补全代码 prompt = "Complete the following: Once upon a time there was a" # 使用 Responses API 发起请求 response = client.responses.create(model=deployment, input=prompt, store=False) # 打印响应 print(response.output_text)

运行前需安装依赖并配置密钥。仓库为 Python 示例提供 requirements.txt:核心依赖为openaipython-dotenv;把 API Key 写入.env文件后由load_dotenv()加载。密钥配置方面,shared/python/env_utils.py 提供了配套校验工具:OPENAI_API_KEYAZURE_OPENAI_ENDPOINTAZURE_OPENAI_API_KEY等环境变量缺失时会给出明确报错;shared/python/api_utils.py 的create_openai_client/create_azure_openai_client则会按环境变量自动组装客户端(Azure 端点为<endpoint>/openai/v1/)。环境搭建的完整指引参见 00-course-setup。

课后练习:设计你的"梦想 AI 创业公司"

本课布置的作业是:进一步了解生成式 AI,找出一个"今天还没有使用生成式 AI、但你认为应该引入"的领域,并思考——相比"老办法",影响有何不同?是能做以前做不到的事,还是只是更快?请写一篇约 300 词的摘要,描述你理想的 AI 创业公司,并包含 "Problem"(问题)、"How I would use AI"(我将如何使用 AI)、"Impact"(影响)等小标题,可选项是加入商业计划。

知识自测

关于大型语言模型,下列说法正确的是?

  1. 每次都会得到完全相同的回答。
  2. 它能完美地做任何事:擅长做加法、能产出可运行代码等等。
  3. 即使使用相同 prompt,回答也可能不同;它很擅长先给你一版草稿(文本或代码),但你需要在此基础上改进。

答案:A 3(选项 3)。LLM 是非确定性的,回答会有变化,不过你可以通过 temperature 参数控制变化的程度;同时也不应期待它"一次做对"——它的价值在于替你完成繁重的基础工作,通常是给你一版不错的初稿,再交由你逐步打磨。

下一步:进入第 2 课

完成本课后,即可进入 第 2 课:探索并比较不同类型的 LLM,学习如何根据任务挑选模型。后续 03-using-generative-ai-responsibly 与 04-prompt-engineering-fundamentals 将分别补齐"负责任使用"与"提示工程"两块关键拼图,随后 05-advanced-prompts、06-text-generation-apps 将带你进入真实应用的编码实战。

【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 18:08:16

裸机工程快速接入FreeRTOS:任务拆分与移植避坑指南

前阵子有个朋友把跑了一年多的裸机工程发给我&#xff0c;问能不能不推倒重写就把RTOS加进去。他的状态我记得很清楚&#xff1a;main 函数的 while(1) 里塞了五六个模块&#xff0c;按键扫描、传感器读取、OLED刷新、蜂鸣器控制全挤在一起&#xff0c;某个外设偶尔卡一下&…

作者头像 李华
网站建设 2026/9/8 18:08:12

opencode 实战指南:终端 AI 编码代理的安装配置与核心玩法

如果你最近在逛技术社区&#xff0c;大概率刷到过 opencode 这个名字。它是一款开源的终端 AI 编码代理&#xff0c;简单说就是让你在命令行里像和同事聊天一样&#xff0c;把“写代码、改 bug、跑测试”这些活交给 AI 去执行。和 Claude Code 这类绑定单一模型的工具不同&…

作者头像 李华
网站建设 2026/9/8 18:07:46

微调模型上线有多难?从自建GPU到火山方舟托管的成本账

先说一个我最近听得特别多的错觉&#xff1a;微调模型在实验环境里跑通了几条测试用例&#xff0c;团队就觉得距离上线只差一个“部署”。结果真到要服务线上业务的时候才发现&#xff0c;前面省下的功夫都会在部署环节加倍补回来——推理服务起不来、并发一高就超时、模型版本…

作者头像 李华
网站建设 2026/9/8 18:06:58

Windows下CUDA与cuDNN配置指南:从版本匹配到环境变量避坑

很多刚接触深度学习或者高性能计算的朋友&#xff0c;第一次在Windows下配置CUDA和cuDNN时&#xff0c;最容易遇到的情况是&#xff1a;官网下载页一堆版本号&#xff0c;装完之后跑PyTorch却报“CUDA driver version is insufficient”&#xff0c;或者明明安装了CUDA 12.x&am…

作者头像 李华
网站建设 2026/9/8 18:06:28

opencode是什么?终端里的AI编程助手与代码执行Agent

1. opencode是什么&#xff1a;从命令行走进项目现场的AI开发搭档先说结论&#xff1a;opencode是一个运行在终端里的AI编程助手&#xff0c;准确说是一个开源、支持本地命令行操作的AI Agent工具。它跟常见的聊天式AI插件不一样&#xff0c;opencode的任务不是陪你聊天&#x…

作者头像 李华