1
00:00:00,080 --> 00:00:06,200
好的，主要任务就是记住有关转换 Python 代码的系统提示。

2
00:00:06,200 --> 00:00:12,400
您还记得函数用户提示会生成带有系统信息的用户提示，

3
00:00:12,400 --> 00:00:15,120
编译命令和要移植的 Python 代码。

4
00:00:15,280 --> 00:00:18,160
所以这对你来说都是旧闻了。

5
00:00:18,160 --> 00:00:24,520
因此，当旧新闻的消息写入您熟悉的输出和您也熟悉的端口时。

6
00:00:24,720 --> 00:00:31,960
这又是我们通过执行 2 亿次该序列来计算 pi 的代码。

7
00:00:32,440 --> 00:00:36,440
现在运行Python代码，实际上我们不需要运行它。

8
00:00:36,440 --> 00:00:40,800
我们已经知道 Python 代码编译和运行所需的时间。

9
00:00:40,800 --> 00:00:42,240
这将运行三次。

10
00:00:42,240 --> 00:00:45,040
但这是我给你的新小作品。

11
00:00:45,080 --> 00:00:48,120
让我们给自己一个小的 Gradio 界面。

12
00:00:48,440 --> 00:00:54,040
因此，这是使用块方法，您会记住这是您想要设计界面的方法。

13
00:00:54,280 --> 00:00:56,640
这将有两行。

14
00:00:56,840 --> 00:01:04,120
第一行将有一个 Python 和一个 C++ 文本框、要输入的 Python 代码和要输入的 C++ 代码

15
00:01:04,120 --> 00:01:05,160
将是一个输出。

16
00:01:05,160 --> 00:01:08,060
放然后这个，这个。

17
00:01:08,060 --> 00:01:11,620
之后我们有一个下拉菜单来选择模型。

18
00:01:11,820 --> 00:01:15,740
我们有一个转换按钮来转换代码。

19
00:01:16,060 --> 00:01:21,540
这就是你对 Gradio 说的地方，嘿看，我希望你构建一个前端，这样如果用户

20
00:01:21,540 --> 00:01:25,940
单击转换按钮，我希望您回拨我的服务器。

21
00:01:25,940 --> 00:01:28,500
我希望你调用名为 port 的函数。

22
00:01:28,540 --> 00:01:32,340
输入应该是所选的模型和 Python 代码。

23
00:01:32,340 --> 00:01:38,060
无论该函数返回什么，我都希望您将其推入 C++ 文本框中。

24
00:01:38,220 --> 00:01:44,900
因此，这行代码是我们如何告诉 Gradio 将 UI 连接到回调函数端口的。

25
00:01:45,300 --> 00:01:46,700
仅此而已。

26
00:01:46,700 --> 00:01:51,060
然后这将启动我们用于移植代码的新用户界面。

27
00:01:51,100 --> 00:01:52,260
好吧，我们开始吧。

28
00:01:52,380 --> 00:01:54,900
用户界面出现了。

29
00:01:54,900 --> 00:01:58,700
哈哈，好吧，就像我说的，两排。

30
00:01:58,700 --> 00:02:02,100
最上面一行有Python代码和C++代码。

31
00:02:02,100 --> 00:02:02,860
迷人的。

32
00:02:03,020 --> 00:02:07,940
所以我可以选择一个模型，它允许我选择该模型列表中的任何模型。

33
00:02:07,940 --> 00:02:12,800
因此，如果您更改模型列表，您应该在这里看到您的模型，我们不会选择前沿模型。

34
00:02:12,800 --> 00:02:13,600
我们已经用过它们了。

35
00:02:13,600 --> 00:02:19,480
我们将从 Gwen 2.5 尾声开始，我可以过来按“转换代码”。

36
00:02:19,480 --> 00:02:23,440
当我按下该按钮时，它会调用回调端口。

37
00:02:23,480 --> 00:02:30,080
它传入模型和 Python 代码，无论回调方法返回什么，它都会推动

38
00:02:30,080 --> 00:02:31,840
就在这个牢房里。

39
00:02:32,040 --> 00:02:33,560
这就是我们现在所拥有的。

40
00:02:33,560 --> 00:02:35,640
并且它也将其写入文件中。

41
00:02:35,800 --> 00:02:42,360
所以我现在能做的就是返回光标一会儿，然后我就可以进行编译和运行。

42
00:02:42,400 --> 00:02:43,680
现在编译该代码。

43
00:02:43,680 --> 00:02:45,080
它将其写入Main.cpp。

44
00:02:45,120 --> 00:02:46,400
这将是相同的代码。

45
00:02:46,400 --> 00:02:48,840
现在我们可以编译该代码并运行它。

46
00:02:49,000 --> 00:02:50,520
它不运行。

47
00:02:51,640 --> 00:02:55,760
2.5 Pro 则不然，因此代码无法执行此操作。

48
00:02:55,800 --> 00:02:57,160
这是一个小模型。

49
00:02:57,160 --> 00:03:02,840
它无法成功地将 C++ 从 Python 转换为 C++。

50
00:03:03,120 --> 00:03:07,920
我认为它没有导入正确的东西，所以不起作用。

51
00:03:07,920 --> 00:03:10,000
所以这是一个失败。

52
00:03:10,280 --> 00:03:14,800
我们所有这些失败中的第​​一个失败是来自，呃，来自格温。

53
00:03:14,800 --> 00:03:14,850
奎因。

54
00:03:14,890 --> 00:03:16,930
好吧，这就是 Quinn 编码员。

55
00:03:16,970 --> 00:03:18,530
那没有成功。

56
00:03:18,650 --> 00:03:20,610
我们现在要尝试另一个微型模型。

57
00:03:20,610 --> 00:03:23,450
我们将尝试 Deep Sea Coder v2。

58
00:03:23,810 --> 00:03:24,810
没那么小。

59
00:03:24,810 --> 00:03:27,410
这是一个 160 亿个参数的模型。

60
00:03:27,530 --> 00:03:29,890
我们将看看它是否可以将 Python 代码移植到 C++。

61
00:03:29,930 --> 00:03:31,250
嗯，它已经做了一些事情。

62
00:03:31,530 --> 00:03:32,330
开始了。

63
00:03:32,610 --> 00:03:35,130
看起来它也有同样的问题，但我们会看到的。

64
00:03:35,170 --> 00:03:38,650
好吧，呃，不过看起来不一样。

65
00:03:38,690 --> 00:03:40,650
让我们回到这里吧。

66
00:03:40,850 --> 00:03:42,530
编译并运行。

67
00:03:43,010 --> 00:03:43,450
哦，不。

68
00:03:43,450 --> 00:03:45,890
不，它没有运行成功的问题。

69
00:03:45,970 --> 00:03:47,370
干得好，深海编码员。

70
00:03:47,450 --> 00:03:51,930
呃，这样就完成了，我们得到了一个非常可观的数字。

71
00:03:52,130 --> 00:03:52,970
呃，我们会的。

72
00:03:52,970 --> 00:03:54,170
我会记下这一点。

73
00:03:54,210 --> 00:03:56,090
或者也许我们应该把它写在这里。

74
00:03:56,250 --> 00:04:03,370
所以我们将把它变成一个降价单元，我们会说，呃，这是 Quinn。

75
00:04:03,410 --> 00:04:10,730
编码器是一个失败的深度搜索编码器二号。

76
00:04:11,130 --> 00:04:12,690
这是 Quinn 2.5。

77
00:04:12,730 --> 00:04:16,050
编码器深度 C 编码器 v2.

78
00:04:16,170 --> 00:04:18,290
让我们选择中间时间。

79
00:04:18,330 --> 00:04:19,950
就在那里

80
00:04:20,310 --> 00:04:26,270
0.1144050084。

81
00:04:26,670 --> 00:04:27,710
好的。

82
00:04:27,750 --> 00:04:30,550
恭喜深海编码员。

83
00:04:30,550 --> 00:04:31,950
我们去尝试下一个吧。

84
00:04:31,950 --> 00:04:32,590
好的。

85
00:04:32,630 --> 00:04:42,870
下一个是 GPT oss 20 B 200 亿参数模型，再次在我的计算机上本地运行。

86
00:04:43,550 --> 00:04:46,630
好吧，我要按转换代码按钮。

87
00:04:47,270 --> 00:04:51,830
现在，我从痛苦的经历中知道，我们正在等待。

88
00:04:51,870 --> 00:05:00,750
现在，呃，这将花费我的机器一些时间，我可以看到我的 GPU 正在耗尽，因为

89
00:05:00,750 --> 00:05:05,230
可怕的模型正在努力解决这个问题。

90
00:05:05,430 --> 00:05:07,590
呃，所以我们会给它一些时间。

91
00:05:07,790 --> 00:05:09,830
我要让它思考一会儿。

92
00:05:09,830 --> 00:05:17,190
当我回来时，我们会看看 GPT oss 20 B 是否适合它。

93
00:05:17,230 --> 00:05:18,710
当我说，可以了吗？

94
00:05:18,710 --> 00:05:21,190
我的意思是，当然可以给我们一个答案吗？

95
00:05:21,190 --> 00:05:22,350
答案是肯定的。

96
00:05:22,790 --> 00:05:24,570
有待给我们一个答案。

97
00:05:24,570 --> 00:05:25,530
这里是。

98
00:05:25,570 --> 00:05:29,530
不过，我花了大约五分钟才到达这里，而我正在努力工作。

99
00:05:29,810 --> 00:05:32,090
呃，但我们有答案。

100
00:05:32,570 --> 00:05:34,330
这是正确的答案吗？

101
00:05:34,450 --> 00:05:39,570
它没有做任何我能看到的多线程的事情，所以它不会超级快。

102
00:05:39,570 --> 00:05:41,090
但让我们看看它做了什么。

103
00:05:41,290 --> 00:05:43,210
编译并运行。

104
00:05:44,770 --> 00:05:50,570
嗯，它有效了，而且确实比以前的更快。

105
00:05:50,610 --> 00:05:53,770
我认为这是我们迄今为止最快的。

106
00:05:53,810 --> 00:05:59,810
让我们进来，我们要说这里是开放的。

107
00:06:02,570 --> 00:06:08,250
OS 的 200 亿参数版本。

108
00:06:08,330 --> 00:06:10,610
我们的中型是什么？

109
00:06:10,610 --> 00:06:16,010
这是 A4805804。

110
00:06:16,010 --> 00:06:18,650
所以这是中间的一个。

111
00:06:19,330 --> 00:06:20,530
将其粘贴到那里。

112
00:06:20,570 --> 00:06:25,210
我们可以看到 OpenAI 的 GPT 操作系统的性能。

113
00:06:25,490 --> 00:06:27,610
确实非常令人印象深刻。

114
00:06:27,930 --> 00:06:28,610
好的。

115
00:06:29,010 --> 00:06:29,850
以后。