3 分•作者: gioscarab•23 天前
我热爱研究与开发,你可能因为 PJON(Padded Jittering Operative Network)而听说过我。这是一个我从 2010 年开始开发的网络协议,最近由苏黎世联邦理工学院(ETH Zurich)的 Pius Sieber 的研究成果将其实现了硬件化。 我很高兴与你分享 TERMy,一个构建在 NPC-Forge 框架之上的终端助手。与目前市面上所有其他产品不同,TERMy 不使用嵌入式、机器学习或大型语言模型(LLM)。它可以在 CPU 上运行(甚至可以在树莓派 Zero 上运行),既可以在终端中运行,也可以作为客户端在浏览器标签页中运行,并且响应速度以毫秒计。它是一个愤世嫉俗但知识渊博的 Linux 终端助手,可以将你的自然语言翻译成 shell 命令,而无需依赖任何一个人工神经元。 自七月初以来,在人工智能价格飞涨和代币补贴结束的特殊时期,我有两个月的时间专注于我的个人项目。我很好奇是否能从零开始开发一个能够处理简单自然语言请求的终端助手。我记性不好,习惯性地每月花费不菲的费用向 Copilot 发出“激活虚拟环境”或类似的简单指令。我开始思考,也许我可以做些什么来提高我的工作效率?完成这些任务真的需要数万亿的参数吗? 工作原理 当你输入一个提示时,它会经过一个轻量级的自然语言理解(NLU)管道,该管道用大约 1000 行 Python 代码实现,并包含以下步骤: 1. 去除脏话、感叹词、鼓励、沮丧和感谢的词语(去除噪音) 2. 情感分析 3. 精确匹配(速度非常快) 4. 模板匹配(速度较慢) 5. 概率匹配(速度更慢) 第五步依赖于: 1. IDF(逆文档频率)来识别稀有词。 2. BOW(词袋模型)来处理词序颠倒的情况。 3. IDF 加权的 Levenshtein 距离来安全地处理拼写错误。 权限控制被硬编码到数据集中,并对所有潜在的破坏性命令强制执行,因此它比让一个不可预测的大型语言模型在你的机器上随意运行要安全得多。 - TERMy 运行演示:<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeIp0xePLBg" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeIp0xePLBg</a> - 容错性和拼写容忍度:<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=tQvGDk6fkk0" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=tQvGDk6fkk0</a> - Copilot 集成:<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Wzzouhq2a8A" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Wzzouhq2a8A</a> - 高级功能:<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeIp0xePLBg" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeIp0xePLBg</a> - 源代码:<a href="https:&#x2F;&#x2F;github.com&#x2F;gioblu&#x2F;NPC-Forge" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gioblu&#x2F;NPC-Forge</a>