百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

智能私有知识库RAG企业级解决方案:开源工具AnythingLLM实操指南

zhezhongyun 2025-05-02 14:51 22 浏览

点击上方“顶层架构领域”,关注精彩与你分享

在数据安全和隐私保护日益受到重视的背景下,私有化部署大模型的需求日益增长。Mintplex Labs Inc. 推出的开源项目 AnythingLLM,为个人和企业提供了一种安全、高效且可定制的解决方案。该工具基于RAG(Retrieval-Augmented Generation)模型,允许用户将本地文档转换为可由大型语言模型(LLM)引用的格式,实现对话式问答和知识管理。

一、AnythingLLM的主要功能

  • 多用户支持与权限管理:支持多用户同时访问,并可设置不同权限。
  • 文档管理:支持PDF、TXT、DOCX等多种文档类型,并通过简易界面管理。
  • 聊天模式:提供对话和查询两种模式,保留历史记录,支持引用标注。
  • 技术栈简单:便于快速迭代和云部署。
  • 成本效益:对大型文档一次性嵌入,显著节约成本。
  • 开发者API:提供完整API支持自定义集成。
  • LLM:包括任何开源的 llama.cpp 兼容模型、OpenAI、Azure OpenAI、Anthropic ClaudeV2、LM Studio 和 LocalAi。
  • 嵌入模型:AnythingLLM 原生嵌入器、OpenAI、Azure OpenAI、LM Studio 和 LocalAi。
  • 向量数据库:LanceDB(默认)、Pinecone、Chroma、Weaviate 和 QDrant。

二、AnythingLLM 部署实战

1. 安装Chroma Vectorstore:通过Docker容器部署,创建集合并验证设置。

git clone https://github.com/chroma-core/chroma.git
cd chroma
docker compose up -d --build

访问向量存储API文档: http://localhost:8000/docs

2. LocalAI部署:使用CLI应用程序启动API服务器,与开源模型交互。

git clone https://github.com/go-skynet/LocalAI
cd LocalAI
docker compose up -d --pull always

容器运行后,我们需要下载、安装模型以供测试使用

增加Bert 的转换器嵌入模型:MiniLM L6

# 增加 Bert 的转换器嵌入模型
curl http://localhost:8080/models/apply 
  -H "Content-Type: application/json"
  -d '{ "id": "model-gallery@bert-embeddings" }'

# 测试嵌入模型
curl http://localhost:8080/v1/embeddings 
  -H "Content-Type: application/json"
  -d '{ "input": "The food was delicious and the waiter...",
"model": "bert-embeddings" }'


{
"created": 1702050873,
"object": "list",
"id": "b11eba4b-d65f-46e1-8b50-38d3251e3b52",
"model": "bert-embeddings",
"data": [
    {
"embedding": [
        -0.043848168,
0.067443006,
    ...
0.03223838,
0.013112408,
0.06982294,
        -0.017132297,
        -0.05828256
      ],
"index": 0,
"object": "embedding"
    }
  ],
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
 }
}

增加大模型LLM:Zephyr-7B-β

# 增加 Zephyr-7B-β 的模型
curl http://localhost:8080/models/apply 
  -H "Content-Type: application/json" 
  -d '{ "id": "huggingface@thebloke__zephyr-7b-beta-gguf__zephyr-7b-beta.q4_k_s.gguf", 
        "name": "zephyr-7b-beta" }'

# 开始 Zephyr-7B-β 对话
curl http://localhost:8080/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{ "model": "zephyr-7b-beta", 
        "messages": [{
          "role": "user", 
          "content": "Why is the Earth round?"}], 
        "temperature": 0.9 }'


{
  "created": 1702050808,
  "object": "chat.completion",
  "id": "67620f7e-0bc0-4402-9a21-878e4c4035ce",
  "model": "thebloke__zephyr-7b-beta-gguf__zephyr-7b-beta.q4_k_s.gguf",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "\nThe Earth appears round because it is
actually a spherical body. This shape is a result of the 
gravitational forces acting upon it from all directions. The force 
of gravity pulls matter towards the center of the Earth, causing 
it to become more compact and round in shape. Additionally, the 
Earth's rotation causes it to bulge slightly at the equator, 
further contributing to its roundness. While the Earth may appear 
flat from a distance, up close it is clear that our planet is 
indeed round."
      }
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "completion_tokens": 0,
    "total_tokens": 0
  }
}

3. 部署AnythingLLM:利用Mintplex Labs官方Docker镜像安装,然后配置LocalAI后端和嵌入模型。

docker pull mintplexlabs/anythingllm:master

export STORAGE_LOCATION="/var/lib/anythingllm" && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
docker run -d -p 3001:3001 \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm:master

访问:http://localhost:3001,我们可以在其中使用直观的 GUI 开始配置。

在配置中,我们选择 LocalAI 后端配置:通过 http://172.17.0.1:8080/v1 URL 访问

嵌入模型配置与相同的 LocalAI 后端保持一致。

接下来,配置 Chroma 向量数据库,使用URL http://172.17.0.1:8000

AnythingLLM 还有自定义选项和安全配置。为了本教程的简单起见,这里跳过这一步配置。

创建一个工作区,命名为“Playground”。

在“Playground”工作区,我们可以上传文档,进一步扩展本地知识库。

至此我们能够与文档开始进行交互式对话。

总结:

AnythingLLM是Mintplex Labs提供的创新开源工具,它们极大地简化了私有知识库的构建和管理。通过高效的RAG模型实现和直观的用户界面,这些工具不仅保障了数据的安全性,同时也提供了强大的交互式文档处理能力。随着技术的不断进步,这些工具将为企业和个人用户提供更多的可能性和价值。

了解更多详情:

AnythingLLM GitHub: https://github.com/Mintplex-Labs/anything-llm

LocalAI Docs: https://localai.io/

AnythingLLM: https://useanything.com/

关注公众号|顶层架构领域|精彩与您分享

相关推荐

Win10全新版本速览 全新图标设计焕然一新

来源:太平洋电脑网[PConline资讯]原定于今年下半年发布的Win1021H2(SunValley),再有几个月就要与我们见面了。之前我们已经陆续介绍过新版在开始菜单、窗口动效、通知中心等方...

第四周B组最佳选手Icon:陨落天团的小将,还是重生星球的偶像?

B组本来被认为是死亡之组,但在上周的异组对抗赛中,实力较强的几只队伍却先后被A组击沉,反而是之前一分难求的OMG2:1战胜了IG,其中Icon功不可没,两次秀翻全场的妖姬和与Juejue中野联动的实力...

系统小技巧:不花一分钱 让声音再大些

有时,笔记本扬声器的音量可能无法满足我们对声音播放的需求。点击系统托盘的小喇叭图标,音量调节滑动条调整到最大也无效,而添置大功率扬声器又不是我们所愿。这时,可通过调整系统本身的设置或利用第三方软件来解...

DNF手游:70级毕业搭配曝光!需集齐四类装备,别指望无形升级了

随着dnf手游7.16版本的临近,各种70级装备的消息满天飞,真真假假难以辨别,但只要以“发布会爆料”为核心,主播十四的爆料为辅,就能确定70版本的毕业标准搭配,查理策划是打算“集百家之长”于一身,完...

学会这5个电脑设置 可解决99%的故障

现阶段复工大家都是宅家办公吧,所以电脑可谓是大救星,因为无论是“停课不停学”的网课,还是在家办公的穷社畜,都离不开电脑。所以今天小编就来教大家几招电脑的自救方法,让你可以在电脑出问题时从容面对,足不出...

LOL:上单腕豪的取胜之道——掌控自身优势,融合装备特效

01前言腕豪这个英雄,在11.9版本之前都没有太多的出场机会,即使出现也大多是在辅助位置上,充当开团、先手控制的角色。但是在11.9版本以后,这个英雄突然之间仿佛飞升了一般,直接冲上T1级别上单,之前...

英雄联盟手游:一篇文章读懂所有龙buff属性效果,还不赶紧收藏

英雄联盟手游采用也是经典峡谷地图,看起来和端游并没有太大差异,但实际上为了适应手游节奏,官方也是进行了适当调整,所以包括红蓝buff,大龙小龙buff效果会有一定的差异,现在就来看看小龙和大龙具体属性...

双击打不开怎么办?双击文件夹显示属性的解决办法

今天小编在双击文件夹的时候,就是打不开,还弹出“属性”对话框,不知道大家有没有出现过,为避免出现这种情况时大家束手无策,今天小编就来为大家分享一下解决方法。1.检查键盘,看看“Alt”键是否卡住。由于...

柜子布局好超省空间,1㎡当10㎡用,收纳涨5倍!户型图直接抄

柜子不嫌多,就怕你家放不下!▼每个空间几乎都需要柜子客厅要有电视柜,卧室要能放下全家四季的衣柜,厨房还需要大容量的橱柜空间就这么小,想要榨出放柜子的地方,还要活得不拥挤简直太难了!其实全是你找错地方打...

制作幻灯片的另类方法(然后制作幻灯片)

如果提到制作幻灯片,很多人都会想到PowerPoint。PowerPoint提供了很多模板,但这些模板实用性并不太高;PowerPoint的交互还算比较方便,但不可否认,交互显得有些呆板,而且要想修改...

《心灵杀手重制版》画面晃动怎么办?画面晃动解决办法

针对《心灵杀手重制版》画面晃动的问题,以下是一些解决办法:修改游戏启动路径:打开游戏所在的文件夹,找到游戏图标的属性并打开。在属性中修改启动路径,加入“-noblur”参数。例如,如果游戏安装在“X:...

win10网络图标是小地球怎么办(excel表格怎样选定区域打印)

win10系统右下角的网络图标突然变成地球图标,而且无法上网,提示无法连接到Internet。出现这个问题多数是因为win10正式版更新了或者是网络中断后遗症。那么win10网络图标变成地球怎么办呢?...

重看电脑任务栏的使用方法:windows 10小贴士

【环球科技综合报道】据日本Livedoor新闻网2月18日报道,windows电脑的屏幕下方配置的任务栏由于总是在电脑桌面上显示,可以说是一个映入眼帘的机会格外多的区域。像是把经常使用的软件图标设置在...

《地狱之门》攻略:四大元素属性介绍

《地狱之门》是近期比较看好的一款卡牌手游,绚丽的3D游戏画面以及创新的即时战斗系统给人耳目一新的感觉,非常值得一试。玩家不仅可以体验到卡牌收集的乐趣,更主要的是能体验到酣畅淋漓的战斗体验。下面小编就来...

一脸懵?DNF希洛克词条赋予属性触发条件解析

DNF希洛克已经开放两天,但是还是看到不少小伙伴对于希洛克词条赋予系统充满疑惑。今天就来简单易懂的给大家科普一下希洛克词条赋予系统里的弯弯绕绕。◎希洛克装备融合在希洛克获取了专属史诗之后,即可通过歌兰...