V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 8 页 / 共 170 页
回复总数  3398
1 ... 4  5  6  7  8  9  10  11  12  13 ... 170  
所谓“女国音”,据说最早发现于北京女中学生,就是尖音现象,会把 jqx 发成 zcs ,例如 siiào sǐ rén le (笑死人了),其中 zcs 后面接 ii 表示 zcs 和 i 相拼,而不是 zi ci si 整体认读音节。

尖音现象和区分尖团的区别在于前者不区分尖团音,而是随机把团音发成尖音。

例如把“清华”“箭”读成 Ciīnghuá、ziiàn 可以说是区分尖团,但是把“剑”读成 ziiàn 则是尖音现象,因为“剑”的发音只有 jiàn 。
161 天前
回复了 LitterGopher 创建的主题 问与答 还款和转帐的区别是什么?
>难道还款会有限偿还信用卡提前消费的金额?

所有来自客户本人的钱进入信用卡都是还款,效果是减少本期的剩余最低还款额(按时减到 0 则不收取滞纳金)、剩余免息还款额(按时减到 0 则不收取利息,这个数最开始通常是本期账单的总欠款)。

@LitterGopher #2 信用卡还款一般是先抵消本期账单,也就是“上个月”消费产生的欠款。具体顺序可参考你的信用卡账户合约。

还款还到银行欠你钱的状态,额度可能增加也可能不增加,取决于银行的政策。
166 天前
回复了 Tiaa 创建的主题 数学 证明题!要过程(有人会吗)
@Tiaa #5 但你依然没有解释 K 和 k 有什么关系。数学符号的大小写不可以互换,意思不同。另外 logkN 的含义也不明确,有人理解为 log_k N ,有人理解为 log kN ,后一种情况你也没有说 log 的底数(数学文本中会默认是自然对数)——虽然底数对这个结论没有影响,但是既然你在练习定义,最好把每一步都做得比较明确。

作为作业题,你可以先从你会的开始,比如背诵一遍 o 的定义,然后你就会发现要做这个证明,只需要实现它的定义。试试看?
166 天前
回复了 Tiaa 创建的主题 数学 证明题!要过程(有人会吗)
@zmxnv123 #1 ChatGPT 做证明题经常生成胡言乱语,可以作为很好纠错练习生成器。

@vituralfuture #2 o 和 O 是两个概念。

最后回楼主:K 和 k 什么关系啊?另外作业题请自己做。
@jacksonj297 #15 我知道,仔细阅读一下 #10 的话会发现我设想的是“Apple 有得赔”,不是客户,如果真的出现大规模事故银行不可能自己当冤大头。当然从 @xeathen #13 看感觉情况还好。

@txydhr #16 法规和合约只说盗刷 $50/$0 责任,没有规定 Apple Pay 免除这款。
太离谱了!我比较感兴趣 Apple Pay 是否会受到这个 bug 的影响而自动授权(要是有的话那 Apple 可有得赔了)。

题外话:我上次遇到锁定类 bug 是 Windows 10 Mobile 决定在屏幕点亮之后(而不是屏幕熄灭之时)锁定手机,而那个系统性能太差,容易出现点亮屏幕后锁屏程序启动要很久,以至于可以不用解锁而有意义地操作手机。
@dnfQzjPBXtWmML #38 不是很确定你的数据来自什么环境,同款和类似的对话我这边是几秒钟。我比较好奇你认为每个数值分别应该是多少。

此外,你似乎没有理解我的意思,我是说 OpenAI 的 API 到底是类似第一种还是第二种实现(只要一次累积的 tokens 数量没有太大),最终网页上显示的效果没有区别。

考虑 2000 tokens 且每 token 有 4 个字符的情况,若每次传输到目前为止的总文本,最终会传送至少 7.6 MB ;若每次只传输增量,这一数值可以降低到 7.8 KB 。我只能说希望现在的软件工程师不要把性能进步都吃掉,恢复一点上个世纪的人的美好品质。
@dnfQzjPBXtWmML #30 这很奇怪吗?如果服务器快速产生事件,延迟很小但带宽也很小,那么客户端每次网络 IO 只能看到一部份事件;如果服务器慢速产生事件,延迟很大且带宽很大,那么客户端第一次网络 IO 很可能会看到累积的好多事件。每次 IO 之后操作了 DOM ,并且下次进入 IO 等待的时候浏览器会渲染,因此会看到动画效果。
@dnfQzjPBXtWmML #14 Good point. 我看了一下,并且调试了一下,如果在等待数据回传的时候下断点,等一会儿再让程序继续,则动画会直接跳到最终状态。因此我之前说“4 增加动画”是错误的,此外我查了文档

https://github.com/openai/openai-cookbook/blob/main/examples/How_to_stream_completions.ipynb

说明使用 stream 的时候每个 event 只传送一个 token ,但继续了解 Streams API

https://developer.mozilla.org/en-US/docs/Web/API/Streams_API

之后我意识到 event 的边界是 API-supplier-defined ,即应用层概念。于是我们可以问:

> OpenAI 的 API 实现里,是每次得到新的 token 就立刻追加一个 event ,还是数个 tokens 一起组成数个 events 并发送?

也就是代码是类似

while (HasNextToken())
{
Respond(GetNextToken());
}

还是类似

while (HasNextToken())
{
for (int i = 0; i <10 && HasNextToken(); ++i)
{
tokens[i] = GetNextToken();
}
Respond(tokens);
}

第一种情况,我认为 API 是在一个 token 一个 token 地返回数据,虽然传输层可以打包;第二种情况,我认为 API 一次传输了数个 tokens ,虽然传输层可以分成多个 packets 发送。

但或许这个问题并不重要,token 生成、网络传输的延迟、客户端异步读取收到的数据,这些结合在一起自动导致了客户端动画。

另外我对 message.content.parts[0] 每次都是到目前为止完整的文本而不是只发送变化的文本感到震惊,毕竟这会导致通信复杂度上升到 Theta(n^2)。
@airyland #7 我理解 OP 所问的是为什么网页上回答是几个词几个词往外蹦。

1. 模型是一个 token 一个 token 输出的
2. 用户在网页看到的是几个词几个词输出的
3. 网页调用的 API 是一个词一个词返回数据到客户端的
4. 网页调用 API 后增加动画让回答一个词一个词显示

1 和 2 都成立,但 1 不是 2 的原因,4 才是 2 的原因,并且 3 不成立。这样说清楚了吗?

关于 3 不成立,可以参考 https://stackoverflow.com/questions/75826303/is-there-any-way-to-stream-response-word-by-word-of-chatgpt-api-directly-in-reac 这个 StackOverflow 问题的存在就说明 OpenAI 的 API 并不是一个词一个词传送的。
@noe132 #2
@airyland #3
@jimages #4
诸位似乎有点小看电脑的运行速度或者小看上下文切换和网络传输的延迟了。模型确实是一个一个预测的,但用户界面上几个字/词几个字/词显示回答纯粹是表演,API 里即使用 stream=True 也是一大段儿一大段儿收到回复的,否则反复多轮传输很不划算。
168 天前
回复了 jeesk 创建的主题 程序员 最近几年的文件安全问题越发严重。
@geelaw #3 更正一下,Apple 扫描的是儿童性虐待(色情)内容,是我之前忘记 CSAM 的 S = sexual 了。
168 天前
回复了 jeesk 创建的主题 程序员 最近几年的文件安全问题越发严重。
sexy 的意思是性感,不是色情,误用会导致意思表达严重偏差。Apple 尝试扫描的是虐童( child abuse ),不仅仅是色情( pornography )。

Google Drive 的事件是共享导致的,似乎不共享就不会扫描,而且后果并不是删除而是禁止共享,并且这也是协议中明确表达的了。不要用不实信息作为动机和论据,不稳固。
要考虑算法是否安全,第一步是理解什么叫做“安全”,对于用户 ID 这种对象,我不了解是否有标准的安全定义,所以无法谈论安全性。
@ysc3839 #15 我以为之前已经算是提到了这个区别了。cmd 有自己的转义,但 cmd 当然不负责外部命令如何理解命令行。MSVC CRT 解析 argv 不是 CommandLineToArgvW 我倒是不知道,另外我刚发现 CommandLineToArgvW 读取空格开头的字符串时会把第一个 argv 设置为空串 orz

除了提醒 lpCmdLine 不需要有 argv 的格式,还应该注意即使 lpCmdLine 解析为 argv ,第一个参数也不一定是程序的名字或者路径。
另外 cmd 本身还有自己的内部命令和转义,比如 ^、管道、重定向,除非你的目的就是完全按照 cmd 执行命令,否则用 cmd /c 是错误的。

如果你想用 cmd /c ,那就不能用 argv 传参,而要用直接可以 ShellExecute/CreateProcess 的 API ,这样才能确保命令行准确传递(而不是经过 argv 互转,这个转换对 command line 来说不“往返”,对 argv 往返)。
@LonnyWong Windows 上标准解析命令行的方式是有文档的,https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-commandlinetoargvw

解析方法如下(我随便瞎写的,不一定准确):
0. 若字符串只有空格,则设置 argc 为 1 ,argv[0] 为空串,否则转到 1
1. 去掉开头的空格,若已经没有字符,则结束,否则设置状态为无 quote ,设置当前实参为空字符串,转到 2
2. 下一个字符
2.1. 如果现在是无 quote 且这个字符是空格,则把当前实参加入 argv 并转到 1
2.2. 如果接下来有 2n 个 \ 之后紧跟一个 ",则在当前实参中追加 n 个 \,反转 quote 状态,并转到 2
2.3. (2n+1) \ + ",追加 n 个 \ 和 1 个 ",转到 2
2.4. 其他字符,则追加当前字符并转到 2
3. 把最后一个实参加入 argv
例子:
exec.Command("C:\\WINDOWS\\System32\|OpenSSH\\ssh.exe", "-V")

go 和 ssh 理应 Windows 上能正确互转 command line 和 argv 。
1 ... 4  5  6  7  8  9  10  11  12  13 ... 170  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2839 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 13:28 · PVG 21:28 · LAX 06:28 · JFK 09:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.