好吧，好吧，我们回到光标处，这是我最喜欢的地方之一。
我们即将进入本周。
左边有一个目录。
请在此处检查 LM Engineering 的大写字母。
所以您处于正确的项目中。
然后进入第二天，这就是我们现在所处的位置。
我需要提醒您，在您执行任何操作之前，您必须转到右上角显示“选择”的位置
内核给你。
你点击那个。
单击“Python 环境”选项。
您选择的第一个选项是点虚拟机。
这是与此虚拟机匹配的 Python 3.12。
这意味着你的内核已经设置好了。
欢迎来到第二天的实验室。
因此，在我们开始之前，我只想提一下，我的主页上有一个资源页面，
我已经链接到这里了。
我会尝试不断添加有用的资源。
因此，请保留该书签。
如果您愿意的话，您现在就可以去那里查看。
好吧好吧，我们现在要再次回到昨天所做的事情，但是稍微做一点
多一点纪律。
我想向您介绍这个称为“聊天完成 API”的东西。
这就是您称呼法学硕士（尤其是前沿法学硕士）最简单的方式。
它被称为聊天完成，因为它是对你实际正在做的事情的认可。
当你打电话给法学硕士时，你正在给它一个到目前为止的对话，并且你要求它预测
接下来最有可能出现的消息。
您可以将其视为完成聊天。
这就是法学硕士认为它正在做的事情。
它就像预测文本。
它只是试图预测接下来最有可能出现的单词。
作为其副作用，它恰好非常擅长回答所提出的任何问题。
但它实际上想做的只是预测接下来最有可能出现的几个单词，或者正如我们很快就会看到的那样
解释一下，最有可能的下一个标记。
好吧，实际上就是这个聊天完成 API。
这种方法首先是由 OpenAI 发明的。
但它是如此受欢迎，这种类型的请求的结构和风格变得如此流行，以至于它已经成为
无处不在。
所有提供商都提供聊天完成 API。
这是与法学硕士互动的标准方式。
我们将从 OpenAI 重新开始。
我知道你们中的一些人急于摆脱 OpenAI 并使用免费模型。
你的时间随时都会到来。
如果您不想使用 OpenAI，请观看此内容，我们会立即联系您。
好的。
首先，我将重复上次使用的称为加载点 EMV 的内容，
这将加载我们的 EMV 文件中的机密并检查我们是否已设置 OpenAI 密钥。
所以这个加载 EMV 函数可以加载你保存在你的文件中的任何东西。
电磁势。
然后我们将检查密钥是否良好。
它说 API 密钥已找到，到目前为止看起来不错。
如果你的没有这么说，那么你知道该怎么做。
检查 EMV，检查所有内容，然后查看故障排除中的外观，然后问我是否得到
卡住。
好吧，我们来谈谈终点。
现在，我想你们大多数人都知道终点是什么。
这是人们经常挂在嘴边的词之一。
但你可能不会。
对于不了解的人，您应该尽快了解。
我在技术基础指南中解释了这一切。
终点没有什么特别的。
这是一个 http url，您可以调用 to to 来通过点击某个网址来发出 API 请求。
该网址将被称为端点。
这是您拥有 API 的一种方式。
但如果 API 和端点等内容对您来说是新的，那么请阅读该指南。
好的。
有一个端点可能会让您特别感兴趣，我现在想向您展示。
它是一个端点，一个由开放人工智能提供的 API 端点。
因此，为了调用这个端点（我将这样做），我们首先必须设置一些内容
对于任何 HTTP 请求来说都很常见。
有 HTTP 标头，即该请求中的标头。
如果您对网络请求有所了解，那么您通常可能会这样做。
您指定什么内容类型，您想要返回什么类型的内容。
这就是说，我希望杰森回来，拜托。
这是一种相当标准的方式，在授权的 HTTP 消息中发送秘密
你，你放入一个名为“授权”的标头以及该标头的值，其中有“承载者”一词
然后是一个空格，然后是一些可以向第三方识别您身份的秘密。
在本例中，我们将填充 OpenAI API 密钥。
我刚刚得到的东西，我们将把它塞到标题中。
然后我这里有一个叫做有效负载的东西。
有效负载只是一块 JSON。
它将是一本字典，一本有两个键的字典。
其中之一是模型，它将是 GPT 5 nano，即 GPT 5 的微型版本。
最新型号，目前地球上最强大的型号之一。
然后这个字典中的第二个字段有一个消息键。
其值是，你知道，这是一个字典列表。
这是一个您可以在那里看到的列表。
这是一个清单。
每个字典，让我们把它放在另一行，都有一个关键角色，价值用户有一个关键内容。
价值在于告诉我一个有趣的事实。
这里没什么特别的。
让我们看看这个。
呃，有有效负载 JSON。
这就是我说的。
模型 GPT 五个纳米消息、字典列表、角色用户内容。
告诉我一个有趣的事实。
好的，这是一段 JSON。
呃，标头和有效负载。
我们现在要做的是将其发送到端点。
这是端点 API。
V1。
这是聊天完成。
有时，当您发出 Post 请求时，人们会认为这就像为以下内容创建新资源：
喜欢休息的人，休息的人。
呃，这有时称为创建资源。
因此，您可以将其视为聊天完成创建一些熟悉的内容。
呃，所以聊天完成创建了。
我们使用 API 密钥传递标头。
有效负载就是这里的 JSON blob。
那么让我们运行一下吧。
返回的是一堆 JSON。
我们要求返回 JSON。
让我们看看我们得到了什么。
让我们看看我们得到了什么样的 JSON。
这里是。
嗯，所以它是一块 JSON，就像一个 ID 对象，各种各样的东西。
然后它有一个称为选择和选择的字段。
在此响应中，选择是一个列表。
索引为零的选项的第一项是具有字段消息的内容。
该消息本身就是一个 JSON 字典。
这里面有一个叫做内容的东西，这是一个有趣的事实。
可能有独特的游戏，比可观察到的原子还多的可能的独特国际象棋游戏
宇宙。
大约是 10 的 120 次方 有一个有趣的事实。
因此，我们调用 GPT 5 到该端点的 JSON 响应中返回了一个有趣的事实，即
我刚刚给你的网址。
显然我还有另一种方法可以做到这一点。
让我在这里得到一个新的代码。
假设，呃，嗯，我们说的是响应 JSON。
这就是我们刚刚在此处查看的 JSON。
呃，我的回复拼写错误。
如果你让我输入 Response.json，这就是你得到的结果。
所以我们可以说，好吧，让我们看看选择字段。
我想它知道我在这里做什么。
查看其中的第一个元素。
字段内容处的字段消息的元素索引为零，正常。
你看到了。
那就是你知道那会做什么。
我们只需选择第一条消息内容。
让我们看看打印了什么。
它打印出那个非常有趣的事实，当然我们刚刚看了呃，更多可能的独特游戏
国际象棋的数量比可观测宇宙中的原子数量还要多。
好吧，但你知道吗？
嗯，所以这是使用 HTTP 端点在云中调用 OpenAI 的完美方法。
没关系。
我们可以做到这一点。
我们可以随时输入这个。
但使用 JSON、在字典中查找键之类的东西有点混乱。
这有点做作，如果每次我们想调用 GPT 或任何前沿，那将是一个真正的痛苦
模型中，我们必须将这些 HTTP 请求拼接在一起，用帖子调用斜线聊天完成
或者创建然后通过像这样的 JSON 对象来导航。
这会很痛苦。
如果有更好的方法就好了。
是的，是的，我知道你明白这个笑话。
你知道我要说什么吗？
有一个更好的方法可以做到这一点。
OpenAI 创造了这种更好的方式。
他们制作了一个名为 OpenAI 的包，该包就是所谓的 Python 客户端库。
Python 客户端库一点也不奇特。
您经常在各处使用 API 的 Python 客户端库。
将其命名为 API，用于发送电子邮件，用于 API 执行如此多的操作。
嗯，这些东西通常是非常轻量级的库，它们向
端点。
返回的内容会转换为 Python 对象，这样你就不会乱搞了
诸如此类的东西，嗯，在 JSON 字典中努力探索。
但您可以编写一些漂亮、优雅的 Python 代码，这就是 OpenAI 库的全部功能。
它是一个 Python 客户端库，包装了对 HTTP 端点的调用。
这很简单。
它是完全开源的。
你可以打开它，看看它，看看所有的代码。
这非常简单。
有些人第一次遇到这个问题时，会认为在处理 OpenAI 时，
对象和代码，不知何故我们正在运行 GPT，并且我们有一些来自 OpenAI 的奇特代码。
一点也不。
它是简单的代码，仅封装发出 Web 请求。
我们现在将快速使用该代码，但您会更加熟悉它。