编程笔记

lifelong learning & practice makes perfect

LLM

开源部署

云服务商

工具

AI Agent

  • dify.ai云平台
    • 可视化AI应用构建
    • 支持多种LLM模型接入
    • 工作流自动化
    • 提供免费套餐

AI助手

  • ChatGPT
    • GPT-3.5免费使用
    • GPT-4需订阅Plus
  • Claude
    • 支持更长上下文
    • 提供免费额度
  • Google Gemini
    • 提供免费使用额度
    • 支持多模态输入

更多

  • AI导航 - 收录更多AI工具和资源

使用建议

  1. 善用免费额度,合理分配使用场景
  2. 针对不同需求选择合适的模型
  3. 注意API调用频率限制
  4. 关注服务条款和数据安全

各种工具

我构建的各种 HTML+JavaScript 工具,几乎所有工具都是在大语言模型的帮助下完成的。

这个集合部分是一个实验,旨在探索在风险极低的项目中,仅通过提示就能完成多少工作。我使用的提示链接自每个工具的提交信息。它们中的大多数都使用了此处描述的自定义指令版本。

我本周用 Claude Artifacts 构建的所有内容描述了我是如何构建其中的许多工具的。

LLM 游乐场和调试器

其他

在 Observable 上

Observable 上:

我非常喜欢 Claude 的 Artifacts 功能,它允许你提示 Claude 创建一个交互式的单页应用(使用 HTML、CSS 和 JavaScript),然后在 Claude 界面中直接查看结果,与机器人进一步迭代,如果你喜欢,还可以复制出生成的代码。

我翻看了我的 Claude 活动导出(我构建了一个 claude-to-sqlite 工具将其转换为 SQLite,我可以在 Datasette 中探索它),并决定看看我 在过去一周 使用了多少 artifacts。比我预想的要多!

能够启动一个完整的交互式应用程序——有时作为一个说明性的原型,但通常是直接解决问题的工具——是一个非常有用的工具。

以下是我在过去七天中使用 Claude Artifacts 的大部分内容。我为几乎所有内容提供了提示或完整记录。

使用 Jina Reader 将 URL 转换为 Markdown #

我因为在使用移动版 Safari 时很难将整个网页的文本复制粘贴到 LLM 中而感到沮丧。所以我构建了一个简单的 Web UI,允许我输入 URL,调用 Jina Reader API 生成 Markdown(它在底层使用 Puppeteer),并为我提供带有方便的“复制”按钮的 Markdown。

试用一下:https://tools.simonwillison.net/jina-reader (代码)

图像 31:Jina Reader - URL 字段,在选择框中选择 Markdown,提交按钮。然后是一个显示从带有复制到剪贴板按钮的页面提取的 Markdown 的框。然后是一个显示渲染的 Markdown 预览的框架。

在这里写了更多关于该项目的内容

WASM 中的 SQLite 演示 #

关于 SQLite 的 WASM 构建的 Hacker News 对话 引导我到 NPM 上的 @sqlite.org/sqlite-wasm 包,我决定快速拼凑一个交互式演示。

图像 32:半月湾的鹈鹕目击事件 - 一个带有 select * from pelican sightings 的文本区域,一个执行查询按钮和一个显示 5 个匹配行的表格。

在这里试用:tools.simonwillison.net/sqlite-wasm

代码Claude 记录

我发现自己想提取网页上的一段文本链接的所有底层 URL。我意识到最快的方法是启动一个可以接受富文本 HTML 粘贴并使用 HTML 解析器提取这些链接的 artifact。

图像 33:提取 URL 工具。粘贴的内容。提取的 URL。显示提取的 URL 列表。

https://tools.simonwillison.net/extract-urls

代码Claude 记录

剪贴板查看器 #

摆弄一个允许你粘贴富文本的工具让我想起了浏览器剪贴板 API 是一件令人着迷的事情。我决定构建一个快速调试工具,让我可以复制和粘贴不同类型的内容(纯文本、富文本、文件、图像等),并查看浏览器中可用的信息。

图像 34:剪贴板格式查看器。在此处或页面上的任何位置粘贴。显示带有 HTML 片段的 text/html,带有某些文本的 text/plain,以及显示事件类型粘贴和可用格式 text/html 和 text/plain 的剪贴板事件信息

https://tools.simonwillison.net/clipboard-viewer

代码Claude 记录

Pyodide REPL #

我没有在这个上面花太多精力。在浏览器 DevTools 中摆弄 Claude Artifacts 时,我发现了这个 CSP 标头:

content-security-policy: default-src https://www.claudeusercontent.com; script-src 'unsafe-eval' 'unsafe-inline' https://www.claudeusercontent.com https://cdnjs.cloudflare.com https://cdn.jsdelivr.net/pyodide/; connect-src https://cdn.jsdelivr.net/pyodide/; worker-src https://www.claudeusercontent.com blob:; style-src 'unsafe-inline' https://www.claudeusercontent.com https://cdnjs.cloudflare.com https://fonts.googleapis.com; img-src blob: data: https://www.claudeusercontent.com; font-src data: https://www.claudeusercontent.com; object-src 'none'; base-uri https://www.claudeusercontent.com; form-action https://www.claudeusercontent.com; frame-ancestors https://www.claudeusercontent.com https://claude.ai https://preview.claude.ai https://claude.site https://feedback.anthropic.com; upgrade-insecure-requests; block-all-mixed-content

其中的 https://cdn.jsdelivr.net/pyodide/ 引起了我的注意,因为它表明 Anthropic 开发团队故意设置它,以便可以将 Pyodide(编译为 WebAssembly 的 Python)加载到 artifact 中。

我让 Claude 启动了一个非常快速的演示来证明这一点:

图像 35:Pyodide Python REPL - 3 + 4 返回 7。一个用于输入 python 代码的文本区域和一个运行按钮。

https://claude.site/artifacts/a3f85567-0afc-4854-b3d3-3746dd1a37f2

我还没有费心将这个提取到我自己的 tools.simonwillison.net 站点,因为它纯粹是一个概念证明,证明 Pyodide 可以在该环境中正确加载。

照片相机设置模拟器 #

我外出拍照散步,并好奇 JavaScript 是否可以提供相机设置的模拟。我没有在这个上面走太远(在海滩散步时在手机上提示)——结果有错误且令人印象不快,我很快就失去了兴趣。不过,它让我接触到了用于操作 canvas 元素的 Fabric.js 库。

图像 36:照片相机设置模拟器。已选择图像 - 但仅显示图像的角落,并带有一些有错误的损坏的调整大小句柄。底部的三个滑块显示曝光、对比度和饱和度。

https://claude.site/artifacts/e645c231-8c13-4374-bb7d-271c8dd73825

LLM 定价计算器 #

这个我 确实 完成了。我构建了这个定价计算器,作为我使用 Google Gemini 进行视频抓取 的实验的一部分,因为我不相信自己对 Gemini 有多便宜的计算!这里有关于我如何构建它的详细说明

图像 37:LLM 定价计算器界面的屏幕截图。左侧面板:用于令牌和成本的输入字段。输入令牌:11018,输出令牌:空,每百万输入令牌的成本:0.075 美元,每百万输出令牌的成本:0.3 美元。计算的总成本:0.000826 美元或 0.0826 美分。右侧面板:各种模型的预设,包括 Gemini、Claude 和 GPT 版本,以及它们各自的每 100 万个令牌的输入/输出成本。页脚:价格截至 2024 年 10 月 16 日是正确的,它们可能已更改。

https://tools.simonwillison.net/llm-prices

YAML 到 JSON 转换器 #

我想提醒自己 YAML 语法的某些方面是如何工作的,所以我启动了一个快速的 YAML 到 JSON 转换器工具,该工具在您键入 YAML 时实时显示等效的 JSON。

图像 38:YAML 到 JSON 转换器。在顶部的文本区域中是 YAML。在它下面是漂亮打印的 JSON 输出。

https://claude.site/artifacts/ffeb439c-fc95-428a-9224-434f5f968d51

Claude 记录

OpenAI 音频 #

这是我本周最有趣的 artifact。我正在探索 OpenAI 的新音频 API,并决定看看是否可以让 Claude 构建一个网页,该网页可以请求访问我的麦克风,录制一段音频,然后对其进行 base64 编码并将其发送到 OpenAI API。

这里有关于我如何构建此工具的完整详细信息

图像 39:OpenAI 音频工具的屏幕截图。可见一个开始录制按钮、一个 00:00 计时器和一个播放音频元素。有一个用于提示的文本区域和一个提交到 API 按钮。

https://tools.simonwillison.net/openai-audio

Claude Artifacts 不能直接向外部主机发出 API 请求,但它仍然可以启动足够多的工作版本,以便很容易地将其移动到不同的托管并完成工作。

我在构建一个工具,展示 Gemini Pro 如何返回图像中对象的边界框 中撰写了更多关于此 API 模式的内容。

QR 码解码器 #

本周早些时候,我参加了一个会议,其中一位参与者分享了一张带有 QR 码的幻灯片(用于加入实时调查工具)。我没有带手机,所以我需要一种将 QR 码转换为常规 URL 的方法。

图像 40:QR 码解码器 使用 Cosmo Wolfe 的 jsQR 上传、拖放或粘贴 QR 码图像:在此处选择文件或拖放 我拖动一个 QR 码,该框显示:解码内容:https://simonwillison.net/

https://tools.simonwillison.net/qr

在 Claude Artifacts 中敲定这个 QR 解码器只花了几秒钟:

构建一个 artifact(没有 react),让我可以粘贴 QR 码并显示解码后的信息,并在必要时显示超链接

[ … ]

有一个文件打开框,也可以让你拖放,并在页面上添加一个 onpaste 处理程序,以捕获粘贴的图像

完整对话在这里

图像转换器和页面下载器 #

另一个非常快速的原型。在 Hacker News 上,有人演示了一个巧妙的工具,该工具允许您将照片拖放到页面上,并将其作为 base64 URL 烘焙到页面中,这样您就可以“另存为 HTML”并获得一个包含图库的自包含页面。

建议他们可以添加 一个生成带有烘焙的新页面的“下载链接”的功能——在不允许您“另存为 HTML”的移动电话上很有用——并让 Claude 敲定一个快速原型:

图像 41:图像转换器和页面下载器 - 我已选择一个图像,并且现在该图像下方有一个下载页面链接。

在这种情况下,我在 Gist 中共享了代码,然后使用我新接触的 https://gistpreview.github.io/?GIST_ID_GOES_HERE 技巧来渲染结果:

https://gistpreview.github.io/?14a2c3ef508839f26377707dbf5dd329

事实证明,gistpreview 是将 LLM 生成的演示转换为人们可以查看的页面的非常快捷的方式。

代码Claude 记录

HTML 实体转义器 #

按需软件的另一个示例:我需要在手机上的一段文本中转义 HTML 实体,所以我让 Claude 为我构建了一个工具:

图像 42:HTML 实体转义器。在输入框中,我输入了带有双引号的文本。输出框已正确转义这些引号,并带有一个复制到剪贴板按钮。

https://claude.site/artifacts/46897436-e06e-4ccc-b8f4-3df90c47f9bc

这是我使用的提示:

构建一个 artifact(没有 react),我可以在其中将文本粘贴到文本区域中,它将返回该文本,其中所有 HTML 实体——单引号和双引号以及小于号、大于号和 & 符号——都已正确转义。输出应在文本区域中,并附带一个“复制到剪贴板”按钮,该按钮在您单击后 1.5 秒内将文本更改为“已复制!”。使其适合移动设备

Claude 记录

text-wrap-balance-nav #

Terence Eden 的启发,我决定对 text-wrap: balance CSS 属性进行快速实验。我让 Claude 为我构建了一个带有滑块和复选框的示例导航栏。我在这里写了关于它的内容

图像 43:动画演示。一个包含 13 个项目的导航菜单 - 诸如主页、关于、服务和产品之类的项目。这些项目在四行上换行,每行 4 个、4 个、4 个,然后是 1 个项目。选择启用 text-wrap: balances 复选框会将此更改为 3、4、3、3 - 滑块还可以更改可见项目的数量,以查看其效果

https://tools.simonwillison.net/text-wrap-balance-nav

ARES 语音字母转换器 #

我作为 半月湾南瓜跑 的业余无线电通信操作员做志愿者,并且担心我会弄乱使用语音字母——所以我让 Claude 构建了这个工具:

图像 44:ARES 语音字母转换器。我输入了文本“Cleo is a lobster”。单击“转换”按钮后,我得到输出“Charlie Lima Echo Oscar (Space) India Sierra (Space) Alpha (Space) Lima Oscar Sierra Tango Echo Romeo”

https://claude.site/artifacts/aaadab20-968a-4291-8ce9-6435f6d53f4c

Claude 记录在这里。有趣的是,它首先用 Python 构建了它,然后在我提醒它我想要“一个交互式 Web 应用程序”后切换到 JavaScript。

这太有用了,而且非常有趣! #

正如你所看到的,我是这个功能的 重度 用户——我刚刚描述了在一个星期内产生的 14 个项目。我从 6 月 20 日(与出色的 Claude 3.5 Sonnet 一起发布,它仍然是我的日常 LLM)开始使用 artifacts,现在我每天都会启动一个新的交互式 artifact 几次。

我正在使用 artifacts 进行闲暇的好奇心、快速原型设计、库研究和启动解决当前问题的工具。

这些工具中的大多数都花了不到五分钟的时间来构建。一些更复杂的工具花费的时间更长,但即使是 OpenAI Audio 工具,第一个版本也花费了 上午 11:55 到下午 12:07,第二个版本花费了 下午 12:18 到下午 12:27——总共 21 分钟。

请查看我的 claude-artifacts 标签,以获取更多示例,包括 SVG 到 JPG/PNGMarkdown 和 Math Live Renderer图像调整大小和质量比较

我还有一个链接到我的 tools.simonwillison.net 站点的每个帖子的仪表板,以及底层的 simonw/tools GitHub 存储库,其中包含更多未列出的工具,其中大多数工具在其提交历史记录中链接到它们的 Claude 对话记录。

我开始对它们的局限性感到有点沮丧——特别是 artifacts 无法发出 API 调用、提交表单甚至链接到其他页面的方式。我可能会最终根据我迄今为止学到的关于它们的所有知识,启动我自己的小型 artifacts 替代方案。

如果你 没有 使用 artifacts,我希望我已经让你了解了为什么它们是我目前最喜欢的基于 LLM 的工具之一。

原文

用Cursor基于Next.js开发的Windwos风格时钟,部署在vercel上,点击查看.

cursor的composer编辑功能,体验很好,基本上一路accept就行,有报错还可以将terminal中的报错添加到chat栏,让cursor解决bug
启动项目的preview后查看效果,不满意随时提出要求,cursor会根据要求修改代码,accept后项目自动重启看效果

v0.dev

v0.dev的使用体验也相当好,可以直接在浏览器中编辑代码,初始化项目后构建后还能实时预览.
v0.dev

预览

preview

阅读全文 »

主要需要修改的是 link.js 文件。

涉及到的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
.
├── _config.yml
└── source
├── _data
│ └── body-end.swig
│ └── next.yml
├── css
│ └── link.css
├── js
│ └── link.js
└── links
├── index.md
└── linklist.json

步骤

建立页面

运行

1
hexo new page links

这会创建 source/links/index.md 文件。

文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
title: 友情链接
type: links
toc:
enable: false
---

<link rel="stylesheet" href="/css/link.css">

{% note info %}

排名不分先后,每次刷新会随机排列。

{% endnote %}

<div>
<div class="links-content">
<div class="link-navigation" id="links1"></div>
</div>
</div>

------

<div style="text-align:center;">
<span class="with-love" id="animate1"><i class="fa fa-heart"></i></span>
留言互换友链 o ((>ω<)) o
<span class="with-love" id="animate2"><i class="fa fa-heart"></i></span>
</div>

------

{% note success %}

## 友链格式

- 名称:编程笔记
- 网址:[https://programnotes.cn](https://programnotes.cn)
- 头像:[https://programnotes.cn/Image/logo.png](https://programnotes.cn/Image/logo.png)

{% endnote %}

注意在 Front-Matter 里一定要有 type: links。这里我还关闭了侧边栏的目录。

存储数据

所有友链的数据都放在 source/links/linklist.json 里,其格式为:

1
2
3
4
5
6
7
[
{
"name": "",
"site": "",
"avatar": ""
}
]

其中 name 为网站的名字,site 为网址,avatar 为头像。

头像可以使用 Gravatar,这样可以保证始终可用的。

渲染页面

在 source/_data/body-end.swig 中,引入 link.js:

1
2
3
{% if page.type === 'links' %}
{{- next_js('link.js', true) }}
{% endif %}

其中 source/js/link.js 的内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 随机排列
function shuffle(arr) {
let i = arr.length;
while (i) {
let j = Math.floor(Math.random() * i--);
[arr[j], arr[i]] = [arr[i], arr[j]];
}
}

// 渲染数据
function renderlink(data) {
var name, avatar, site, li = "";
shuffle(data);
for (var i = 0; i < data.length; i++) {
name = data[i].name;
avatar = data[i].avatar;
site = data[i].site;
li += '<div class="card">' + '<a href="' + site + '" target="_blank">' + '<div class="thumb" style="background: url( ' + avatar + ');">' + '</div>' + '</a>' + '<div class="card-header">' + '<div><a href="' + site + '" target="_blank">' + name + '</a></div>' + '</div>' + '</div>';
}
document.querySelector(".link-navigation").innerHTML = li;
}

// 获取 json 文件
fetch('/links/linklist.json')
.then(response => response.json())
.then(res => renderlink(res));

创建样式

创建 source/css/link.css,其内容为(这个文件完全来自于网络):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
.links-content {
margin-top: 1rem
}

.link-navigation::after {
content: " ";
display: block;
clear: both
}

.card {
width: 130px;
font-size: 1rem;
padding: 0;
border-radius: 4px;
transition-duration: .15s;
margin-bottom: 1rem;
display: block;
float: left;
box-shadow: 0 2px 6px 0 rgba(0,0,0,.12);
background: #f5f5f5
}

.card {
margin-left: 16px
}

@media(max-width:567px) {
.card {
margin-left: 16px;
width: calc((100% - 16px)/2)
}

.card:nth-child(2n+1) {
margin-left: 0
}

.card:not(:nth-child(2n+1)) {
margin-left: 16px
}
}

@media(min-width:567px) {
.card {
margin-left: 16px;
width: calc((100% - 32px)/3)
}

.card:nth-child(3n+1) {
margin-left: 0
}

.card:not(:nth-child(3n+1)) {
margin-left: 16px
}
}

@media(min-width:768px) {
.card {
margin-left: 16px;
width: calc((100% - 48px)/4)
}

.card:nth-child(4n+1) {
margin-left: 0
}

.card:not(:nth-child(4n+1)) {
margin-left: 16px
}
}

@media(min-width:1200px) {
.card {
margin-left: 16px;
width: calc((100% - 64px)/5)
}

.card:nth-child(5n+1) {
margin-left: 0
}

.card:not(:nth-child(5n+1)) {
margin-left: 16px
}
}

.card:hover {
transform: scale(1.1);
box-shadow: 0 2px 6px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)
}

.card .thumb {
width: 100%;
height: 0;
padding-bottom: 100%;
background-size: 100% 100%!important
}

.posts-expand .post-body img {
margin: 0;
padding: 0;
border: 0
}

.card .card-header {
display: block;
text-align: center;
padding: 1rem .25rem;
font-weight: 500;
color: #333;
white-space: normal
}

.card .card-header a {
font-style: normal;
color: #2bbc8a;
font-weight: 700;
text-decoration: none;
border: 0
}

.card .card-header a:hover {
color: #d480aa;
text-decoration: none;
border: 0
}

添加侧栏

在主题的配置文件(目前默认为 _config.next.yml)中,添加

1
2
3
4
5
6
7
menu:
home: / || fa fa-home
tags: /tags/ || fa fa-tags
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
# 要添加的
links: /links/ || fa fa-link

主题配置

source/_data/next.yml

1
2
3
4
5
6
7
8
9
10
11
12
custom_file_path:
head: source/_data/head.swig
#header: source/_data/header.swig
#sidebar: source/_data/sidebar.swig
#postMeta: source/_data/post-meta.swig
#postBodyEnd: source/_data/post-body-end.swig
#footer: source/_data/footer.swig
# 将下面这行解除注释,启用body-end.swig
bodyEnd: source/_data/body-end.swig
#variable: source/_data/variables.styl
#mixin: source/_data/mixins.styl
#style: source/_data/styles.styl

效果

参考:

密码/登录地址

查看登录地址

1
2
3
4
5
6
sudo 1panel user-info

# 面板地址: http://127.0.0.1:22323/ee9ae6xbd0
# 面板用户: admin
# 面板密码: ********
# 提示:修改密码可执行命令:1pctl update password

修改密码

1
1pctl update password

Docker

Docker Hub 无法访问:应用安装失败,镜像拉取超时的解决方案

Docker 添加加速地址
加速地址1:https://dockerproxy.1panel.live

加速地址2:https://docker.1panel.live

加速地址3:https://docker.1panelproxy.com (仅限大陆机器,只能拉取应用商店应用)

加速地址4:https://proxy.1panel.live

注意:

  • 此加速地址为临时地址,可能会出现不可用的情况
  • 仅限境内机器使用
  • 请勿使用自动化程序或者脚本一直请求 请求次数过多的IP会被拉黑
  • 由于网络不可控,所以可能会出现添加了但是拉取依旧超时的情况,可以尝试使用其他加速

配置

使用命令行工具设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
国内服务器应用安装未成功,大概率是网络问题镜像下载未成功而导致。
关于源的有效性,可以参考以下这个开源项目,进行更改
echo >/etc/docker/daemon.json

cat>/etc/docker/daemon.json <<END

{

"registry-mirrors": [

"https://hub-mirror.c.163.com",

"https://docker.m.daocloud.io",

"https://ghcr.io",

"https://mirror.baidubce.com",

"https://docker.nju.edu.cn"

]

}

END

systemctl restart docker

网络

应用、网站无法访问

  • 查看日志 包括 容器日志,网站日志
  • 检查网络 比如 防火墙 和 安全组
  • 检查网站域名解析 和 反代相关设置

安装的应用无法通过 IP:端口访问

查看已安装列表 应用-参数-编辑-高级设置 中的 《端口外部访问》是否勾选,没有的话勾选一下然后点确认
检查云主机安全组是否放开端口
检查应用的容器状态,查看容器日志

应用

应用安装失败

报错 :stat /opt/1panel/apps/redis/redis/docker-compose.yml: no such file or directory
执行 docker-compose version 查看 docker-compose 版本 需要高于 v2.x
查看系统日志 看看是否是应用安装包下载失败
Docker 仅支持 systemd 管理的 如果是 snap 安装的,则不支持

无法访问

新版本特性,创建应用的时候会在映射端口那边添加一个 ${HOST_IP} 变量

  • 不勾选 端口外部访问,会生成一个 127.0.0.1:port 的配置,所以不会开放端口访问;
  • 勾选了 端口外部访问,会生成一个 0.0.0.0:port 的配置,则会开放端口访问。
  • 勾选了 端口外部访问,且还开启了左边功能列表的 ufw/firewalld 防火墙,还需要手动修改防火墙设置放行相关端口。

配置

升级

升级失败

升级过程中出现错误,导致服务不可用

解决办法:
1pctl restore // 尝试回滚。

本站提供国内访问ChatGPT,汇总了多个ChatGPT镜像网站,包括GPT4、AI写作、AI PPT、AI绘图等功能。

什么是镜像网站?

镜像站(Mirror Site)是指通过复制原始网站内容和结构,创建的备用网站。其主要目的是在原始网站无法访问时,提供相同或类似的服务和信息。

国内ChatGPT中文版

AI导航

AI导航站,收集了各种AI神器:视频,音频制作,聊天,写作工具等

AI导航

更多

国内自研大模型汇总

用下面的问题测试大模型的智力

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:
 步骤:
 首先,自己解决问题。
 然后将你的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。
 在自己完成问题之前,请勿决定学生的解决方案是否正确。
 使用以下格式:
 问题:问题文本
 学生的解决方案:学生的解决方案文本
 实际解决方案和步骤:实际解决方案和步骤文本
 学生的解决方案和实际解决方案是否相同:是或否
 学生的成绩:正确或不正确
 问题:
     我正在建造一个太阳能发电站,需要帮助计算财务。
     - 土地费用为每平方英尺100美元
     - 购买太阳能电池板每平方英尺250美元
     - 每年需要支付固定的100000美元,并额外支付每平方英尺10美元
     作为平方英尺数的函数,首年运营的总费用是多少?
 学生的解决方案:
     设x为发电站的大小,单位为平方英尺。
     费用:
     1. 土地费用:100*x
     2. 太阳能电池板费用:250*x
     3. 维护费用:100000+100*x
     总费用:100*x+250*x+100000+100*x=450*x+100000
 实际解决方案和步骤:

google/gemma-2-9b-it 的回答:

太阳能发电站财务计算

问题: 我正在建造一个太阳能发电站,需要帮助计算财务。

土地费用为每平方英尺100美元
购买太阳能电池板每平方英尺250美元
每年需要支付固定的100000美元,并额外支付每平方英尺10美元 作为平方英尺数的函数,首年运营的总费用是多少?
学生的解决方案: 设x为发电站的大小,单位为平方英尺。 费用:

土地费用:100x
太阳能电池板费用:250
x
维护费用:100000+100x 总费用:100x+250x+100000+100x=450*x+100000
实际解决方案和步骤:

计算土地费用: 每平方英尺100美元,总面积为x平方英尺,则土地费用为 100x 美元。
计算太阳能电池板费用: 每平方英尺250美元,总面积为x平方英尺,则电池板费用为 250x 美元。
计算维护费用: 固定费用为100000美元,额外费用为每平方英尺10美元,总面积为x平方英尺,则额外维护费用为 10x 美元。总维护费用为 100000 + 10x 美元。
计算总费用: 将土地费用、电池板费用和维护费用相加,得到总费用:100x + 250x + 100000 + 10x = 360x + 100000 美元。

学生的解决方案和实际解决方案是否相同:否

学生的成绩: 不正确

OpenAI盛大的假日活动是否名副其实?

在过去的12个工作日里,OpenAI每个工作日都会发布一款新产品或演示一项AI功能,并将此次公关活动称为“OpenAI的12天”。我们报道了一些重大公告,但我们认为回顾每一项公告可能对那些希望全面了解每天进展的人有所帮助。

这些公告的时间安排和快速节奏——特别是考虑到谷歌的竞争性发布——说明了人工智能开发领域竞争的加剧。通常可能需要几个月才能完成的事情被压缩到短短12个工作日内,这让用户和开发人员在进入2025年之际有很多东西需要处理。

有趣的是,我们问了ChatGPT它对这一系列公告的看法,它对该事件是否真的发生持怀疑态度。“在12天内快速发布公告似乎是可信的,”ChatGPT-4o写道,“但如果没有更清楚地解释OpenAI如何管理如此密集的发布计划,尤其是在考虑到这些功能的复杂性的情况下,可能会让可信度受到影响。”

但它确实发生了,以下是每天发生的事情的编年史。

第一天:12月5日,星期四

在OpenAI的第一天,该公司发布了完整的o1模型,供全球ChatGPT Plus和Team订阅者使用。该公司报告称,该模型的运行速度比其预览版更快,并且在复杂的现实问题上减少了34%的重大错误。

o1模型为图像分析带来了新功能,允许用户上传并接收视觉内容的详细解释。OpenAI表示,计划扩展o1的功能,包括在ChatGPT中添加网页浏览和文件上传功能,API访问也即将推出。API版本将支持视觉任务、函数调用和系统集成的结构化输出。

OpenAI还推出了ChatGPT Pro,这是一个200美元的订阅层级,提供对o1、GPT-4o和高级语音功能的“无限”访问。Pro订阅者将获得独家版本的o1,该版本使用额外的计算能力来解决复杂问题。与此同时,OpenAI宣布了一项拨款计划,将为知名机构的10位医学研究人员提供ChatGPT Pro访问权限,并计划将拨款扩展到其他领域。

第二天:12月6日,星期五

第二天没有那么令人兴奋。OpenAI推出了强化微调(RFT),这是一种模型定制方法,允许开发人员修改“o系列”模型以执行特定任务。据报道,该技术超越了传统的监督微调,通过使用强化学习来帮助模型通过重复迭代提高其推理能力。换句话说,OpenAI创建了一种训练AI模型的新方法,使它们可以从实践和反馈中学习。

OpenAI表示,伯克利实验室计算研究员贾斯汀·里斯测试了RFT用于研究罕见遗传疾病,而汤森路透为其CoCounsel AI法律助理创建了一个专门的o1-mini模型。该技术要求开发人员提供数据集和评估标准,并由OpenAI的平台管理强化学习过程。

OpenAI计划在2024年初向公众发布RFT,但目前通过其强化微调研究计划为研究人员、大学和公司提供有限的访问权限。

第三天:12月9日,星期一

在第三天,OpenAI发布了Sora,其文本到视频模型,现在作为独立产品通过sora.com供ChatGPT Plus和Pro订阅者使用。该公司表示,新版本的运行速度比2024年2月展示的研究预览版更快,当时OpenAI首次演示了该模型从文本描述创建视频的能力。

此次发布将Sora从研究预览版转变为生产服务,标志着OpenAI正式进入视频合成市场。该公司发布了一篇博客文章,详细介绍了该服务的订阅层级和部署策略。

第四天:12月10日,星期二

在第四天,OpenAI将其Canvas功能移出了测试版,供所有ChatGPT用户使用,包括免费层级的用户。Canvas为超出标准聊天格式的扩展写作和编码项目提供了一个专用界面,现在可以直接集成到GPT-4o模型中。

更新后的Canvas允许用户在界面内运行Python代码,并包含一个文本粘贴功能,用于导入现有内容。OpenAI增加了与自定义GPT的兼容性,以及一个“显示更改”功能,用于跟踪对写作和代码的修改。该公司表示,Canvas现在可以在chatgpt.com上供网络用户使用,也可以通过Windows桌面应用程序使用,并计划在未来的更新中添加更多功能。

第五天:12月11日,星期三

在第五天,OpenAI宣布ChatGPT将与Apple Intelligence集成,适用于iOS、iPadOS和macOS设备。该集成适用于iPhone 16系列手机、iPhone 15 Pro型号、配备A17 Pro或M1芯片及更高版本的iPad,以及配备M1处理器或更新版本的Mac,它们都运行各自的最新操作系统。

该集成允许用户直接通过Apple的系统级智能功能访问ChatGPT的功能(就像它们一样),包括图像和文档分析。该功能适用于所有ChatGPT订阅层级,并在Apple的隐私框架内运行。不可靠的消息摘要不受这些添加内容的影响。

企业和团队帐户用户需要管理员批准才能访问该集成。

第六天:12月12日,星期四

在第六天,OpenAI为ChatGPT的语音功能添加了两项功能:为ChatGPT Plus和Pro订阅者提供屏幕共享支持的“视频通话”功能,以及季节性的圣诞老人语音预设。

新的可视化高级语音模式功能通过移动应用程序工作,允许用户在语音对话期间向AI模型展示周围环境或共享屏幕。虽然此次推出覆盖了大多数国家,但包括欧盟成员国、瑞士、冰岛、挪威和列支敦士登在内的几个欧洲国家的用户将在稍后获得访问权限。企业和教育用户预计将在1月份获得这些功能。

圣诞老人语音选项以雪花图标的形式出现在移动设备、网络浏览器和桌面应用程序的ChatGPT界面中,此模式下的对话不会影响聊天历史记录或记忆。不要指望圣诞老人记住你每次会话想要什么圣诞礼物。

第七天:12月13日,星期五

在第七天,OpenAI推出了Projects,这是ChatGPT中的一项新的组织功能,允许用户将相关的对话和文件分组。该功能与该公司的GPT-4o模型配合使用,并为管理与特定任务或主题相关的资源提供了一个中心位置——有点像Anthropic的“Projects”功能。

ChatGPT Plus、Pro和Team订阅者目前可以通过chatgpt.com和Windows桌面应用程序访问Projects,移动设备和macOS上仅提供查看支持。用户可以通过单击侧边栏中的加号图标来创建项目,他们可以在其中添加文件和自定义说明,为未来的对话提供上下文。

OpenAI表示,计划在2024年扩展Projects,支持更多文件类型、通过Google Drive和Microsoft OneDrive进行云存储集成,以及与其他模型(如o1)的兼容性。企业和教育用户将在1月份获得Projects的访问权限。

第八天:12月16日,星期一

在第八天,OpenAI扩展了其ChatGPT中的搜索功能,允许所有具有免费帐户的用户访问,同时据报道还增加了速度改进和移动优化。基本上,你可以像使用网络搜索引擎一样使用ChatGPT,尽管实际上它似乎不像目前的Google搜索那么全面。

更新包括一个新的地图界面,以及与高级语音的集成,允许用户在语音对话期间执行搜索。此搜索功能以前需要付费订阅,现在可以在ChatGPT运行的所有平台上使用。

第九天:12月17日,星期二

在第九天,OpenAI通过其API平台发布了其o1模型,增加了对函数调用、开发人员消息和视觉处理功能的支持。该公司还将GPT-4o音频定价降低了60%,并推出了GPT-4o mini选项,其成本是之前音频费率的十分之一。

OpenAI还简化了其用于实时应用程序的WebRTC集成,并推出了Preference Fine-Tuning,为开发人员提供了自定义模型的新方法。该公司还推出了Go和Java编程语言的软件开发工具包的测试版,扩展了其开发人员工具包。

第十天:12月18日,星期三

在星期三,OpenAI做了一些有趣的事情,并通过一个免费电话号码(1-800-CHATGPT)以及WhatsApp启动了对ChatGPT的语音和消息访问。美国居民可以每月进行15分钟的电话呼叫,而全球用户可以通过WhatsApp以相同的号码向ChatGPT发送消息。

OpenAI表示,此次发布是为了接触那些缺乏稳定高速互联网接入或希望通过熟悉的通信渠道尝试AI的用户,但这也很巧妙。作为证据,OpenAI指出,这些新界面充当实验性接入点,与完整的ChatGPT服务相比,“功能有限”,并且仍然建议现有用户继续使用其常规ChatGPT帐户以获得完整功能。

第十一天:12月19日,星期四

在星期四,OpenAI扩展了ChatGPT的桌面应用程序集成,以包括其他编码环境和生产力软件。此次更新增加了对Jetbrains IDE(如PyCharm和IntelliJ IDEA)、VS Code变体(包括Cursor和VSCodium)以及文本编辑器(如BBEdit和TextMate)的支持。

OpenAI还包括与Apple Notes、Notion和Quip的集成,同时在与桌面应用程序一起工作时增加了高级语音模式兼容性。这些功能需要为每个应用程序手动激活,并且仍然可供付费订阅者使用,包括Plus、Pro、Team、Enterprise和Education用户,其中Enterprise和Education客户需要管理员批准才能启用该功能。

第十二天:12月20日,星期五

在星期五,OpenAI通过预览两个新的模拟推理模型,o3和o3-mini,同时开放安全和安全研究人员在公开发布之前对其进行测试的应用程序,结束了其十二天的公告。早期评估显示,o3在Codeforces编程竞赛中获得了2727的评分,在AIME 2024数学问题中获得了96.7%的评分。

该公司报告称,o3在高级基准测试中创下了性能记录,在EpochAI的Frontier Math评估中解决了25.2%的问题,并且在ARC-AGI测试中得分超过85%,这与人类的结果相当。OpenAI还发布了关于“深思熟虑的对齐”的研究,这是在开发o1时使用的一种技术。该公司尚未宣布任何新的o3模型的确定发布日期,但首席执行官萨姆·奥尔特曼表示,o3-mini可能会在1月下旬发布。

那么我们学到了什么?

OpenAI 12月的活动表明,OpenAI有很多东西需要发布,并且它选择了一个有趣的主题来统一这些公告。正如我们所报道的那样,谷歌也做出了回应。

这些发布中的几个趋势很突出。OpenAI正在大力投资多模态功能。o1模型的发布、Sora从研究预览版到产品的演变以及带视频通话的语音功能的扩展都指向可以无缝处理文本、图像、语音和视频的系统。

该公司还非常关注开发人员工具和定制,因此它可以继续拥有云服务业务,并将其产品集成到其他应用程序中。在API发布、强化微调和扩展的IDE集成之间,OpenAI正在为其开发人员和企业构建生态系统。o3的推出表明,即使在训练LLM基础模型的收益递减的情况下,OpenAI仍在尝试突破技术界限。

OpenAI似乎正在为2025年做好准备,届时生成式人工智能将超越文本聊天机器人和简单的图像生成器,并找到进入我们可能甚至无法预测的新颖应用的途径。我们将不得不拭目以待,看看该公司和开发人员在未来一年会提出什么。

Image 26: Photo of Benj Edwards

Benj Edwards是Ars Technica的高级AI记者,也是该网站2022年成立的专门AI领域的创始人。他也是一位拥有近二十年经验的技术史学家。在业余时间,他创作和录制音乐,收集老式计算机,并享受大自然。他住在北卡罗来纳州的罗利。

119 Comments

  1. Image 27: Listing image for first story in Most Read: The quest to save the world’s largest CRT TV from destruction

原文

上个月,人工智能创始人和投资者告诉TechCrunch,我们现在处于“扩展定律的第二个时代”,他们指出,改进人工智能模型的既定方法是如何呈现出收益递减的趋势。他们提出的一种有希望的新方法可能保持收益,那就是“测试时扩展”,这似乎是OpenAI的o3模型性能背后的原因——但它也有自身的缺点。

人工智能界的大部分人将OpenAI的o3模型的发布视为人工智能扩展进步尚未“触顶”的证明。o3模型在基准测试中表现良好,在名为ARC-AGI的通用能力测试中显著优于所有其他模型,并在一个难度极高的数学测试中获得了25%的分数,而其他人工智能模型在该测试中得分均未超过2%。

当然,在TechCrunch,在我们自己测试o3之前,我们对这一切都持保留态度(到目前为止,很少有人尝试过)。但即使在o3发布之前,人工智能界已经确信发生了重大转变。

OpenAI的o系列模型的共同创造者Noam Brown周五指出,这家初创公司宣布o3取得令人瞩目的进展,距离该公司宣布o1仅仅三个月——对于性能的如此飞跃来说,这是一个相对较短的时间框架。

Brown在推文中说:“我们有充分的理由相信,这种轨迹将继续下去。”

Anthropic的联合创始人Jack Clark在周一的博客文章中表示,o3是人工智能“2025年的进展将比2024年更快”的证据。(请记住,暗示人工智能扩展定律仍在继续下去对Anthropic有利——尤其是其筹集资金的能力,即使Clark是在称赞竞争对手。)

明年,Clark表示,人工智能界将把测试时扩展和传统的预训练扩展方法结合起来,以从人工智能模型中获得更多回报。也许他是在暗示,Anthropic和其他人工智能模型提供商将在2025年发布他们自己的推理模型,就像谷歌上周所做的那样

测试时扩展意味着OpenAI在ChatGPT的推理阶段(即您按下提示后的时间段)使用更多的计算资源。目前尚不清楚幕后究竟发生了什么:OpenAI要么使用更多的计算机芯片来回答用户的问题,要么运行更强大的推理芯片,要么在人工智能产生答案之前运行这些芯片更长的时间——在某些情况下为10到15分钟。我们不知道o3是如何制作的所有细节,但这些基准测试是早期迹象,表明测试时扩展可能有助于提高人工智能模型的性能。

虽然o3可能会让一些人重新相信人工智能扩展定律的进步,但OpenAI的最新模型也使用了前所未有的计算量,这意味着每个答案的价格更高。

“也许这里唯一重要的警告是,要理解O3之所以好得多,其中一个原因是它在推理时运行成本更高——利用测试时计算能力意味着在某些问题上,您可以将计算转化为更好的答案,”Clark在他的博客中写道。“这很有趣,因为它使得运行人工智能系统的成本变得有些不可预测——以前,您只需查看模型和生成给定输出的成本,就可以计算出服务生成模型的成本。”

Clark和其他人指出o3在ARC-AGI基准测试中的表现——这是一项用于评估AGI突破的难度很高的测试——作为其进步的指标。值得注意的是,根据其创建者的说法,通过此测试并不意味着人工智能模型_已经实现_AGI,而这只是衡量迈向模糊目标的一种方式。也就是说,o3模型超越了之前所有进行过该测试的人工智能模型的分数,在其中一次尝试中获得了88%的分数。OpenAI的下一个最佳人工智能模型o1仅得分为32%。

图片 17

图表显示了OpenAI的o系列在ARC-AGI测试中的表现。图片来源:ARC Prize

但是,此图表上的对数x轴可能会让某些人感到担忧。高分版本的o3在每个任务中使用了超过1000美元的计算量。o1模型每个任务使用大约5美元的计算量,而o1-mini仅使用几美分。

ARC-AGI基准测试的创建者François Chollet在博客中写道,与得分仅低12%的高效版本o3相比,OpenAI使用了大约170倍的计算量来生成88%的分数。高分版本的o3使用了超过10,000美元的资源来完成测试,这使得它太昂贵而无法竞争ARC Prize——这是一项人工智能模型击败ARC测试的未被打破的竞赛。

然而,Chollet表示,尽管如此,o3对于人工智能模型来说仍然是一项突破。

“o3是一个能够适应以前从未遇到过的任务的系统,可以说在ARC-AGI领域接近人类水平的性能,”Chollet在博客中说。“当然,这种通用性代价高昂,而且目前还不太经济:您可以支付一个人大约每个任务5美元来解决ARC-AGI任务(我们知道,我们做过),而能源消耗仅为几美分。”

过早地纠结于所有这些的确切定价是不成熟的——我们已经看到人工智能模型的价格在去年暴跌,而且OpenAI尚未宣布o3的实际成本。但是,这些价格表明,即使是稍微突破当今领先人工智能模型设定的性能障碍,也需要多少计算量。

这提出了一些问题。o3实际上是用来做什么的?为了在o4、o5或OpenAI为其下一个推理模型命名的任何其他模型上围绕推理取得更多进展,还需要多少计算量?

o3或其后继者似乎不会像GPT-4o或谷歌搜索那样成为任何人的“日常驱动程序”。这些模型只是使用了太多的计算量来回答你一天中的小问题,例如“克利夫兰布朗队如何才能进入2024年的季后赛?”

相反,具有扩展测试时计算能力的人工智能模型似乎只适用于大方向的提示,例如“克利夫兰布朗队如何在2027年成为超级碗球队?”即使这样,也许只有当您是克利夫兰布朗队的总经理,并且您正在使用这些工具来做出一些重大决策时,才值得付出如此高的计算成本。

沃顿商学院教授Ethan Mollick在推文中指出,至少在开始时,只有财力雄厚的机构才能负担得起o3。

O3对于大多数用途来说太贵了。但是,对于学术界、金融界和许多工业问题的工作,为成功答案支付数百甚至数千美元并非令人望而却步。如果它通常可靠,即使在成本下降之前,o3也将有多种用例

— Ethan Mollick (@emollick) 2024年12月22日

我们已经看到OpenAI发布了200美元的套餐以使用高计算版本的o1,但据报道,这家初创公司已经考虑创建高达2000美元的订阅计划。当您看到o3使用了多少计算量时,您就可以理解为什么OpenAI会考虑这样做。

但是,将o3用于高影响力的工作也有缺点。正如Chollet指出的那样,o3不是AGI,它仍然在某些人类很容易完成的非常简单的任务上失败。

这并不一定令人惊讶,因为大型语言模型仍然存在巨大的幻觉问题,而o3和测试时计算似乎并没有解决这个问题。这就是为什么ChatGPT和Gemini在他们产生的每个答案下面都包含免责声明,要求用户不要表面地相信答案。据推测,AGI(如果最终达到)将不需要这样的免责声明。

解锁测试时扩展的更多收益的一种方法可能是更好的AI推理芯片。不乏初创公司正在解决这个问题,例如Groq或Cerebras,而其他初创公司正在设计更具成本效益的AI芯片,例如MatX。Andreessen Horowitz的普通合伙人Anjney Midha此前告诉TechCrunch,他预计这些初创公司将在测试时扩展中发挥更大的作用

虽然o3是对人工智能模型性能的显著改进,但它也引发了一些关于使用和成本的新问题。也就是说,o3的性能确实为以下说法增加了可信度:测试时计算是科技行业扩展人工智能模型的下一个最佳方法。

原文