全部课

课程

高二人工智能:生成式人工智能与智能体工程

用提示词、API、检索和工具做大语言模型应用,再检查它们是否安全。

按顺序学习各课。学完后,你能数词元,用嵌入相似度比较文本,并讲清采样和上下文窗口。你能写结构化提示词,并用测试用例比较提示词的不同版本。你能找出人工智能写的代码里的错误和风险,并写出它必须通过的测试。你能得到符合模式的结构化 JSON 输出,做一个有花费上限的聊天机器人,并做一个从文档里找答案、还给出处的应用。你能做一个工具有限、有停止规则的智能体,挡住提示词注入,做一套自动测试套件,并发布一个有依据的研究助手。

这些课怎么用

  • 从标着做这个的课开始。标题下面那一行你自己会了,再往下。
  • 先玩游戏。再做测验。10题里对8题就通过。练习纸在纸上。答案在最下面。
  • 每一课都接在前一课后面。每个应用都留一套测试,每次改完都跑一遍。
  • 编程课用 Python。只用老师批准的人工智能服务,别把 API 密钥写进代码,设一个花费上限,绝不要把个人数据发给模型。

每一课都有游戏、测验和练习纸。

0/36

大语言模型基础

  1. 1词元和词表数词元,并讲清它们为什么重要。
    • 用真正的分词器把文本分成词元。
    • 比较不同语言的词元数量。
    • 把词元和费用、上下文限制连起来。
  2. 2嵌入用嵌入相似度比较文本。
    • 从模型得到嵌入。
    • 计算余弦相似度。
    • 按意思给句子排序,不按共同的词。
  3. 3大语言模型怎样生成讲清生成时的采样、温度和上下文窗口。
    • 讲清下一个词元预测。
    • 改变温度,并比较输出。
    • 演示文本超出上下文窗口时会发生什么。
  4. 4预训练和调优分清预训练、微调和指令调优。
    • 说出每一步用什么数据。
    • 讲清来自人的反馈。
    • 说出模型为什么有知识截止日期。

提示词工程

  1. 5结构化提示词写出带角色、任务、规则和格式的结构化提示词。
    • 把说明和输入数据分开。
    • 写明输出格式。
    • 比较结构化提示词和没有结构的提示词。
  2. 6少样本示例用少样本示例改进输出。
    • 加上两个或三个示例。
    • 选能盖住边界情况的示例。
    • 在测试集上量出变化。
  3. 7约束用约束限制长度、语气和格式。
    • 定下长度和阅读难度的限制。
    • 告诉模型不知道时该怎么做。
    • 按每一条约束检查输出。
  4. 8提示词测试写测试用例,并比较提示词的不同版本。
    • 写二十个测试输入和期望结果。
    • 给两个提示词版本打分。
    • 留下赢的那一版。

人工智能辅助编程

  1. 9生成代码按清楚的规格生成能运行的代码。
    • 写规格:输入、输出和示例。
    • 用它生成代码。
    • 在示例上运行代码。
  2. 10审查人工智能代码审查人工智能写的代码,找出错误和风险。
    • 检查边界情况和错误处理。
    • 找出编造的函数和库。
    • 找出不安全的代码,比如源码里的密钥。
  3. 11测试先行写出人工智能代码必须通过的测试。
    • 用 pytest 写测试。
    • 让人工智能写代码来通过这些测试。
    • 每找到一个错误,就加一条测试。
  4. 12用人工智能调试用人工智能修好一个错误,并讲清这个修复。
    • 做一个能露出这个错误的小例子。
    • 向人工智能问原因,不只问怎么修。
    • 讲清为什么这个修复有效。

大语言模型 API

  1. 13第一次 API 调用发出一次 API 聊天请求,并读回复。
    • 从环境变量读取 API 密钥。
    • 用 SDK 发请求。
    • 读回复和词元用量。
  2. 14系统消息和用户消息使用系统消息和用户消息。
    • 把规则放进系统消息。
    • 把用户输入放进用户消息。
    • 保留对话的历史。
  3. 15结构化输出得到符合模式的结构化 JSON 输出。
    • 定义一个 JSON 模式。
    • 要求输出遵守这个模式。
    • 检查输出,失败了就再试一次。
  4. 16聊天机器人做一个有历史和花费上限的聊天机器人。
    • 保留对话历史。
    • 裁掉旧消息,好放进上下文。
    • 到达花费上限就停止。

检索增强生成

  1. 17为什么要检索讲清为什么检索并依据原文能减少编出来的答案。
    • 问模型一份它没见过的文档。
    • 加上这份文档,再问一次。
    • 画出先检索、再生成的流程。
  2. 18分块把文档分成块。
    • 按大小切,并留重叠。
    • 按标题切。
    • 每块都留下出处和页码。
  3. 19向量搜索用向量搜索找出离问题最近的块。
    • 给块做嵌入并存起来。
    • 取出和问题最匹配的块。
    • 量出正确的块被找到的频率。
  4. 20文档问答做一个从文档里找答案、还给出处的应用。
    • 把检索到的块放进提示词。
    • 每条说法都要有出处。
    • 检查出处指向真实的段落。

人工智能工具与智能体

  1. 21工具调用让模型做工具调用,去调用一个函数。
    • 用模式描述一个工具。
    • 运行模型要求的那个工具。
    • 把结果送回模型。
  2. 22规划做规划:把任务拆成模型能执行的步骤。
    • 先向模型要一份计划。
    • 一次执行计划里的一步。
    • 检查完这一步再往下。
  3. 23状态和记忆用状态和记忆记住智能体已经做了什么。
    • 存下每一步和它的结果。
    • 把很长的历史做成摘要。
    • 决定智能体该忘掉什么。
  4. 24受控智能体做一个工具有限、有停止规则的智能体。
    • 只允许安全的、只读的工具。
    • 限制步骤的数量。
    • 任何会改变东西的动作,先问人。

多模态生成式人工智能

  1. 25图像生成讲清扩散模型怎样生成图像。
    • 讲清加上噪声和去掉噪声。
    • 讲清文字怎样引导图像。
    • 讨论生成图像的同意和版权。
  2. 26视觉和语言用视觉和语言,就一张图像向模型提问。
    • 把图像和问题一起发出去。
    • 得到一份有结构的描述。
    • 找出模型说错的一个细节。
  3. 27语音把语音转成文字,把文字转成语音。
    • 转写一段短录音。
    • 测量词错误率。
    • 生成语音,并标明是人工智能做的。
  4. 28多模态原型做一个用两种输入的多模态原型。
    • 选两种输入,比如语音和图像。
    • 在一个应用里把它们接起来。
    • 找五个用户来测试。

可靠性与安全

  1. 29幻觉找出幻觉:来源支持不了的答案。
    • 拿来源核对每一条说法。
    • 再用一次模型调用,标出来源支持不了的说法。
    • 量出答案被完全支持的频率。
  2. 30提示词注入挡住应用里的提示词注入。
    • 写出藏在用户输入和文档里的攻击。
    • 把可信的说明和不可信的文本分开。
    • 限制攻击能碰到哪些工具。
  3. 31评估用评分标准和测试集给输出打分。
    • 写一份评分标准。
    • 用手打分,也用模型打分。
    • 看它们多久意见一致。
  4. 32测试套件给大语言模型应用做一套自动测试套件。
    • 覆盖准确率、格式、安全和费用。
    • 用一条命令运行它。
    • 分数下降时,让构建失败。

人工智能产品工作室

  1. 33产品规格写清用户、功能和成功标准。
    • 选一套老师批准的研究文档。
    • 写出用户和他们的问题。
    • 定下准确率、出处和费用的目标。
  2. 34搭建流水线搭建检索、回答和出处的流水线。
    • 给文档建索引。
    • 回答时给出处。
    • 运行测试套件。
  3. 35说我不知道让应用在证据不够时说「我不知道」。
    • 发现检索没有找到有用的内容。
    • 回答「来源里没有说」,不要猜。
    • 用文档答不了的问题来测试。
  4. 36人工智能研究助手发布并展示一个有依据的研究助手。
    • 把应用部署给自己的班级。
    • 展示准确率、依据、安全和费用的分数。
    • 讲清它的限度。