分类 Other-经验分享 下的文章

本地大模型知识库搭建


安装ragflow

确保 vm.max_map_count 不小于 262144

sysctl vm.max_map_count
sudo sysctl -w vm.max_map_count=262144

docker-compose 需要v2.20 以上版本

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

下载代码

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
docker-compose up -d

部署完成后,访问当前服务器ip:80端口

安装ollama

curl -fsSL https://ollama.com/install.sh | sh

安装模型

ollama run qwen2:7b
ollama pull shaw/dmeta-embedding-zh:latest

修改对外端口

sudo vi /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0"
sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo lsof -i:11434

模型提供商

点击Ollama,添加模型
分别添加qwen2:7bshaw/dmeta-embedding-zh:latest

系统设置

创建知识库

输入名称,然后新建

在数据采集中,上传自己的文件,例如excel文件,第一列问题,第二列答案

聊天->新建助理

输入问题,等待检索出对应答案
https://github.com/infiniflow/ragflow/blob/main/README_zh.md


undefined: secp256k1.RecoverPubkey


在使用 gotron-sdk 开发过程中,跨平台打包编译的时候,遇到了这个问题

# github.com/fbsobreira/gotron-sdk/pkg/keystore
vendor\github.com\fbsobreira\gotron-sdk\pkg\keystore\recover.go:17:33: undefined: secp256k1.RecoverPubkey

在 mod 添加以下代码即可

replace github.com/fbsobreira/gotron-sdk v0.0.0-20230907131216-1e824406fe8c => github.com/sunbankio/gotron-sdk v0.0.0-20231003155243-a269b0d040c3

参考:https://github.com/fbsobreira/gotron-sdk/pull/107


Docker 切换数据存储目录


1. 停止 Docker 服务

在修改 Docker 配置之前,首先需要停止 Docker 服务:

sudo systemctl stop docker

2. 创建新的 Docker 目录

创建一个新的目录来存储 Docker 数据。假设你想将 Docker 的存储目录更改为 /mnt/docker-data,可以使用以下命令:

sudo mkdir -p /mnt/docker-data

3. 编辑 Docker 配置文件

编辑 Docker 的配置文件,通常位于 /etc/docker/daemon.json。如果文件不存在,你可以创建它:

sudo nano /etc/docker/daemon.json

在文件中添加或修改以下内容,将 "/var/lib/docker" 替换为你新创建的目录:

{"data-root": "/mnt/docker-data"}

保存并关闭文件。

4. 移动现有的 Docker 数据(可选)

如果你已经有 Docker 数据,并且希望保留它们,可以将它们移动到新的目录:

sudo rsync -aP /var/lib/docker/ /mnt/docker-data

5. 启动 Docker 服务

完成以上步骤后,重新启动 Docker 服务:

sudo systemctl start docker

6. 验证更改

检查 Docker 是否使用了新的存储路径:

docker info | grep "Docker Root Dir"

如果输出的目录是你指定的新目录,则说明更改成功。
通过这些步骤,你可以成功切换 Docker 的存储目录。