什么是 AnythingLLM ?
AnythingLLM 是 Mintplex Labs Inc. 开发的一款可以与任何内容聊天的私人 ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。
软件特点:
- 两种聊天模式:对话模式和查询模式。对话模式保留之前的问题和修改记录。查询模式用于对您的文档进行简单的问答。
- 极其高效的成本节约措施,用于管理非常大的文档。您将永远不会为嵌入的大型文档或转录付费超过一次。比其他文档聊天机器人解决方案更省成本,降低
90%。
安装在群晖上以 Docker 方式安装。
在注册表中搜索 anythingllm ,选择第一个 mintplexlabs/anythingllm,版本选择 latest。
权限
勾选 使用高权限执行容器
卷
在 docker 文件夹中,创建一个新文件夹 anythingllm,并在其中建一个子文件夹 data
在本机上新建一个 env.txt 文件,上传到 data 目录中,在文件中写入下面的内容
SERVER_PORT=3001
STORAGE_DIR="/app/server/storage"
UID='1000'
GID='1000'
现在的目录结构
默认 data 目录,Everyone 只有读权限
要给 data 目录赋予 Everyone 读写权限
对于 env.txt 文件
同样也要给予 Everyone 读写权限
| 文件夹 | 装载路径 | 说明 |
|---|
docker/anythingllm/data | /app/server/storage | 存放数据库等 |
docker/anythingllm/env.txt | /app/server/.env | 环境变量文件 |
前一项是通过 添加文件夹,后一项通过 添加文件 进行挂载
端口
本地端口不冲突就行,不确定的话可以用命令查一下
#查看端口占用
netstat-tunlp|grep端口号
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
#新建文件夹anythingllm和子目录
mkdir-p/volume1/docker/anythingllm/data
#进入anythingllm目录
cd/volume1/docker/anythingllm
#修改data目录权限
chmod-R777data
#将env.txt放入当前目录
#修改env.txt文件权限
chmod777env.txt
#运行容器
dockerrun-d\
--restartunless-stopped\
--cap-addSYS_ADMIN\
--nameanythingllm\
-p3014:3001\
-v$(pwd)/data:/app/server/storage\
-v$(pwd)/env.txt:/app/server/.env\
mintplexlabs/anythingllm
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version:'3'
services:
anythingllm:
image:mintplexlabs/anythingllm
container_name:anythingllm
restart:unless-stopped
cap-add:
-SYS_ADMIN
ports:
-3014:3001
volumes:
-./data:/app/server/storage
-./env.txt:/app/server/.env
然后执行下面的命令
#新建文件夹anythingllm和子目录
mkdir-p/volume1/docker/anythingllm/data
#进入anythingllm目录
cd/volume1/docker/anythingllm
#修改data目录权限
chmod-R777data
#将env.txt放入当前目录
#修改env.txt文件权限
chmod777env.txt
#将docker-compose.yml放入当前目录
#一键启动
docker-composeup-d
运行
启动过程有点长,要稍等一会儿,当日志中显示 Primary server in HTTP mode listening on port 3001 时
在浏览器中输入 http://群晖IP:3014 就能看到主界面
设置向导
点中间的 Get started 开始设置向导
如果你有 OpenAI 的 key,可以选这个试试。不过老苏没有,正好前一段装了 Ollama 还没删,所以 LLM 就选择了 Ollama
选择了默认的 AnythingLLM Embedder,这是 AnythingLLM 自带的
Vector Database Connection
选择了默认的 LanceDB,这同样是 AnythingLLM 自带的
接下来是设置 logo 和用户
这是我们选择的数据处理和隐私
创建工作空间
设置完成后的主界面
这个时候你再打开 env.txt 文件,已经根据你的设置做了改变
所以是完全可以通过设置来跳过向导的;
上传文档
点上传按钮
打开上传界面,可以上传文档,也可以指定网站
网上下了一份 华为投资控股有限公司2022年年度报告
下载地址:https://www-file.huawei.com/minisite/media/annual_report/annual_report_2022_cn.pdf
选中上传完成的文件,点 Move 1 file to workspace
将文件移入工作空间
点 Save and Embed 开始处理文档,等待处理完成
开始提问
进入工作空间
开始提问
答案感觉上都跟文档对不上,老苏切换 Chat Model 为 gemma:2b 时,又总是超时,可能原因还是机器太弱了吧