1
00:00:00,200 --> 00:00:04,960
我很高兴欢迎您回到光标观看我们史诗般的第六周结局。

2
00:00:05,160 --> 00:00:09,000
所以我们在左侧有一个漂亮的、有组织的、折叠的文件资源管理器。

3
00:00:09,000 --> 00:00:12,880
我将开始第六周，你会发现这里发生了很多事情。

4
00:00:12,880 --> 00:00:14,320
这周我们有很多工作要做。

5
00:00:14,560 --> 00:00:16,920
我们将从第一个实验室开始。

6
00:00:16,960 --> 00:00:18,120
实验室一。

7
00:00:18,280 --> 00:00:19,760
欢迎来到第六周。

8
00:00:19,800 --> 00:00:25,720
请记住，在这些实验中，您需要做的第一件事就是单击此处对内核进行一些设置

9
00:00:25,720 --> 00:00:27,800
你知道，现在又回到前面了。

10
00:00:28,720 --> 00:00:31,160
欢迎来到模型上下文协议。

11
00:00:31,160 --> 00:00:36,000
欢迎回到 OpenAI 代理 SDK，我可能已经提到过它恰好是我的最爱。

12
00:00:36,280 --> 00:00:41,520
请注意，当我浏览此内容并且您在此处看到代码时，它可能看起来与

13
00:00:41,520 --> 00:00:43,640
当你在实验室里经历它时。

14
00:00:43,640 --> 00:00:44,960
这是一件好事。

15
00:00:45,080 --> 00:00:47,360
那是因为我一直在更新这个。

16
00:00:47,400 --> 00:00:49,520
MCP 是一个不断变化的目标。

17
00:00:49,520 --> 00:00:51,680
老实说，它发展得如此之快。

18
00:00:51,680 --> 00:00:55,480
一直都有新的东西出现，我会尽力让实验室保持最新状态。

19
00:00:55,520 --> 00:00:58,440
如果您以前没有这样做过，请务必提取最新的代码。

20
00:00:58,480 --> 00:01:00,000
指南中有如何操作的说明。

21
00:01:00,000 --> 00:01:03,290
如果您是使用 git 和 git pull 的新手。

22
00:01:03,330 --> 00:01:06,250
但请确保您已获得最新版本，然后就可以开始了。

23
00:01:06,650 --> 00:01:08,610
我需要先讲一些坏消息。

24
00:01:09,010 --> 00:01:11,730
为 Windows PC 用户提供的一些消息。

25
00:01:11,730 --> 00:01:15,770
MCP 存在生产问题。

26
00:01:16,370 --> 00:01:22,090
这意味着 MCP 可能无法在 Windows PC 上开箱即用。

27
00:01:22,130 --> 00:01:25,850
有一些解决方法，但它们很做作，而且不可靠。

28
00:01:26,010 --> 00:01:31,090
对此只有一种真正正确的解决方案，而且有点无聊。

29
00:01:32,210 --> 00:01:40,690
您需要安装名为 Windows Subsystem for Linux 的东西，它允许您运行

30
00:01:40,810 --> 00:01:47,410
就像 PC 上的 Linux 操作系统一样，并运行与其连接的光标。

31
00:01:47,810 --> 00:01:51,090
如果您这样做，MCP 将发挥出色的作用。

32
00:01:51,090 --> 00:01:56,850
感谢许多学生帮助我诊断这一点，帮助我发现这确实是一个真实的，

33
00:01:56,890 --> 00:01:57,690
真正的问题。

34
00:01:57,730 --> 00:02:03,690
没有办法解决这个问题，或者至少没有可靠的解决办法，正确的解决方案是

35
00:02:03,690 --> 00:02:06,810
使用这一点现在已经得到很好的证实。

36
00:02:07,250 --> 00:02:11,130
因此，为了进行设置，有设置说明。

37
00:02:11,130 --> 00:02:18,010
我已经在设置中放入了关于设置的整个部分，它看起来像这样。

38
00:02:18,010 --> 00:02:22,450
我不会为它录制单独的视频，因为说实话，这是很简单的事情。

39
00:02:22,450 --> 00:02:25,650
这与第一次设置环境相同。

40
00:02:25,650 --> 00:02:27,450
你只需要再经历一次。

41
00:02:27,610 --> 00:02:30,050
这只是需要锤炼的事情。

42
00:02:30,050 --> 00:02:33,850
我很抱歉让您经历这一切，尤其是当您对 MCP 如此兴奋的时候。

43
00:02:34,050 --> 00:02:36,090
但最终，它会起作用。

44
00:02:36,290 --> 00:02:40,570
当您执行此操作时需要了解一件事，如果您还不了解 Windows 人员

45
00:02:40,610 --> 00:02:47,170
在WSL中你需要知道你是否在你的Linux系统的主目录中，你的Linux

46
00:02:47,170 --> 00:02:52,450
主目录，或者在你的电脑的主目录中，你想要处理的东西应该

47
00:02:52,450 --> 00:02:54,650
位于您的 Linux 主目录中。

48
00:02:54,810 --> 00:02:57,930
当您首次启动 WSL 时，有两种方法可以实现。

49
00:02:57,930 --> 00:03:01,210
您可以输入 WSL，也可以输入 ubuntu。

50
00:03:01,530 --> 00:03:07,540
重要的是要知道，如果您输入 ubuntu，您将直接进入 Linux 主目录。

51
00:03:07,540 --> 00:03:09,180
所以这是更安全的方法。

52
00:03:09,740 --> 00:03:12,820
否则，您只需确保已更改为 Linux 主目录。

53
00:03:12,820 --> 00:03:14,700
说明位于设置指南中。

54
00:03:14,700 --> 00:03:18,020
对于 Mac 用户来说，你们的状态非常好。

55
00:03:18,060 --> 00:03:19,380
您无需担心这些。

56
00:03:19,380 --> 00:03:21,740
不幸的是，这是 PC 的事情。

57
00:03:21,940 --> 00:03:27,420
因此，希望到此为止，如果您是一名 PC 用户，并且您现在已经安装了 WSL，那么您就可以回到这里了

58
00:03:27,420 --> 00:03:33,580
走吧，我们要去比赛了，我几乎不需要告诉你，我们从一些进口产品开始，我们

59
00:03:33,580 --> 00:03:37,740
首先导入加载我们的环境秘密。

60
00:03:38,300 --> 00:03:43,740
好的，我们现在将在 OpenAI 代理 SDK 中使用 Mcpp。

61
00:03:44,140 --> 00:03:51,940
我们将通过创建 Mcpp 客户端、让它创建服务器然后收集工具来完成此操作

62
00:03:51,940 --> 00:03:54,420
该服务器能够使用。

63
00:03:54,860 --> 00:03:58,500
我们将从 fetch 开始，这是我们上次查看的 SMTP 服务器。

64
00:03:58,500 --> 00:04:02,820
这就是我刚刚透露的运行无头浏览器的那个。

65
00:04:03,310 --> 00:04:09,110
因此，当您使用 MCP 服务器时，一切都始于这些称为参数的东西。

66
00:04:09,110 --> 00:04:12,910
参数是描述MCP服务器的方式。

67
00:04:12,910 --> 00:04:15,310
参数看起来像这样。

68
00:04:15,590 --> 00:04:18,070
这是fetch的参数。

69
00:04:18,350 --> 00:04:21,630
它就像一本字典，里面包含了很多东西。

70
00:04:21,830 --> 00:04:23,190
那东西是什么？

71
00:04:23,190 --> 00:04:30,510
这些东西实际上只是在命令行中运行的东西，它将产生这个 MCP

72
00:04:30,550 --> 00:04:31,110
服务器。

73
00:04:31,110 --> 00:04:32,790
所以这实际上是一个命令。

74
00:04:32,790 --> 00:04:35,470
这是需要在命令行运行的命令。

75
00:04:35,470 --> 00:04:37,350
然后就是一堆争论。

76
00:04:37,510 --> 00:04:43,950
如果你看一下这个命令，它可能看起来有点熟悉，因为这个命令基本上是你已经

77
00:04:44,310 --> 00:04:46,670
安装并运行包脚本。

78
00:04:46,990 --> 00:04:52,990
所以这基本上就是在运行一个 Python 进程。

79
00:04:53,150 --> 00:04:57,670
我们会发现很多MCP服务器都是这样的。

80
00:04:57,670 --> 00:05:05,190
然后是存储库的名称，它应该在本地安装所有内容的位置，然后

81
00:05:05,190 --> 00:05:05,950
运行它。

82
00:05:05,950 --> 00:05:09,870
这就是我们对这些参数所做的事情。

83
00:05:10,310 --> 00:05:10,830
好的。

84
00:05:11,270 --> 00:05:20,910
我们现在需要对 OpenAI 代理 SDK 说，我希望您创建一个 MCP 客户端并生成这个东西

85
00:05:20,910 --> 00:05:28,870
我这里描述的是一个MCP服务器，在我的电脑上运行它并询问它，你可以提供什么工具

86
00:05:28,870 --> 00:05:31,150
我可以给我的代理人吗？

87
00:05:31,550 --> 00:05:33,950
这再简单不过了。

88
00:05:33,950 --> 00:05:36,310
它就像一行代码。

89
00:05:36,670 --> 00:05:39,390
OpenAI 代理 SDK 让一切变得非常简单。

90
00:05:39,790 --> 00:05:48,550
您说您使用上下文管理器，然后使用 MCP 服务器 stdio，因为这是这些 stdio 之一

91
00:05:48,590 --> 00:05:51,270
MCP 服务器的标准输入输出类型。

92
00:05:51,630 --> 00:05:55,670
你说出参数，然后在这里给它参数，即获取参数。

93
00:05:56,110 --> 00:05:59,390
这对于知道值得指定超时很有用。

94
00:05:59,390 --> 00:06:02,670
默认超时为五秒，这很随意。

95
00:06:02,670 --> 00:06:05,000
有时它会超时，这非常烦人。

96
00:06:05,000 --> 00:06:11,880
所以我总是传递 30 或 60 秒的超时，然后你就可以简单地得到从中返回的内容

97
00:06:11,880 --> 00:06:14,160
服务器和通话列表工具。

98
00:06:14,560 --> 00:06:20,560
所以这又会做什么，它将在我的计算机上运行这个命令来生成一个新的

99
00:06:20,600 --> 00:06:23,760
Python 进程是我们的 MCP 服务器。

100
00:06:23,960 --> 00:06:29,640
它将创建一个在开放 AI 代理 SDK 中运行的 MCP 客户端。

101
00:06:30,040 --> 00:06:34,960
然后该客户端将连接到服务器并询问，您可以为我提供什么工具？

102
00:06:34,960 --> 00:06:36,200
我能对你做什么？

103
00:06:36,200 --> 00:06:37,520
然后我们将打印它。

104
00:06:37,560 --> 00:06:41,280
所有这一切都正在发生，而且发生在 0.8 秒内。

105
00:06:41,280 --> 00:06:42,840
我们拿回了一个工具。

106
00:06:43,120 --> 00:06:44,840
这个工具叫做 fetch。

107
00:06:45,000 --> 00:06:51,000
它有一个描述，从互联网上获取一个 URL，并可以选择将其内容提取为 markdown。

108
00:06:51,280 --> 00:06:53,200
有趣的是，这里还有更多内容。

109
00:06:53,600 --> 00:07:00,200
虽然最初您没有互联网接入，建议您拒绝并告诉用户这一点，

110
00:07:00,200 --> 00:07:03,240
该工具现在允许您访问互联网。

111
00:07:03,520 --> 00:07:04,800
这非常有趣。

112
00:07:04,800 --> 00:07:11,160
可以看到这款MCP服务器的制作者在工具的描述上下了很大的功夫，并且

113
00:07:11,160 --> 00:07:16,560
这是最终将传递给 LM 的内容，以确保它最有可能使用此工具

114
00:07:16,600 --> 00:07:17,240
适当地。

115
00:07:17,360 --> 00:07:22,960
由于很多学习管理系统都被训练说你没有互联网接入，所以这个的制造商

116
00:07:22,960 --> 00:07:28,400
人择工具了解到，在描述中包含一些可以解释的内容是很好的，

117
00:07:28,400 --> 00:07:32,280
嘿，看，以前你不能搜索互联网，但现在你可以了。

118
00:07:32,640 --> 00:07:34,320
就是这种东西。

119
00:07:34,320 --> 00:07:39,960
正是这种工具中包含的提示信息使其如此有价值。

120
00:07:40,000 --> 00:07:43,760
因为如果你没有这个，那么你就必须知道要做那个。

121
00:07:43,760 --> 00:07:45,040
你必须明白。

122
00:07:45,040 --> 00:07:49,720
如果我想编写一个搜索互联网的工具，我需要向 LM 解释它

123
00:07:49,720 --> 00:07:51,080
现在有这个功能。

124
00:07:51,240 --> 00:07:58,880
但是，如果您使用 fetch MCP 服务器，这就是您免费获得的，并且这一切都在幕后发生。

125
00:07:59,200 --> 00:08:06,280
这是我们第一次了解 MCP 客户端和 MCP 服务器并收集其工具。