所以现在使用的是喇嘛，并且使用轻LM，你所要做的就是将其切换为美洲驼
美洲驼 3.2。
这就是 API 基础。
呃，现在它将在我的计算机上运行。
它将使用 llama 3.2 来实现同样的目标。
呃，哎呀。
我们开始吧。
不挂断。
让我们运行它，这样我的计算机就可以看到我的了。
又很快了。
呃，我的 GPU 突然加速了一秒钟。
呃，让我们看看我们得到了什么。
好吧，让我们比较一下。
您可以立即看到 llama 3.2，因为它是完全免费的。
呃，呃，正如您从非常精确的成本中看到的那样，0.00 $0.00。
呃，呃，在输出方面，呃，它做得不太好，呃，你可以看到
那，这就像这里的标题发生了一些有趣的事情。
呃，没有，没有写标题这个词。
相反，它在他们的，嗯，类别中添加了一个类似降价的标题。
它说的是家庭安全，感觉这是一个非常具体的类别。
我实际上并不太关心，但这些类别将为正在尝试的 LM 提供一个提示
稍后再猜价格。
但是，你仍然希望你想要一个感觉正确的类别。
嗯，这个品牌是对的。
呃，描述提供了一个安全且时尚的入口解决方案。
没关系，没关系。
嗯，但它显然没有达到 OSS 20 b 的精度。
呃，实际上，这让我只想提一件事。
你可能会注意到。
输出token只有48个，而且这里的输出token数量要大得多。
但它们在视觉上看起来是一样的。
当我看到 125 时，我记得我在想，这肯定不是比 125 少得多
呃，输出令牌。
事实是，值得知道的是，当轻量级LM计算输出令牌时，它包括这些
所谓推理代币，是OSS操作系统在思考过程中创建的代币
如何得出最佳答案。
所以它确实也有一些推理标记。
因为这里更接近 48，所以这是一个很好且简短的描述。
好的，所以对于你来说，如果你确实希望经历并解决这个问题，你可以选择使用
llama 3.2 为您提供数据。
当然需要很长时间。
Llama 3.2 并不是非常快，但您可以在 llama 3.2 中重写所有内容。
尽管如此，这些数据仍然比原始数据要好得多。
但我将使用 grok 和 Q。
这就是我们预处理所有数据的方式。
我将对 Lite 数据集中的 20,000 个数据执行此操作，并且还将对 Lite 数据集中的 800,000 个或 820,000 个数据执行此操作。
以及完整的数据集。
我将使用这种批处理模式作为一种方法，可以非常快速地以一半的价格完成此任务。
我们现在就去做吧。
因此，从现在开始，在本实验的其余部分中，我们将重点关注使用 grok 和 Q。
但是你可以直接应用类似于OpenAI的东西。
如果您希望拥有几乎完全相同的 API。
或者，如果您愿意，也可以循环遍历并使用 llama 3.2 来处理 20,000 个数据集。
但这就是我们要做的。
首先，我们将使用这个小辅助函数来生成一行 JSON。
对于我们想要通过队列向 grok 发出的每个不同请求，用一行 JSON 表示。
这就是批处理模式的工作原理。
你还记得我们在第五周简短地讨论过这个问题。
JSON L 是一种文件类型，它不仅仅是一个 JSON blob（JSON 文件就是这样），而是一个
文件，其中每一行都是一个单独的 JSON 文档。
这就是所谓的 JSON l JSON 行。
嗯，我们将在每行上显示我们想要的模型。
它有消息，这将是带有系统提示的常见 OpenAI 词典列表。
用户提示将是完整的项目。
嗯，你可以看到我们这里有镜子。
我们之前实际上在这里打过电话。
这正是我们放入 JSON 文件中的调用。
我们也在每一行。
您还必须输入一个 ID 号来标识您以批处理模式发送的每一行，因为
您稍后将收到输入文件中每一行的响应。
这就是为什么我将该 ID 设置为每个项目的编号，因为我们将使用它作为我们的
对每行中的内容进行排队的方式。
好的。
这就是所谓的 make JSON L。
为了让您真正了解这一点，让我向您展示使 JSON l 的项目为零的样子。
这是一个提醒，零项是什么。
我想我们知道这个。
出色地。
现在是这款带有锁舌的安多佛内部旋钮。
如果我用第 0 项调用 make JSON L，就会发生这种情况。
我得到客户 ID 为零，因为这是我们设置方法是聊天后完成的 ID。
然后你会看到这里有DeCSS系统用户的列表，所有的东西都在里面
来自非结构化数据，然后推理工作量很低。
这就是我们调用 make jsonl 时得到的结果。
它就像用一行 JSON 表示一个 API 调用。
好的，现在我有了一个函数 make 文件，它将遍历并生成一个完整的文件
通过从头到尾迭代每个项目并创建一个 jsonl 文件。
再说一次，如果你不确定我的意思，现在你就会明白了。
我将从索引 0 开始调用 makefile，直到索引 1000。
我希望你为我制作一个 jsonl 文件。
将其称为零下划线 1000 jsonl 并将其放在名为 jsonl 的文件夹中。
让我运行一下。
跑起来了
我们去看看吧。
这是一个名为 Jsonl 的文件夹。
我已经到了这里。
这是我们刚刚创建的文件。
希望这对您来说是有意义的。
这是一个有的文件。
如果我一直向下滚动，希望它有 1000 行。
让我们来看看。
它确实有1000行。
如果我们再次回到顶部，这是第一行。
您可以看到的每一个都有一个自定义 ID 01234567。
随着我的继续，您会发现每个调用看起来都像是一个 API 调用。
这里的主体说明了我们要调用的模型是什么。
然后这里是消息呃，系统，内容创建者，简洁的描述等等。
因此，您可以查看其中的每一个，每行都传递不同的非结构化内容
来自某个项目的数据。
我们将要求 grok 浏览整个文件并一起处理所有这些内容，以便为我们提供
我们的结果。
好的。
请记住，如果您没有遵循所有这些，请对我所说的内容有一些直觉，
通过jsonl文件批量调用和LM。
您将能够获得由此带来的回报，我将上传结果。
您将能够下载它们并按原样使用它们。
好吧，那我现在就用呃，grok呃，提供了一个库grok，我们直接用
如果你以批处理模式调用OpenAI，它基本上是完全相同的。
Grok 复制了 OpenAI 的做法。
对于大多数提供商来说，这种方法是相当标准的。
好的。
所以我通过传入我的 grok API 密钥来初始化 grok 库。
因此，当您在批处理模式下工作时，您需要执行的步骤很简单。
基本上就是这三个步骤。
您创建一个文件。
然后，您可以使用该文件来创建批处理。
然后你检索该批次。
这就是我们现在要做的。
因此，您要做的第一件事就是在 grok 中创建一个文件。
我们告诉 grok 我已经拿到了这个文件。
它称为零下划线 1000。
杰森，我希望你上传这个文件。
目的是为了批量目的。
就是这样。
我刚刚将该文件上传到 grok 并返回。
它带有一个文件响应，呃，里面有一个 ID，它有它创建的字节数，
名称、目的等。
现在我可以收集那个身份证了。
现在这是我上传到 grok 的文件。
它就坐在 grok 上。
有了这个ID就完成了。
我们现在已经创建了文件时间。
所以我们已经创建了该文件。
现在是我们使用该文件来创建批处理的时候了。
因此，我们不调用 grok create，而是调用 grok 批量创建。
我们说我们需要您在接下来的 24 小时内完成此操作。
不着急。
慢慢来。
因为这就是我们获得半价的方式。
呃，我们说这是一个标准的聊天完成。
我们给它输入文件，该文件是我们刚刚上传的文件的 ID，它有 jsonl.json 文件。
每一行都是一个不同的 API 请求。
所以我们刚刚创建了我们的批次。
我们开始吧。
它有这个批次 ID，让我们将该 ID 收集到呃抱歉中。
开始了。
响应 ID 是我们获取该 ID 的地方，当我们准备好后，我们就可以执行下一步，即
检索该批次并查看它发生了什么。
那么我们开始吧。
我们使用 grok create 来创建该文件。
然后我们执行 grok create 从文件中创建一个批处理。
现在我们正在执行 grok 检索。
现在找出来是怎么回事。
我们返回呃，这里是批次ID，完成窗口，端点，输入文件ID
状态已完成。
所以 grok 有 24 小时的时间来做这件事，但它就那样做，通常是这样的文件
这。
完全不会有问题的。
我想如果你们这样做的话，这件事就会发生在你们两个身上。
没有错误。
一切看起来都很棒。
于是事情就这样发生了。
我们已经成功了。
然后，呃，我应该提到的另一个步骤，就是实际收集结果。
你可以用 grok 内容来做到这一点。
那么我们开始吧。
格洛克内容。
我刚刚将其写入 Jsonl 目录中名为 Batch results Jsonl 的文件中。
我们来看看吧。
呃，就是这里。
批次结果就在这里。
现在我们有了它。
这就是文件的内容。
这是一个文件，每一行都是一个 jsonl。
呃，这是一块 JSON。
看，这些自定义 ID 不匹配。
它不会按照我们发送的顺序返回，因为这件事发生了，就像，
处理它并返回它的 grok 进程场以某种不同的顺序出现。
所以我们不能依赖文件的顺序。
我们需要查看这个自定义 ID，您会发现这里有很多回复。
如果你研究一下它们，你会发现在这个过程中的某个地方，我们确实应该有我们的，
呃，如果我滚动到右侧，我们的实际答案。
呃，这是尸体。
这里有一个身份证。
呃，然后我们会看到实际上有这样的反应，我们会
查看回复内容。
开始了。
呃，消息助理的内容。
你可以看到屏幕上出现了所有这些标题标题，
这些都是从模特标题类别品牌返回的所有标题，呃，显示出来。
我们已收到 grok 对这些项目的回复。
杰出的。
现在最后，我们可以编写一些普通的 Python 代码来迭代它。
然后我们可以收集 ID，然后用它来提取摘要。
看看这里的这一行。
项目 ID 摘要是我们将从该 jsonl 行中提取的摘要。
这就是我们接下来要运行的。
然后我们将检查结果。