整个过程需要准备三个工具:
Ollama: 用于运行本地大模型的管理:llama3, qwen2等
Docker:用于运行AnythingLLM。
AnythingLLM:知识库运行平台,提供知识库构建及运行的功能。
Ollama, Docker
这二个安装不再重复,参考上个贴子:
https://blog.csdn.net/qq_28171389/article/details/140068915
AnythingLLM
安装AnythingLLM
一定要装Web版, 功能比Desktop版多
参考官网: https://github.com/Mintplex-Labs/anything-llm
网上很多介绍AnythingLLM的, 但搜了很少关于docker无脑的安装, 有的根关看不懂人家在写什么, 后面找到这个链接:
https://github.com/Mintplex-Labs/anything-llm/blob/master/docker/HOW_TO_USE_DOCKER.md
先拉取:
docker pull mintplexlabs/anythingllm
由于我的是windows, 在powerShell运行:
$env:STORAGE_LOCATION="$HOME\Documents\anythingllm"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION\.env")) {New-Item "$env:STORAGE_LOCATION\.env" -ItemType File}; `
docker run -d -p 3101:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION\.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
mintplexlabs/anythingllm;
STORAGE_LOCATION 缓存设为D盘路径
3101 自定义端口
还可用Docker Compose方式, 这里我没有去试用
配置 AnythingLLM
关联Ollama,从它调取模型,这里我用了qwen:7b
创建管理员,一定要先My team, 用于团队/公司
总的大概是这样设置:
上传文档让模型训练:
可以集成google搜索
使用 AnythingLLM
AnythingLLM有个优势,它可以按不同业务逻辑分别上传文档,再按不同的用户去登陆使用
还可以集成到你的内部OA系统里去
以下是 AnythingLLM 的一些功能总结:
- 支持多用户实例和权限
- 新的自定义可嵌入式聊天小部件,可以嵌入到你的网站
- 支持多种文件类型(PDF,TXT,DOCX等)
- 通过简单的用户界面管理你的向量数据库中管理文件
- 提供两种聊天模式:对话和查询。对话保留先前的问题和修订。查询是针对文档的简单QA
- 聊天过程中的引用
- 100%适合云部署。
- “自带LLM”模型
- 处理大文件时极有效的节约成本措施。你永远不必为将大型文件或记录输送到聊天机器人中支付费用,比其他的文件聊天机器人解决方案节省90%的费用。
- 提供全面的开发者API用于自定义集成!
同类开源项目大多基于Python语言开发。AnythingLLM采用了Javascript,前端用React,后端用Node,对于全栈工程师非常友好。
• 前端: React和ViteJS,实现创建和管理大模型用到的知识库
• 后端: Node.js Express框架,实现向量数据库的管理和所有与大模型的交互
• 采集器: Node.js Express框架,实现对文档的处理解析
多用户模式
这一点对于企业级应用特别关键,AnythingLLM支持多用户模式,3种角色的权限管理。
系统会默认创建一个管理员(Admin)账号,拥有全部的管理权限。
第二种角色是Manager账号,可管理所有工作区和文档,但是不能管理大模型、嵌入模型和向量数据库。
普通用户账号,则只能基于已授权的工作区与大模型对话,不能对工作区和系统配置做任何更改。
交流q:
link : 316853809