开源离线AI笔记应用

news/2024/5/20 18:35:48

前言

Reor 是一款人工智能驱动的桌面笔记应用程序,它能自动链接相关笔记、回答笔记中的问题并提供语义搜索。所有内容都存储在本地,支持 WindowsLinuxMacOSReor 站在 OllamaTransformers.jsLanceDB 等巨头的肩膀上,使 LLM 和嵌入模型都能在本地运行。此外,还支持连接 OpenAI 或与 OpenAI 兼容的 API(如 Oobabooga)。

基本原理

  • 你写的每篇笔记都会被分块并嵌入到内部向量数据库

  • 相关笔记会通过向量相似性(vector similarity)自动连接起来

  • LLM驱动的问答会对笔记语料库进行RAG(Retrieval Augmented Generation)检索增强生成分析

  • 所有内容都可以进行语义搜索

可以把 Reor 看作是一个有两个生成器的 RAG 应用程序:LLM 和我们人类。在问答的模式下,LLM会从语料库中获取上下文来帮助回答问题。同样,在编辑模式下,人类可以切换侧边栏,显示从语料库中检索的相关注释。通过将当前笔记中的观点与语料库中的相关观点进行交叉引用,这种扩充的思维方式非常强大。

离线安装

来到官方版本发布页 https://github.com/reorproject/reor/releases/,目前最新版本是 v0.2.6,根据自己的平台选择安装包下载

1cf0ffc76b446dc1e61c3fc6a255599e.jpeg

reor

0fc720aa7b204f75f2dd337e8b5fd384.jpeg

reor

绑定本地嵌入模型

要绑定本地嵌入模型(Embedding Model),需要使用 Git Large File Storage (LFS)Hugging Face 下载。

第一步安装git lfs,来到官方网站下载 https://git-lfs.com/

6b1a4882c080a4fc782a290ca635bc85.jpeg

git lfs

傻瓜式进行安装,安装完毕后,打开 powershell,输入 git lfs install 来验证一下是否安装成功

2f56e77e8903ce26c20197f9dcab43e5.jpeg

git lfs

如果命令有如上的输出,说明安装好了。

第二步,去下载模型,这里以 Xenova/bge-m3 模型为例,仓库地址 https://huggingface.co/Xenova/bge-base-en-v1.5

git clone https://huggingface.co/Xenova/bge-m3

如果 git clone 连接不上服务器的话,可以通过下面这个方法

# 安装huggingface-cli命令行工具,包含在huggingface_hub库里,不仅可以下载模型、数据,还可以可以登录huggingface、上传模型、数据
pip install -U huggingface_hub# 下载模型,支持续传,保存在本地文件夹bge-base-en-v1.5,即最后一个参数
huggingface-cli download --resume-download Xenova/bge-base-en-v1.5 --local-dir bge-base-en-v1.5


6d46f402a636543ba9c26c54217585c6.jpeg

huggingface_hub

第三步进行绑定,来到 Settings --> Embedding Models --> Attach Local Model

4c10077a179d29eb14cbcca84cc23fdc.jpeg

reor

选择刚刚下载好的模型文件夹

cb6076af9953c52a3fbad681eec564d2.jpeg

reor

选择新的模型

d03d964839b154150f2b28f1f3509ad1.jpeg

reor

可以开始向它提问了

77efc36d49f0937172a7f8f6c9265911.jpeg

reor

参考资料

  • https://github.com/reorproject/reor


http://www.mrgr.cn/p/37848507

相关文章

iceoryx源码阅读(二)——共享内存管理

目录1 共享内存模型2 获取共享内存2.1 MemoryManager::getChunk2.2 MemPool::getChunk3 释放共享内存3.1 SharedChunk::freeChunk3.2 MemPool::freeChunk4 总结 基于共享内存通信的核心在于共享内存的管理,包括共享内存的分配、释放。 1 共享内存模型 iceoryx先将整块共享内存…

iceoryx源码阅读(一)——全局概览

一、什么是iceoryx iceoryx是一套基于共享内存实现的进程间通信组件。 二、源码结构 iceoryx源码包括若干工程,整理如下表所示:下图展示了主要项目之间的依赖(FROM:iceoryx(冰羚)-Architecture):三、iceoryx应用程序结构 iceoryx应用程序有三类进程,分别为Publisher、Su…

Linux字符设备驱动(一) - 框架

字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标、键盘、显示器、串口等等,当我们执行ls -l /dev的时候,就能看到大量…

1.4 初探JdbcTemplate操作

实战目的 掌握Spring框架中JdbcTemplate的使用,实现对数据库的基本操作。理解数据库连接池的工作原理及其在实际开发中的重要性。通过实际操作,加深对Spring框架中ORM(对象关系映射)的理解。 关键技术点 JdbcTemplate操作&…

重发布和路由策略

重发布 在同一个网络拓扑结构中,如果存在多种不同的路由协议,由于不同路由协议的机理各有不同,对路由的处理也不相同,这就在网络中造成了路由信息的隔离,在路由协议的边界设备上,将某种路由协议的路由信息引…

Java中的线程

一、创建线程的几种方式? ① 通过继承Thread类并重写run方法 ,实现简单但不可以继承其他类 Thread底层也是实现了Runnable接口,重写的是run而不是start方法 ②实现Runnable接口并重写run方法, 避免了单继承的局限性&#xff…

PVE安装Windows 95报错 while initializing device IOS

安装Win95重启后报错信息如下图,重启一直报错 while initializing device IOS,查了下报错原因说是 CPU频率太高导致,需要安装AMDK6UPD.EXE补丁包 下载地址 https://zhangka.lanzouw.com/igW0S1y8p5pe 打补丁操作流程: 1)将下载的iso文件加载到新光盘中 2)重启到dos环境…

迅饶科技 X2Modbus 网关 AddUser 任意用户添加漏洞复现

0x01 产品简介 X2Modbus是上海迅饶自动化科技有限公司Q开发的一款功能很强大的协议转换网关, 这里的X代表各家不同的通信协议, 2是T0的谐音表示转换, Modbus就是最终支持的标准协议是Modbus协议。用户可以根据现场设备的通信协议进行配置,转成标准的Modbus协议。在PC端仿真…

# IDEA 复制项目 Module 出现 不同模块下的 Product 类报错

IDEA 复制项目 Module 出现 不同模块下的 Product 类报错 我们 用 IDEA 复制项目 Module 出现 不同模块下的 Product 类报错,发现复制的 module 名称没有改变或者 java 文件夹后面还有原项目 source root 字样,maven 父子项目没有标识等问题。 解决方法…

【前端】实现表格简单操作

简言 表格合并基础篇 本篇是在上一章的基础上实现,实现了的功能有添加行、删除行、逆向选区、取消合并功能。 功能实现 添加行 添加行分为在上面添加和在下面追加行。 利用 insertAdjacentElement 方法实现,该方法可以实现从前插入元素和从后插入元…

12 华三的二层链路聚合

12 华三的二层链路聚合 配置思路 1. 配置二层静态聚合组 (1) 进入系统视图。 system-view (2) 创建二层聚合接口,并进入二层聚合接口视图。 interface bridge-aggregation interface-number [ lite ] 创建二层聚合接口后,系统将自动生成…

苍穹外卖Day06笔记

疯玩了一个月,效率好低,今天开始捡起来苍穹外卖~ 1. 为什么不需要单独引入HttpClient的dependency? 因为我们在sky-common的pom.xml中已经引入了aliyun-sdk-oss的依赖,而这个依赖低层就引入了httpclinet的依赖,根据依…

Linux 文件

文章目录 文件操作回顾(C/C)系统调用接口 管理文件认识一切皆文件C/C的文件操作函数与系统调用接口的关系……重定向与缓冲区 -- 认识重定向与缓冲区 -- 理解使用重定向缓冲区实现一个简单的Shell(加上重定向)标准输出和标准错误(在重定向下的意义) 磁盘文件磁盘存储文件操作系…

docker-compose安装es+kibana 8.12.2

小伙伴们,你们好,我是老寇,我又回来辣,几个月不见甚是想念啊!!! 因云平台需要改造,es7升级为es8,所以记录一下,es8需要开启ssl认证,需要配置证书…

第147天:免杀对抗-C2远控篇CC++ShellCode定性分析生成提取Loader加载模式编译执行

https://blog.csdn.net/qq_29948489/article/details/136180966 #C2远控-ShellCode-认知&环境 1.创建工程时关闭SDL检查 2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD 3.属性->C/C++->代码生成->禁用安全检查GS 4.关闭生成清…

再探URLDNS链(手搓exp)

夜深了,想着还需要沉淀自己的基础能力,于是乎没有继续往CC链里爬,通过研究了一下ysoserial里的URLDNS链,决定自己尝试写一个类似却有些不同的exp,使自己的基础更加牢固一些,故有了今天这篇文章。 ysoserial里的URLDNS链我就不再多说,有兴趣的话自己可以去看下面这篇文章…

zabbix动作执行命令失效不起作用?

1. zabbix在web界面设置完主机组,主机,监控项,触发器,动作之后 监控项监控到了,触发器触发动作,但是执行的指令不起作用 流程 在zabbix-agent端将nginx服务down掉,zabbix会自动监控并执行重启的…

长安车机安装三方APP

前言 长安车机目前为基于安卓自研的系统。 目前 默认这个车机系统,不允许安装三方软件,具体表现为:插入u盘识别不出里边的apk文件。 自带的软件版本都特别低,且不支持升级,只能等待整个车机系统连带升级。 重点是,他们通常好几年不推送升级车机系统! 重点来了:没有攻破…

AcWing 4993 FEB

4993. FEB - AcWing题库 大佬亲笔 将原串分成三段&#xff1a; FFF|E.....B|FFF 先合并中间段&#xff0c;再合并两边的段 #include <iostream> #include <cstring> #include <algorithm> #include <string> #include <queue&g…

Golang——IO操作

1. 输入输出的底层原理 终端其实是一个文件(Linux下一切皆文件)&#xff0c;相关实例如下&#xff1a; os.Stdin&#xff1a;标准输出的文件实例&#xff0c;类型为*Fileos.Stdout&#xff1a;标准输入的文件实例&#xff0c;类型为*Fileos.Stderr&#xff1a;标准错误输出的文…