Tuesday, March 18, 2025

基于Cherrystudio和DeepSeek搭建本地知识库

 一 下载并安装Cherrystudio


1.下载网址:https://cherry-ai.com/(谷歌浏览器支持安装文档正常下载。不建议选择网盘下载,因为网盘下载还要求下载夸克网盘,有些麻烦)。


2.安装Cherrystudio
Image

二 获取硅基流API Key


1.注册硅基流动账号。网址为:https://account.siliconflow.cn/zh/login


2.获取硅基流动API Key。登录硅基流动网站,打开“账户管理/API密钥”菜单,点击“新建API密钥”。新建密钥、命名,并拷贝密钥。
Image


三 在Cherrystudio中配置

取硅基流API Key


1.在“模型服务”菜单中,选择“硅基流动”,粘贴硅基流动的API密钥(或点击“获取”),检查API密钥,确保连接成功(硅基流动处于“on”的状态)。
Image


2.点击“管理”按钮,点击【+】添加模型,添加deepseek-R1(推理模型)和deepseek-V3(混合专家模型)。
Image



四 搭建本地知识库


1.添加嵌入式模型。点击“嵌入”按钮,点击【+】嵌入“BAAI/bge-m3”模型(免费)。
Image


2.添加知识库。在“知识库”菜单下,添加知识库“XBRL知识库”,命名并选择嵌入模型。
Image


3.添加知识文档。点击需要添加文档的知识库“XBRL知识库”,将文档、目录、网址、站点、笔记等添加到知识库中。
Image

五 基于本地知识库进行问答


1.回到聊天界面,选择模型,选择知识库,开始对话。
Image

至此,基于【硅基流动API + Cherrystudio】的本地知识库搭建完成。根据CherryStudio知识库教程可知,在 Cherry Studio 知识库中添加的数据全部存储在本地,在添加过程中会复制一份文档放在 Cherry Studio 数据存储目录。


六 添加联网搜索


1.配置网络搜索引擎API密钥。在CherryStudio“设置/网络模型”菜单下,获取“tavily”密钥。作为研究者,每月可免费使用1000次搜索。
Image

2.在对话框使用时,可以点亮“联网搜索”功能。在检索过程中,即可同时基于指定知识库和联网搜索的网络资料回答问题。经测试后,答案非常精准。但因某些制度,在制定过程中不是考虑计算机阅读和理解的,因此在提问时,需要制定使用复杂制度条款的原则。

https://mp.weixin.qq.com

Thursday, March 13, 2025

utools怎么使得开始菜单里的快捷方式可以快速执行

 Alt+Sapce 打开utools,直接输入设置或者点击右上角的utools图标,选择 设置 再选择文档启动,将想要快捷打开的软件,快捷方式,文档,文档夹(下图2)快捷方式、文档或文档夹拖到此窗口即可。

 https://juejin.cn/post/6975091944657551367

utools在D盘创建C盘配置文件的软链接

 uTools默认是安装在C盘的,我们可以通过给uTools文档夹创建一个软连接来改变文档的实际位置。
    退出uTools
    win+R 后输入 %APPDATA%,找到uTools文档夹(假设目前uTools文档夹的路径是 C:\Users\fakeuser\AppData\Roaming\uTools)
    选中uTools文档夹,剪切到你想要的任何位置(你没看错是剪切)(假设剪切后uTools文档夹的路径为 D:\fakepath\uTools)
    4. win+R 后输入 cmd,打开cmd窗口
    在cmd窗口中输入mklink /d "C:\Users\fakeuser\AppData\Roaming\uTools" "D:\fakepath\uTools",回车(记得替换路径)

完成上述操作后,你会发现原来的AppData目录中出现了一个类似快捷方式的uTools目录,但是仅仅是类似,实际上是创建了一个软链接,普通的快捷方式是没法达到这个目的的。

这样就能让uTools不占用C盘空间,将数据储存到其他地方了。

https://blog.csdn.net/H_jrqn/article/details/126525311

Thursday, February 20, 2025

用QPython实现使用android的自动化操作[AutoPy]

Qpython AutoPy.py作者记录

使用方法:

1.安装我的AutoPy.apk

1.1 授权无障碍辅助权限(重要)

1.2 授权文档读写权限(重要)

2.点击安装Dian模块

3.打开开发者选项的显示指针位置

4.测试点击,测试拖动,

1150532-20200103140724768-1082716535.png

如图则可以正常使用

qpython里面的使用方法:

在qpython中使用,第一步要导入Dian文档,该文档目前共有两个方法,一个是实现点击,一个是实现拖动的,在这两个功能的配合下可以完成大部分自动化操作

1.点击:(方法名:tap(x,y))

#第一个参数x为,点击屏幕上的x坐标

#第二个参数y为,点击屏幕上的y坐标

#使用方法为:

improt Dian#导入Dian文档

Dian.top(100,100)#点击x:100,y:100的屏幕坐标

#可以实现点击

7109acf91b354e0cd98fc9cf6866f19a1f5.png

如图所示返回执行结果

2.滑动、拖动(方法名:swipe(x1,y1,x2,y2))

#第一个参数x1为,起点屏幕上的x1坐标

#第二个参数y1为,起点屏幕上的y1坐标

#第三个参数x2为,终点屏幕上的x2坐标

#第四个参数y2为,终点屏幕上的y2坐标

#使用方法为:

improt Dian#导入Dian文档

Dian.swipe(100,100,200,200)#将坐标x:100,y:100 拖到x:200,y:200坐标

1150532-20200103143619574-59860131.png

部分android_java源代码解析:

public void onAccessibilityEvent(AccessibilityEvent event)

{

if (flag == 0)

{

flag = 1;

new Thread() {

public void run()

{

while (true)

{

//System.out.println("xxx");

try

{

String fileName = "/sdcard/AutoPy.config";

String ret = "";

FileInputStream fis = new FileInputStream(fileName);

int len = fis.available();

byte []buffer = new byte[len];

Thread.sleep(10);

fis.read(buffer);

ret = EncodingUtils.getString(buffer, "UTF-8");

fis.close();

String [] stringArr= ret.split(",");

if (stringArr[0].equals("0"))

{

System.out.println("是零模式");

GestureDescription.Builder builder = new GestureDescription.Builder();

Path p = new Path();

p.moveTo(Integer.parseInt(stringArr[1]), Integer.parseInt(stringArr[2]));//坐标

//p.lineTo(200,200);

builder.addStroke(new GestureDescription.StrokeDescription(p, 0, 50));

dispatchGesture(builder.build(), null, null);

writeTxt("/sdcard/AutoPy.config", "执行成功");

}

if (stringArr[0].equals("1"))

{

System.out.println("是一模式");

GestureDescription.Builder builder = new GestureDescription.Builder();

Path p = new Path();

p.moveTo(Integer.parseInt(stringArr[1]), Integer.parseInt(stringArr[2]));//坐标

p.lineTo(Integer.parseInt(stringArr[3]), Integer.parseInt(stringArr[4]));

builder.addStroke(new GestureDescription.StrokeDescription(p, Integer.parseInt(stringArr[5]), Integer.parseInt(stringArr[5])));

dispatchGesture(builder.build(), null, null);

writeTxt("/sdcard/AutoPy.config", "执行成功");

}

}

catch (Exception e)

{

e.printStackTrace();

//Toast.makeText("").show();

writeTxt("/sdcard/AutoPyFalse.info", e.toString());

}}

}

}.start();

}

}

这里是监控文档变化的实现

python端代码:

利用文档来实现交互通信(后期会改成本地的socket通信)

importtimedef swipe(x1,y1,x2,y2,t=1000):

f=open('/sdcard/AutoPy.config','w+')

f.write('1,'+str(x1)+','+str(y1)+','+str(x2)+','+str(y2)+','+str(t))

f.close()for i in range(10000):

o=open('/sdcard/AutoPy.config','r').read()if o=='执行成功':break

print('[AutoPy]滑动执行成功')

time.sleep(0.0023*t)deftap(x,y):

f=open('/sdcard/AutoPy.config','w+')

f.write('0,'+str(x)+','+str(y))

f.close()for i in range(10000):

o=open('/sdcard/AutoPy.config','r').read()if o=='执行成功':break

print('[AutoPy]点击执行成功')

time.sleep(0.1)

#作者sunny开始学坏

本文完(^_^)

需要AutoPy.apk文档的可以加群

 https://blog.csdn.net/weixin_39582656/article/details/110374533

Tuesday, February 18, 2025

在树莓派安卓上用Qpython的pyserial读取串口数据步骤

 1. 下载KonstaKANG-rpi-magisk-v28.0.zip和Magisk-v28.0.apk并设置系统重启到twrp模式,安装twrp,重启后安装,安装完成后启动到system,安装apk,完成app root。

2. 安装termux终端,并执行su、chmod 777 ttyACM0. 也可以顺便用pkg install python安装python和temux-boot。

3. 硬件方面购买Ai离线语音模块,可以收发RS485串口数据以及RS485转USB转换头,连接两者。应用天问软件生成离线语音模型并下载。

4.在安卓系统安装qpython及Autopy.apk。在temux终端设置通过su及chmod设置tty*设备访问权限,编写AI语音发送串口数据到树莓派的代码。

5. 设置安卓自启动代码。

 

安卓上qpython安装模块比如pyserial

 Modules can be installed in QPython3 using pip. What you have to do is ..

Import pip

Then

pip.main([‘install','module name'])

For example if u want to install numpy then this will look like…

import pip

pip.main([‘install','numpy'])

https://www.quora.com/How-do-I-install-NumPY-or-any-other-modules-in-QPython3-in-Android


Sunday, February 9, 2025

装有启动盘的U盘或SD卡怎么格式化

1. 先用Diskgenius删除所有分区。

2. 在我的电脑-管理-磁盘管理里,新建卷并格式化。

3. 在资源管理器里格式化为NTFS格式。