用AnythingLLM构建专属知识库

在这里插入图片描述

什么是 AnythingLLM ?

AnythingLLMMintplex Labs Inc. 开发的一款可以与任何内容聊天的私人 ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。

软件特点:

  • 多用户实例支持和权限管理
  • 全新的可嵌入式聊天小部件,适用于您的网站
  • 支持多种文档类型(PDFTXTDOCX等)
  • 通过简单的用户界面管理您的向量数据库中的文档
  • 两种聊天模式:对话模式和查询模式。对话模式保留之前的问题和修改记录。查询模式用于对您的文档进行简单的问答。
  • 聊天中的引用文献功能
  • 完全适用于云部署。
  • "自带 LLM "模型。
  • 极其高效的成本节约措施,用于管理非常大的文档。您将永远不会为嵌入的大型文档或转录付费超过一次。比其他文档聊天机器人解决方案更省成本,降低 90%
  • 提供完整的开发者 API,用于自定义集成!

AnythingLLM 功能演示

安装

在群晖上以 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 端口号
本地端口容器端口
30143001

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 anythingllm 和 子目录
mkdir -p /volume1/docker/anythingllm/data

# 进入 anythingllm 目录
cd /volume1/docker/anythingllm

# 修改 data 目录权限
chmod -R 777 data

# 将 env.txt 放入当前目录

# 修改 env.txt 文件权限
chmod 777 env.txt

# 运行容器
docker run -d \
   --restart unless-stopped \
   --cap-add SYS_ADMIN \
   --name anythingllm \
   -p 3014: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 -R 777 data

# 将 env.txt 放入当前目录

# 修改 env.txt 文件权限
chmod 777 env.txt

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

启动过程有点长,要稍等一会儿,当日志中显示 Primary server in HTTP mode listening on port 3001

在这里插入图片描述

在浏览器中输入 http://群晖IP:3014 就能看到主界面

在这里插入图片描述

设置向导

点中间的 Get started 开始设置向导

在这里插入图片描述

  • LLM Preference

如果你有 OpenAIkey,可以选这个试试。不过老苏没有,正好前一段装了 Ollama 还没删,所以 LLM 就选择了 Ollama

在这里插入图片描述

  • Embedding Preference

选择了默认的 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 Modelgemma:2b 时,又总是超时,可能原因还是机器太弱了吧

在这里插入图片描述

参考文档

Mintplex-Labs/anything-llm: A multi-user ChatGPT for any LLMs and vector database. Unlimited documents, messages, and storage in one privacy-focused app. Now available as a desktop application!
地址:https://github.com/Mintplex-Labs/anything-llm

Ollama - AnythingLLM by Mintplex Labs
地址:https://docs.useanything.com/feature-overview/llm-selection/ollama

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值