返回首页

一周热榜

1作者: mmdhrumil2 天前原帖
在构建副项目时,我常常遇到一个问题:头脑风暴出一个好名字 -> 检查域名可用性(理想情况下是 .com/.ai/.io) -> 发现已经被注册 -> 重复这个过程。这个迭代循环令人沮丧,拖慢了项目的启动速度。 我正在考虑构建一个工具来简化这个过程,并且我想评估一下外界对此类工具的兴趣。 这是其他人也常遇到的痛点吗?你们目前在命名项目和检查域名可用性方面的工作流程是怎样的?这个问题对你们的影响有多大?
1作者: kuberwastaken2 天前原帖
第1天的图片:<a href="https://i.imgur.com/bQ3Oxc5.png" rel="nofollow">https://i.imgur.com/bQ3Oxc5.png</a> <p>在上次尝试将《毁灭战士》放入二维码之后(<a href="https://news.ycombinator.com/item?id=43729683">https://news.ycombinator.com/item?id=43729683</a>),我想继续这个“系列”,将一个真正不错的聊天机器人放入二维码中。</p> <p>当然,这并不像前者那么简单。我可以选择作弊,制作一个基于规则的ELIZA风格的聊天机器人(我之前确实尝试过),但我想做一些真正有用的东西。我对大型语言模型(LLMs)和变换器(Transformers)的基本工作原理知之甚少,因此这也将让我学到很多关于人工智能的知识(另外,当它真正变得有趣时,也会公开和开源)。</p> <p>以下是我们的限制条件:</p> <p>最大的标准二维码(版本40)可以容纳2,953字节(约2.9 KB)。这个容量非常小——一个15分之一秒的Windows音频文件就有11 KB!此外,我们不能直接将HTML/JS放入二维码中,我们需要将其压缩为BASE64(或BigInt),这也占用0.1-0.15 KB,因此我们大约只有2.7 KB的空间,真是让人头疼!</p> <p>这是我在第1天所做的:</p> <p>第一个版本(v0)非常基础——一个简单的模式匹配聊天机器人,带有预定义的响应:</p> ``` const V = "you,I,is,are,do,what,how,why,,...e".split(","); const P = [ [5,2,0,8], // 你喜欢什么 [5,4,0,8], // 你喜欢做什么.... [0,8,15,9] // 你喜欢我认为 ]; ``` <p>(v1)增加了更好的CSS(仍然是浅色主题)、主题记忆、情感分析和过渡模式,但这使得文件大小略微超过4 KB。</p> <p>(v2)是v1的版本,经过更多压缩,虽然丢失了一些功能,但缩小到了2.8 KB。</p> <p>(v3)增加了复古UI,因为这似乎很合适,ASCII艺术和简化的文本格式化带有换行,但它仍然非常简单。(v4)和(v5)进行了更多的删减,勉强让它低于限制(2.85 KB)。</p> <p>因此,我改变了(v6)的思路,采用了一个字典树数据结构来查找响应:</p> ``` const t={h:{e:{l:{l:{o:["Hello! How can I help you today?","Hi! What's on your mind?"]}}}}}; ``` <p>这使得在我们的限制条件下可以进行前缀匹配,并且不再需要模式匹配。</p> <p>(v7)试图优化它,但最终仍然在3.3 KB左右,虽然比之前好,但仍然不够“智能”。</p> <p>对于(v8),我花了很多时间,转向了一个非常基础的两层神经网络实现:</p> ``` const network = { embeddings: new Float32Array(c.vSize * c.eDim), hidden: new Float32Array(c.eDim * c.hSize), output: new Float32Array(c.hSize * c.oSize), hiddenBias: new Float32Array(c.hSize), outputBias: new Float32Array(c.oSize) }; ``` <p>这给我们提供了一个582个字符的神经网络,经过8位量化,但正如你所预料的那样,这个体积巨大,约11 KB。</p> <p>(v9)和(v10)基本上是进一步压缩,缩小到约3.2 KB,不算差!</p> <p>我今天最后一个工作的版本是(v10.5)。我使用了基于词的处理,而不是基于字符的处理,采用了4D向量、上下文感知的模板响应、更好的状态跟踪和8个输出维度。还添加了重复惩罚(目前有点问题),但实际上效果还不错……5.3 KB的效果。</p> <p>对于第2天,我在考虑:</p> 1. 实现更好的上下文处理 2. 进一步优化神经网络架构(也许是一个小型变换器?) 3. 也许找到进一步压缩的方法?</p> <p>资源:</p> <a href="https://www.youtube.com/watch?v=aircAruvnKk" rel="nofollow">https://www.youtube.com/watch?v=aircAruvnKk</a> <a href="https://www.youtube.com/watch?v=zhxNI7V2IxM&t=275s" rel="nofollow">https://www.youtube.com/watch?v=zhxNI7V2IxM&t=275s</a> <a href="https://github.com/rasbt/LLMs-from-scratch">https://github.com/rasbt/LLMs-from-scratch</a> <a href="https://github.com/lionelmessi6410/Neural-Networks-from-Scratch">https://github.com/lionelmessi6410/Neural-Networks-from-Scratch</a>
1作者: Adir2 天前原帖
你好, 我想要一个简单的方法,将我的 Fastify 服务器 API 通过模型上下文协议(MCP)暴露给 AI 助手,而不需要自定义的包装器等,但找不到现成的自动化解决方案。 于是我构建了 `@mcp-it/fastify`——一个 Fastify 插件,它可以自动发现 API 路由并将其作为 MCP 工具暴露出来,使得像 Cursor、Claude Desktop 等客户端可以调用。 它支持: * 自动路由发现。 * SSE 和可流式传输的 HTTP 传输。 * 每个路由的配置(例如,隐藏内部路由、自定义工具名称)。 该项目是开源的,可以在 [https://github.com/AdirAmsalem/mcp-it](https://github.com/AdirAmsalem/mcp-it) 上找到。 我很想听听你的反馈!这有用吗?你希望看到支持其他哪些框架(NestJS、Express 等)? 谢谢!
1作者: melmahdi2 天前原帖
我开发了一个名为 GithubPin 的 Chrome 扩展,它可以让你将 GitHub 项目(如仓库、问题、拉取请求和项目)固定,以便后续轻松访问。 该扩展在 GitHub 页面上直接添加了一个小的固定按钮,并存储你的固定项。你可以通过一个干净的、类似 GitHub 的扩展弹出窗口或你的仪表板查看和管理所有内容。 主要功能: - 直接从 GitHub 界面固定/取消固定 - 按类型(仓库、问题、拉取请求、项目)组织固定项 - 查看元数据,如标签和状态 - 无需登录或注册账户 我出于个人需求开发了这个扩展,并在设计上保持了简约。非常希望能收到其他开发者的反馈、想法和建议。 Chrome 网上应用店链接: [https://chromewebstore.google.com/detail/githubpin/hfedkfpmcmchjllbkhcaklaecghkmlab](https://chromewebstore.google.com/detail/githubpin/hfedkfpmcmchjllbkhcaklaecghkmlab)