刚才看到一个软件功能介绍,感觉里面的 AI 功能「语义搜索」有点意思。
https://www.bilibili.com/video/BV1Rh411F71c/
我觉得「语义搜索」应该是知识管理的刚需,平常不同的表述一大堆完全记不住,记不住又找不到真的很烦。
我是把思源笔记作为知识库用的,如果能在思源笔记的搜索中引入「语义搜索」的 AI 功能(搜索算法),应该会很有帮助。
这个功能应该能够在本地实现而不用联网
试一下投票功能
刚才看到一个软件功能介绍,感觉里面的 AI 功能「语义搜索」有点意思。
https://www.bilibili.com/video/BV1Rh411F71c/
我觉得「语义搜索」应该是知识管理的刚需,平常不同的表述一大堆完全记不住,记不住又找不到真的很烦。
我是把思源笔记作为知识库用的,如果能在思源笔记的搜索中引入「语义搜索」的 AI 功能(搜索算法),应该会很有帮助。
这个功能应该能够在本地实现而不用联网
试一下投票功能
虽然我也顶了,不过我要先提醒一下哈,就我目前开发的经验来看,这个功能会面临几个问题:
如果嵌入使用本地模型的话,首先即使压缩模型的大小,中文可用的 sota 模型 text-vec-chinese 也至少是百来兆的,使用 cpu 嵌入性能占用不低,使用 gpu 的话暂时我还没有找到比较好整合进思源的库(我目前用的是 transformers.js)
然后如果使用远程的接口的话,要生成嵌入向量就需要把笔记内容发送给服务商的接口(思源小助手的嵌入选项只有本地模型和 open AI 也有这个原因),这里有可能有隐私问题。
再就是向量的最近邻计算,我用 js 来做的话单纯的计算倒不是很慢,几十万个块也能快速出结果,但是这样做的代价是把全部向量加载进了内存,如果不这样做的化还得找一个合适的向量数据库。
最后是向量的存储问题,如果检索粒度到单个内容块的话,尤其是对于习惯使用短文本列表的用户,特征向量文件的大小可能比笔记本身还要大很多,这也是一个问题。
这个功能很好,但是我觉得会非常难做好。不谈技术方面的问题,光逻辑层面就有一个大难题。其实视频开头也点出了这个问题了,即每个页面聚焦一个主题,搜索时以页面为基准。
但是思源是支持 Daily Note 笔记法的,所以在一个日记文档页面中可能会有 N 个不同的主题。而在系统文章中,则是一个页面一个主题了。
于是问题来了,语义搜索,究竟以什么粒度为基准?
如果以文档页面为基准,那会不会搜出来日记的杂讯?比如我搜一个 iPhone 的价格变化,那么有没有可能会搜出来,在一篇日记当中即写了 iPhone 性能提升,也写了新能源汽车价格变化,这样的一篇日记文档?
如果以块为基准,那么怎么界定主题的范围?比如我有一篇探讨历年 iPhone 的价格变化的文章,但是 iPhone 和价格这两个关键词,写在了不同的两个块中,那么能搜到吗?
当然,这只是我这个技术小白的一个疑惑,也许业内已经解决了但是我不知道,说错了还望勿怪
PS:这其实也是所有支持 Daily Note 笔记法的笔记软件难以解决的问题。搜索其实是以主题为基准的,传统笔记一篇文档就是一个主题,所以搜索相对来说好做。DN 流笔记,日常琐碎用块粒度记录,系统文章又用文档粒度记录,一个搜索方式难以兼容两种不同的书写粒度,所以搜索只有一半的功能。
强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。
Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。
腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。
Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。
程序员是从事程序开发、程序维护的专业人员。
资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。
Open Source, Open Mind, Open Sight, Open Future!
RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。
WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。
找到自己的位置,萌新烦恼少。
AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。
DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!
NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。
CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
Github 地址:https://github.com/Hi-Windom/Sillot
有点意思就行了
WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。
互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。
Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于