本地大模型知识库工具
本地大模型知识库工具
大模型知识库。这一概念的核心在于,它不仅仅是对现有企业私有知识库的技术性升级,更是一种革命性的知识管理与利用方式。大模型知识库旨在通过融合最新的大模型技术,对企业的海量内部数据、专业知识、最佳实践等进行高效组织、智能索引和深度学习,使之成为可被模型理解和运用的结构化知识资源。
这样的知识库不仅能够实现对企业内部知识的快速检索和精准匹配,还能够借助大模型的语境理解和生成能力,自动总结文档、生成报告、解答复杂问题,甚至在特定领域内进行创新性思考和策略建议。换句话说,大模型知识库可以成为企业智慧的“超级大脑”,极大提升知识的流动性和价值转化效率,让企业的每一份知识资产都成为推动业务发展和创新的源泉。
同理,既然企业可以用大模型知识库来管理企业级的知识,那么个人同样也可以构建起个人版的“智慧大脑”。想象一下,将个人的学习笔记、工作经验、技能树、甚至是兴趣爱好等各类信息,全部整合进这样一个智能化的知识管理体系中。这不仅是一个简单的信息存储仓库,而是一个能够自我学习、自我优化,并根据个人需求动态调整的知识生态系统。
AnythingLLM、MaxKB、RAGFlow、FastGPT、Dify 、 Open WebUI 、Ollama
1、Windows环境
安装非常方便简单。Ollama的安装就是官网,将Windows版本的Ollama下载无脑安装即可。
Open WebUI最简单的安装就是用容器安装,一句安装命令:docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main,即可。
Open WebUI也提供了从Ollama拉取模型的界面,非常方便直观:
(Anything LLM未在Windows环境安装)
2、Linux环境
一般先安装Ollama。Ollama的安装使用一句命令:curl -fsSL https://ollama.com/install.sh | sh
Ollama对国内比较友好,其安装和下载模型速度都蛮快的。见下图:
完成安装后,需要执行ollama start启动(或者生产环境提供服务执行ollama serve),然后使用命令行方式安装模型、运行模型(因此界面不友好,需要安装Open WebUI)
ollama无需翻墙,下载安装模型速度还是很快的:
例如下载Llama3.1 70B,都没问题:
甚至下载405B的也可以,不过就是其内存要求高,无法运行:
下载Llama3.1的三个版本(大中小杯):
Ollama成功安装出了操作一些常规命令,例如查看版本(ollama --version):
查看下载的模型(ollama list)之外,关键需要查看其能否通过端口访问:curl 127.0.0.1:11434:
1、创建基础容器
docker run -itd --privileged --restart=always -p 3005:11434 -v /share/users_root/hqx_bai/byp/software/LLMs:/byp --name ollama_byp ubuntu:latest bash
2、进入容器
docker exec -it ollama_byp bash
3、升级apt和安装软件
apt update
apt install -y curl vim
4、安装ollama
curl -fsSL https://ollama.com/install.sh | sh
5、设置环境变量
注意:安装后,宿主机如果访问该容器的Ollama会失败,其原因不是防火墙问题(新建的容器没有防火墙),而是IP地址访问协议的问题!
Ollama监听的地址应该是IPv6协议的地址,而如果从外部要访问它,可能用了IPv4方式就无法访问。
进入容器后,可以使用语句查看监听地址:netstat -tuln | grep 11434 (需要安装:apt install net-tools)
结果是:tcp6 0 0 :::11434 :::* LISTEN
因此需要设置该服务器将接受来自任何IP地址的HTTP请求,无论是来自本地网络还是外部网络:
(1)查看路径:
echo $OLLAMA_HOST
结果是空的。
(2)写入环境配置文件并重新加载配置文件:
echo 'export OLLAMA_HOST=0.0.0.0:11434' >> ~/.bashrc
重新加载配置文件:
source ~/.bashrc
(3)再次查看:
echo $OLLAMA_HOST
结果是:0.0.0.0:11434
6、启动ollama
ollama serve
7、检查是否安装成功
在宿主机:
curl http://localhost:3005
能返回:
Ollama is running
或者在浏览器输入地址:
http://183.6.**.***:3005/
浏览器页面返回上面的内容即可!
另外进入容器内,输入:
curl http://localhost:11434
也是返回以上内容。
容器部署Open WebUI
为了方便调试、修改,最好是先把其镜像拉下来:
docker pull ghcr.io/open-webui/open-webui:main
但是镜像下载很慢,因此可以找时间先把镜像下载下来后,打包成一个镜像文件,需要时可以导入使用:
docker import open-webui.tar ghcr.io/open-webui/open-webui:main
有了镜像后,就很方便了,一句话创建容器:
docker run -d -p 3006:8080 -e OLLAMA_BASE_URL=http://183.6.**.***:3005 -v open-webui:/app/backend/data --name open-webui_byp --restart always ghcr.io/open-webui/open-webui:main
注意:由于Ollama是安装在另外的容器,因此需要设置OLLAMA_BASE_URL,而这个地址需要实际的IP地址,localhost、127.0.0.1都不行。
AnythingLlm官网提供了(20240804)安装方法。不过国内无法直接下载,需要想办法下载镜像:
docker pull mintplexlabs/anythingllm
保存镜像后,就可以挪到需要安装的服务器中:
docker save -o mintplexlabs_anythingllm.tar mintplexlabs/anythingllm:latest
在需要服务器中导入镜像:
docker load -i mintplexlabs_anythingllm.tar
官网提供的创建容器命令是:
export STORAGE_LOCATION=$HOME/anythingllm &&
mkdir -p $STORAGE_LOCATION &&
touch "$STORAGE_LOCATION/.env" &&
docker run -d -p 3001:3001
--cap-add SYS_ADMIN
-v ${STORAGE_LOCATION}:/app/server/storage
-v ${STORAGE_LOCATION}/.env:/app/server/.env
-e STORAGE_DIR="/app/server/storage"
mintplexlabs/anythingllm
其实上面代码中的$HOME一般就是:/var/lib。(文件夹/var/lib/anythingllm会包括上传知识库文件转为json的文件,见文件夹结构|json列表|json内容)
所以可以分开来执行。先:
export STORAGE_LOCATION=/var/lib/anythingllm &&
sudo mkdir -p /var/lib/anythingllm &&
sudo touch "/var/lib/anythingllm/.env"
持久化环境变量
如果你希望环境变量在每次启动新 Shell 会话时都生效,可以将 export 命令添加到 Shell 配置文件中,如 ~/.bashrc、~/.bash_profile 或 ~/.profile 中:
echo 'export STORAGE_LOCATION=/var/lib/anythingllm' >> ~/.bashrc
source ~/.bashrc
设置环境变量、建立文件夹和.env文件后,再执行创建容器命令:
docker run -d -p 3007:3001
--cap-add SYS_ADMIN
-v /var/lib/anythingllm:/app/server/storage
-v /var/lib/anythingllm/.env:/app/server/.env
-e STORAGE_DIR="/app/server/storage"
mintplexlabs/anythingllm
但是执行后,容器会报错(可以通过docker logs 容器ID,查看容器日志。见报错内容)。主要是2个问题:(1)STORAGE_LOCATION文件夹的权限问题;(2)数据库文件的创立及其权限问题(Anything LLM其实需要数据库的);
(1)更改权限:sudo chmod -R 755 /var/lib/anythingllm
(2)创建空白的数据库文件:
#可以在本地其它Linux Ubuntu容器内先安装Sqlite数据库:
apt-get install sqlite3
#然后创建空的数据库文件:
sqlite3 ./anythingllm.db ".databases"
然后将该空白数据库文件保存到宿主机的对应文件夹:
sudo cp anythingllm.db /var/lib/anythingllm
可查看该文件夹权限(如果里面文件权限不够需要修改):
ls -la /var/lib/anythingllm
重启该容器:docker restart 50942a207220:一般就可以进入设置界面:
其它设置页面:04| 05| 06| 07| 08| 09| 10| 11| 12|
里面一个关键设置就是Ollama的地址。系统会自动读取Ollama Base URL的地址,例如宿主机如果安装了Ollama地址为:http://172.17.0.1:11434;如果Ollama安装在别的地址,也可以后面进行修改变更。