返回首页
最新
我有个愚蠢的想法:如果2003年有人能在自己的机器上运行一个本地的语言模型会怎样?想象一下,Windows XP桌面,背景是起伏的山丘,也许右下角还有Winamp——你可以和一个本地的AI聊天。
我看到Reddit上有一些尝试,于是我也试了一下。
我从macOS交叉编译了llama.cpp,目标是Windows XP 64位。主要的难点有:将cpp-httplib降级到v0.15.3(新版本明确阻止在Win8之前的系统上运行),用XP兼容的线程原语替换SRWLOCK/CONDITION_VARIABLE,以及常见的DLL地狱。
在适合那个时代的硬件上,Qwen 2.5-0.5B的运行速度大约是每秒2到8个token。虽然不快,但确实能用。
视频演示和构建说明在文档中。Claude在构建系统的调试上提供了大部分帮助,而我只是贡献了一些值得怀疑的生活选择。
嗨,HN,
我创建了AIDictation.com,这是一个用Swift编写的语音转文本应用。它将音频发送到我自己的后台,经过基于Whisper的处理流程后,返回一个转录文本,您可以直接将其发送到像ChatGPT或Claude这样的AI聊天工具中。
我已经构建全栈应用大约20年了,但这是我第一个Swift应用。我在从零开始到拥有一个可工作的应用和后台的过程中,依赖了大量的AI编码工具,仅用了几周时间。
**它的功能**
录制音频并将其发送到我的服务器。后台使用Whisper V3 Turbo + OpenAI GPT OSS 120B运行处理流程。
我故意选择了云处理流程,而不是在设备上运行模型,这样我可以:
- 在后台并行处理工作并调整处理流程。
- 混合使用不同的提供商和模型。
- 在不发布新版本应用的情况下改善延迟。
转录完成后,有一个“分享至AI聊天”的流程,您可以一键将其发送到ChatGPT、Claude等。
**上下文规则**
在Whisper Flow中,我错过了可配置的上下文规则(类似于超级Whisper模式)。AIDictation允许您根据不同的场景定义转录的行为。
例如:
- 会议:保留发言人姓名和时间戳。
- 编码:保留技术术语和代码格式。
- 日志记录:更加宽容,添加标点,使文本更易读。
- 您可以配置不同的预设并在它们之间切换。
**为何选择云而非设备端**
许多应用程序专注于本地运行模型。我选择了相反的权衡:
- 提供商灵活性:目前我使用Groq API,因为在我的测试中,它的端到端延迟(700-800毫秒)最好,但后台是为更换提供商和模型而构建的。
- 这确实意味着音频会离开设备,因此我尽量明确说明数据处理方式。
无需注册。您可以在不创建账户或提供电子邮件的情况下,每月免费获得约2000个单词的使用额度。
**技术栈**
客户端:Swift(这是我发布的第一个真正的Swift/iOS应用)。
后台:在Vercel上使用NodeJS。
模型:Whisper V3 Turbo + OpenAI GPT OSS 120B。
提供商:目前使用Groq API,主要是出于延迟考虑。
在过去的几周里,我每天都在使用AIDictation,目前为止我对此感到满意,但我非常希望能从HN获得坦诚的反馈——无论是关于产品还是实现方面的。
PDF Quick – 免费的PDF工具,100% 客户端处理
我已经发布了 MasonEffect 的一个小性能更新,这是我的轻量级粒子变形文本引擎。此次更新的重点是减少 Canvas 的读取开销,并提高不同设备上的帧稳定性。内部循环的清理和更好的缓存机制使得变形动画更加一致,尤其是在较高粒子数量的情况下。
同时,提供了一个简单的性能日志选项,供希望验证帧时间或检查更新成本的用户使用。
演示链接: https://masoneffect.com
npm 链接: https://www.npmjs.com/package/masoneffect
GitHub 链接: https://github.com/fe-hyunsu/masoneffect (非常感谢您的支持!)
欢迎反馈或提供进一步的优化建议。