# 生成式人工智能的完整过时指南(MEAP)(一)(3)

简介: # 生成式人工智能的完整过时指南(MEAP)(一)

# 生成式人工智能的完整过时指南(MEAP)(一)(2)https://developer.aliyun.com/article/1516909

3.2 创建新的上下文感知内容

这一节会很有趣。除非你对于娱乐没有兴趣,当然了。不要让我挡住你的路。请随意跳过。

但我们其他人将深入研究根据需求生成虚构世界的奇异世界。这并不意味着我会建议你试图通过销售由 AI 生成的虚构作品来赚钱。在 Amazon 上,数百万个标题争相吸引读者的注意力,让真正的人类源小说难以被注意到已经够困难了。相反,虚构角度只是用来激发你的创造力的另一种方式。事实证明,我甚至不读小说。

那么这样的创造力会带领您去哪里呢?嗯,考虑一下您可以节省多少时间和精力来配置一个 AI 模型以生成年度公司报告。该 AI 需要熟悉您公司的运营情况(即“具有上下文意识”)。因此,它需要:

  • 摄取您公司复杂的财务历史
  • 摄取其最近财政年度的详细信息
  • 了解您行业和当地监管机构的报告要求

处理了所有这些问题后,您距离自动化业务文件只有一次鼠标点击的距离。

但模拟这个过程可能有点复杂。所以我会用这个“同人小说”例子来说明这个过程。

我的计划是让 GPT 索引由单一作者撰写的大量现有小说集,其中包括一个基本固定的核心角色阵容。一旦索引存在,我将尝试确认 GPT 是否熟悉完整一套小说的所有事件,然后让它使用原始风格和角色编写新内容。希望新作品也能内部一致且没有“历史”上的矛盾。

无论如何,为了让我的计划启动,我首先问了 ChatGPT 这个问题:

提示工程

是否有一系列著名的英语小说,现在都处于公有领域,通过多本书追随同一组人物?

一如既往,ChatGPT 发挥了作用,提醒我查尔斯·狄更斯的《雾都孤儿》系列,艾格·尼德·伯勒斯的《泰山》系列,露西·莫德·蒙哥马利的《绿山墙的安妮》系列,以及维克多·阿普尔顿的《汤姆·斯威夫特》系列。太棒了。我会选择福尔摩斯。

我将浏览到古登堡计划网站,那里有 70,000 本公有领域的电子书,只等着您来享用。大多数书籍都是根据至少符合美国版权法的法律到期的老经典。正如您从图像中可以看到的,书籍提供了各种各样的格式。

图 3.3 古登堡计划网站上莎士比亚系列页面上提供的多种格式


然后,我将从原始的福尔摩斯系列中下载大约 25 部小说和短篇故事的纯文本版本。我将这些文件保存到我的 Python 代码将运行的位置下面的data/目录中。

3.2.1 为 Python 设置你的环境

对于这个练习,我会假设您已经安装了 Python 编程语言以及 Python 包管理器pip。有关如何为您的操作系统设置 Python 本身的帮助,请参阅官方下载页面。而这个页面应该会为您提供有关pip的所有信息。

如果您还没有有效的 OpenAI API 密钥,您可以通过在 OpenAI API 参考页面上注册来获取一个。

从现在开始,您需要在 Python 环境中工作。一种使其发生的方法是从命令行键入python。您在这样的环境中输入的所有内容都将由 Python 解释器处理。您还可以创建一个纯文本文件,当您添加了所有所需的代码后,可以使用以下方式从命令行运行它:

python myfilename.py

我个人最喜欢的 Python 环境是 JupyterLab。Jupyter 将为您提供一个基于浏览器的环境,其中包含各种优化,用于管理严肃的数据工作负载。另一个特别受欢迎的用于 Python 工作的环境是 Google Colab。

3.2.2 创建您的提示(使用 Python)

但无论如何,这是您导入将实际运行我们代码的所有必要 Python 模块的方式:

from llama_index import SimpleDirectoryReader
from llama_index.node_parser import SimpleNodeParser
from llama_index import GPTVectorStoreIndex
import os

顺便说一句,这会让您花费一些 API 费用。当我自己运行时,它可能花费我大约$0.25。

如果您尚未在您的系统上安装了一个模块,运行以下内容将帮助您完成:

pip install llama_index

接下来,您将创建一个环境变量来保存您的 OpenAI API 密钥。确保您用您实际的密钥替换我的sk-xxxx

os.environ['OPENAI_API_KEY'] = "sk-xxxx"

这将加载data/目录中任何文档的内容,并将其读取到变量documents中。

documents = SimpleDirectoryReader('data').load_data()

接下来的三行使用parser.get_nodes_from_documents方法将我们的data/目录的实际内容转换为适合 GPT 的索引。根据您的数据量,此步骤可能需要一些时间。

parser = SimpleNodeParser()
nodes = parser.get_nodes_from_documents(documents)
index = GPTVectorStoreIndex(nodes)

最后,我们将传递我们的提示并针对索引运行它。我首先提出了这个关于书籍之间矛盾的问题有两个原因:

  1. 因为这是一个相当可靠的确认模型实际上已经阅读并"理解"内容的方法。
  2. 因为我实际上很好奇道尔本人是否有困难保持所有细节的连贯性
response = index.query("Taking into account the plot and character \
  details of all of the stories in these documents, are there \
  any contradictions between between events in any one story \
        and events in any other?")
print(response)

当我提交该提示时,这是我得到的回复:

提示工程

不,任何一个故事中的事件与其他任何一个故事中的事件之间都没有矛盾。这些文件中的所有故事都由相同的角色和情节点连接起来,每个故事中的事件都与其他故事中的事件一致,包括提供的新背景。死者手指和拇指之间找到的纸片与其他故事中的事件一致,因为它似乎是一个约会,上面提到的时间正是这个可怜家伙命运的时刻。

对于这个实验来说已经足够了,但是对于精度至关重要的项目来说肯定不够。毕竟,当我问常规的 ChatGPT 同样的问题时,我得到了不少于五个事实上的矛盾之处。其中,沃森的战伤同时出现在他的手臂(《血字的研究》)和腿(《四签名》)上,这是唯一真正符合我的标准的矛盾之一。底线:请对您计划依赖于其进行重要操作的任何 AI 输出进行独立确认。

这是我提出的一个提示,要求写一篇全新的福尔摩斯故事的开头段落:

response = index.query("Write the first two paragraphs of a new \
  story using the same characters, ambience, and writing \
  style as the documents in data/ The story should follow a \
  plot involving the theft of an entire passenger liner in the \
  Cunard line.")
print(response)

以下是回来的结果:

提示工程

我曾听说过一桩大胆的抢劫传闻,但我从未想过它是真的。一艘昆尼德航线的客轮被完整地盗走了,当局对此束手无策。我必须找出真相,所以我来到了码头,我知道那里会有我所寻找的答案。

当我等待时,我走下了阶梯,阶梯中间已被醉汉不断的脚步磨得凹凸不平。在门上方闪烁的油灯的光线下,我找到了门闩,进入了一个长长的、低矮的房间,厚重的棕色鸦片烟雾缭绕,像是一个移民船的船头舱一样。透过阴暗,我依稀能看到躺在奇怪、奇妙姿势中的人们的身影,耸肩、弯膝、抬头、下巴指向上方。黑影中闪烁着一点点红色的光圈,时明时暗,如金属烟斗中的燃烧毒品的碗中的火焰。

突然间,我听到了外面街上的骚动声。我匆匆忙忙地走了出去

听起来很黑暗。但实际上比你想象的更黑暗:当我稍微调查了一下,我发现 GPT 几乎完整地从其中一篇现有故事中窃取了那第二段:“扭曲的唇者”。

所以我再次询问,这次添加了但不使用任何直引的引语。新的结果更加原创,我猜,更或多或少可信。

提示

现在可能是谈论版权限制的好时机了。正如你所看到的,原始的福尔摩斯故事都是公有领域的,所以重复使用它们的内容、人物或情节都没有问题。基于受保护作品生成内容 - 就像是粉丝小说一样 - 将会更加复杂。在许多司法管辖区中,可能会对被归类为合理使用、变革性工作或非商业工作的内容做出许可。只要确保提前进行研究。

正如在第一章中提到的那样,你用来喂养AI 模型的任何内容都有可能被归档,甚至被组织提供者(如 OpenAI)使用。这可能对拥有受版权保护的创意或敏感商业数据的所有者构成问题。

但真正的问题是,AI 可以“理解”和索引庞大数据档案的内容,并将其用作构建新内容的资源…像年度财务报告一样。

生成专业文件

拥有对整个互联网的即时回忆级别的知识,即使只是 2022 年之前的版本,也具有一定无法匹敌的优势。现在,即使是非常不常见的技术或家庭问题的排除也很容易。没有太过于晦涩或抽象的细节,没有太复杂的过程,也没有太过晦涩的产品组装指南。摆脱了婚姻矛盾与组装宜家家具之间的相关性。

如果你的名字是 GPT,那就太好了,亲爱的读者。(为什么不呢?有什么能阻止我创建一个 GPT 代理,在互联网上购买所有可用的我的书,并快乐地一遍又一遍地阅读它们?)然而,我们其他人将不得不通过 AI 提示来满足我们的技术需求。

但要充分利用 AI 确实需要我们至少具备一些领域知识。合同法 - 一个需要大量领域知识的领域 - 是 GPT 可以发光的地方之一。毕竟,GPT-4 已经通过了统一法律考试,得分位于 90%以上。

律师在准备新合同时所做的很多工作都涉及操作模板化的文本块。他们通常有两个目标:

  1. 准确识别涉及的资产和主要人员
  2. 为了保护客户免受潜在的权利损失

对于成熟、经过良好培训的 LLM 来说,精确操作模板化的文本块并严格遵守清晰说明的一系列事实,同时预测可能出现的明确文档危险是一个完美的使用案例。为了证明这一点,我向 ChatGPT 提出了这个请求:

提示工程

为我起草一份合同,正式规定了 David Clinton(位于美国俄亥俄州小镇 Smallville 的 123 号 Any St.)与 Manning 出版社之间的关系,其中 David Clinton 将为 Manning 提供持续的咨询服务,以换取所有净收入的 75%份额。

响应非常出色(尽管我不知道为什么它将我对 Manning 的利润份额从 75%随意减少到 15%)。在这里没有理由重现合同,但您 - 还有任何感兴趣的 Manning 高管 - 可以自由查看它在我的网站上。我不是律师,但在我的职业生涯中,我签署了不少合同,而这份草案似乎真的涵盖了所有关键要素。

警告

但我再次必须强调,人工智能仍然只是一台愚蠢的电脑,它并不真正知道自己在做什么。永远不要自动依赖来自 LLM 的任何东西。正如 GPT 在交付合同时警告我的那样,在执行之前寻求专业意见是明智的。

这就是领域知识(对特定主题的专业理解和专业知识)的作用所在。无论你的 LLM 的结果有多么令人印象深刻,如果你自己对一个领域没有通识了解,误解、错误解释和错误应用生成的内容的风险就很高。你还能怎样确保你的输出不缺少重要的背景信息或者出现严重错误呢?

即使你是特定领域内的经验丰富的专家,也很难确定你的人工智能给出的数千字中是否有些许错误或令人困惑的语言。对于许多应用程序来说,“大部分准确”是不够的。

这就是我越来越频繁看到的专业人工智能项目可以发挥作用的地方。以 名为 Harvey.ai 的网站为例。该网站背后的人似乎正在利用他们的法律和技术专业知识为法律公司提供访问专用人工智能的服务。但是,他们所提供的远不止我刚才讨论的愚蠢合同。哈维显然正在利用其创建者的相当专业知识(即领域知识)来使他们的服务更准确、可预测和有用。

无论通用工具如 GPT 等摄取了多少法律相关信息,它们都无法与专用人工智能竞争。领域专家有机会为服务增加重要价值。

这不仅适用于法律领域。你擅长的任何事情都可能与人工智能进行有效合作,为客户提供面向客户的服务。以下是一些特别有用的内容类别,LLM 结合人类领域专业知识可以发挥作用的地方:

  • 对各种技术主题的见解、解释和教程,例如编程语言、人工智能、网络安全、区块链和新兴技术。
  • 科学内容包括解释文、研究摘要和关于物理、化学、生物学、天文学和环境科学等主题的详细文章。
  • 医疗保健内容如患者教育资料、疾病信息、医疗程序和研究进展,以及新兴医疗技术的见解。
  • 金融和经济内容可以包括实时市场分析、投资见解、经济预测、金融概念解释,以及个人理财、预算编制和退休规划的可定制指导。
  • 营销和广告内容可以包括生成营销策略、广告内容、社交媒体帖子、产品描述,以及消费者行为和趋势分析。
  • 教育材料可以包括教案、学术概念解释,以及数学、历史、文学和外语等各种学科的辅助教学。
  • AI 平台可以提供旅行指南、旅游目的地推荐、旅行计划建议以及当地文化和习俗的见解。
要点

使用大量现有数据来训练您的 LLM 生成具有意识到现有约束条件并能够采用特定写作“语音”和风格的内容。并且请注意,该训练应该融入特定领域的知识和约束。

3.4 生成编程代码

在寻求编程代码帮助时,领域知识也是有帮助的。如果您对您所需要的代码的意图有相当清晰的了解,向 GPT 寻求帮助将会更加有效。但是,熟悉常见的编码结构和设计,如循环、变量和条件语句,也很重要。

这意味着一个提示,比如:

提示工程

给我看如何建立一个网站。

…远不如:

提示工程

给我看如何构建一个响应式的全栈网页,其中包括 HTML、CSS、JavaScript、Node.js 和 SQLite。

您还不应该假设您的 AI 给出的代码实际上会运行。当某些东西无法运行时,请务必记下您看到的精确错误消息,并在寻求更多帮助时使用它们。

3.5 使用 Copilot 进行交互式编码

与 AI 进行的交互式编码会感觉非常像是双人编程。而这是件好事。事实上,他们选择的名称,即现在可能是最受欢迎的基于 GPT 的代码支持工具之一的 GitHub Copilot:这就是一切。

我不会过多深入讨论一般性话题,因为这在网上已经有很好的文档记录,更好的是,因为 Nathan B. Crocker 已经为他的 Manning 书籍:AI-Powered Developer 专注于此。但是,我会快速带您了解 Copilot 的使用过程。

首先要知道的是,在您的 30 天免费试用之后,Copilot 将收取月费。

使用 Copilot 有两种方式:GitHub 个人 Copilot 可供个人 GitHub 账户使用,而 GitHub 企业 Copilot 可供组织使用。“经过验证的学生、教师和受欢迎的开源项目维护者” 可能有资格免费使用。

一旦您在您的 GitHub 账户中启用了 Copilot,并设置了您的支付偏好,您将需要选择一个代码编辑器。此时,Copilot 兼容的编辑器包括 Visual Studio、Visual Studio Code、Neovim 和 JetBrains IDEs。无论您选择哪个 IDE,您都需要找到并安装 GitHub Copilot 扩展。

一旦你已经启用并安装了所有内容,并登录了你的 GitHub 账户,你就可以开始使用 Copilot 了。当你用你喜欢的编程语言编写代码时,Copilot 将根据它从训练数据中学到的上下文和模式提供实时的代码建议。你可以通过按 Tab 键接受建议,Copilot 将生成代码片段以加快你的开发过程。

Copilot 理解代码结构和描述性命名的使用。使用 Copilot 文档中的示例,你可以从仅包含一个类似下面的 JavaScript(.js)文件开始:

function calculateDaysBetweenDates(begin, end) {

Copilot 可以接收这些信息,并构建一个完整的可直接使用的函数。

3.6 摘要

  • 使用 GPT Playground 学习如何将 AI 模型、完成配置和环境控制应用到你的提示中。Playground 也是 API 导向提示和自动化的绝佳源泉。
  • 使用现有数据/内容训练你的 AI 模型,并加入特定领域的约束条件,以创建最适合的新内容。
  • 生成式人工智能工具已被广泛采用,用于辅助编写编程代码,但像 GitHub 的 CoPilot 这样的专用工具可能效果特别好,因为它们已经在整个 GitHub 网站上进行了训练。使用代码助手工具来构建你现有的编程思路和代码。

3.7 试试这个

为什么不像你在上面看到的用骆驼索引 - 如同《福尔摩斯探案集》中的故事 - 尽可能多地应用到的写作中,来训练 GPT 代表你说话?然后提示你的模型回答特定问题或场景,使用你的风格。

第四章:使用生成 AI 创作:媒体资源

本章涵盖内容

  • 生成数字图像和视频
  • 生成 AI 辅助视频编辑和文本转视频
  • 生成演示资源
  • 生成音频到文本和文本到音频

文本和编程代码是生成 AI 的自然目标。毕竟,除了二进制之外,这些是您的计算机具有最丰富经验的语言。因此,直觉上,预计能够生成我们在上一章中讨论的资源类型。

但图像、音频和视频就会有很不同的情况。这是因为视觉和音频数据:

  • 比文本本身更加复杂和高维
  • 缺乏符号表示,具有更加微妙的意义,这使得直接应用传统编程技术变得困难
  • 可能高度主观和模糊,这使得构建能够一致且准确地解释此类数据的自动化系统变得困难
  • 缺乏固有的上下文,这使得计算机系统更难以自信地推断意义
  • 需要大量的计算资源来处理

然而,用于生成媒体资源的工具一直是近期对 AI 兴趣爆发的主要推动力。因此,本章的其余部分将致力于探索 AI 驱动的数字媒体创作服务的实际应用。

4.1 生成图像

首先,一个大型语言模型(LLM)如何将文本提示转换为视觉工件?下图说明了构成使这一过程发生的训练过程的关键步骤。

图 4.1 媒体生成 LLM 的训练过程


以下是该过程的详细步骤:

  1. 收集大量的音频、图像和视频以供学习。这些例子来自互联网各个地方,涵盖了各种风格和主题。
  2. 使用例子来学习模式。对于音频,它学习了不同的声音以及它们之间的关系(比如一个旋律遵循特定的节奏)。对于图像,它学习了不同对象的外观以及它们如何一起出现。对于视频,它找出了不同的镜头是如何组合在一起讲述一个故事的。
  3. 应用数学魔法将音频、图像和视频转换为代表性数字。这些数字帮助系统理解内容中的模式和关系。这就像系统将艺术转换为它可以理解的语言。
  4. 训练模型涉及 LLM 搜索可以重建已见过的音频、图像和视频的最佳模式。
  5. 当 LLM 创建某物时,我们通过将其与真实例子进行比较来应用反馈和调整。模型调整其模式以使其更擅长创建更接近我们想要的内容。
  6. LLM 通过创建新的音频、图像和视频进行(大量)练习。随着每一轮练习,它在理解模式并制作自己的内容方面变得越来越好。

需要注意的是,由 AI 生成的图像和视频只是基于训练数据学到的模式的愚蠢计算机的最佳努力,可能并不总是反映现实世界的准确性 - 对于那些见过 AI 生成的每只手有 6-10 根手指或三只手臂的人来说,这一点应该是显而易见的。对于任何一个人来说,“两只”传统上是附在任何一个人身上的手的最大数量。而且,不,我不知道为什么 LLM 经常在这个显而易见的事情上弄错。

4.1.1 提供详细提示

无论你使用哪种图像生成服务,你构建提示的方式将在很大程度上决定最终输出的图像的质量。你需要描述性地定义你想要的图像风格。因此,类似这样的东西:

一些树木

…不如:

一片阳光明媚的树木区,风格类似约翰·康斯特布尔

那个例子包含了一个主题(“树木区”),形容词(“阳光明媚”)和一个艺术风格(“约翰·康斯特布尔”)。你应该尽量在你的提示中包含这三个元素中的至少一个。可以随意添加颜色和背景纹理等细节。

如果你感兴趣,这是稳定扩散模型对最后一个提示的响应:

图 4.2 以英国浪漫主义画家约翰·康斯特布尔的风格绘制的稳定扩散图像


当涉及到风格时,请考虑从这个(部分)列表中添加一些内容:

  • 摄影
  • 立体派的
  • 油画
  • 哑光的
  • 超现实主义的
  • 蒸汽朋克
  • 可爱的生物
  • 幻想世界
  • 赛博朋克
  • 古老的
  • 文艺复兴时期的绘画
  • 抽象的
  • 真实的
  • 表现主义
  • 漫画
  • 墨水


相关文章
|
17天前
|
机器学习/深度学习 算法 TensorFlow
无监督学习与生成式人工智能(MEAP)(三)(5)
无监督学习与生成式人工智能(MEAP)(三)
17 0
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
无监督学习与生成式人工智能(MEAP)(三)(4)
无监督学习与生成式人工智能(MEAP)(三)
9 0
|
17天前
|
机器学习/深度学习 人工智能 数据挖掘
无监督学习与生成式人工智能(MEAP)(三)(3)
无监督学习与生成式人工智能(MEAP)(三)
7 0
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
无监督学习与生成式人工智能(MEAP)(三)(2)
无监督学习与生成式人工智能(MEAP)(三)
16 0
|
17天前
|
机器学习/深度学习 自然语言处理 测试技术
无监督学习与生成式人工智能(MEAP)(三)(1)
无监督学习与生成式人工智能(MEAP)(三)
20 0
|
17天前
|
机器学习/深度学习 算法 数据可视化
无监督学习与生成式人工智能(MEAP)(二)(5)
无监督学习与生成式人工智能(MEAP)(二)
20 0
|
17天前
|
机器学习/深度学习 人工智能 算法
无监督学习与生成式人工智能(MEAP)(二)(4)
无监督学习与生成式人工智能(MEAP)(二)
17 0
|
17天前
|
人工智能 编解码 安全
[AI Google] 基于我们对提供负责任的人工智能的承诺
今天,我们宣布了新的人工智能保障措施,以防止滥用,并推出了利用人工智能使学习更具吸引力和可访问性的新工具
[AI Google] 基于我们对提供负责任的人工智能的承诺
|
15天前
|
人工智能
如何优化人工智能人才培养体系以适应快速发展的AI技术?
【6月更文挑战第1天】如何优化人工智能人才培养体系以适应快速发展的AI技术?
40 4
|
25天前
|
机器学习/深度学习 人工智能 算法
声控门的工作原理与人工智能AI
声控门的工作原理与人工智能AI
29 1

热门文章

最新文章