Ollama + Docker + AnythingLLM 搭建本地多用户AI知识库

整个过程需要准备三个工具:

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;

anythingllm在powerShell里运行

STORAGE_LOCATION 缓存设为D盘路径
3101 自定义端口

还可用Docker Compose方式, 这里我没有去试用

配置 AnythingLLM

关联Ollama,从它调取模型,这里我用了qwen:7b
在这里插入图片描述
创建管理员,一定要先My team, 用于团队/公司
在这里插入图片描述
总的大概是这样设置:
在这里插入图片描述
上传文档让模型训练:
在这里插入图片描述
可以集成google搜索
在这里插入图片描述

使用 AnythingLLM

AnythingLLM有个优势,它可以按不同业务逻辑分别上传文档,再按不同的用户去登陆使用
在这里插入图片描述
还可以集成到你的内部OA系统里去
在这里插入图片描述
在这里插入图片描述
以下是 AnythingLLM 的一些功能总结:

  1. 支持多用户实例和权限
  2. 新的自定义可嵌入式聊天小部件,可以嵌入到你的网站
  3. 支持多种文件类型(PDF,TXT,DOCX等)
  4. 通过简单的用户界面管理你的向量数据库中管理文件
  5. 提供两种聊天模式:对话和查询。对话保留先前的问题和修订。查询是针对文档的简单QA
  6. 聊天过程中的引用
  7. 100%适合云部署。
  8. “自带LLM”模型
  9. 处理大文件时极有效的节约成本措施。你永远不必为将大型文件或记录输送到聊天机器人中支付费用,比其他的文件聊天机器人解决方案节省90%的费用。
  10. 提供全面的开发者API用于自定义集成!
    同类开源项目大多基于Python语言开发。AnythingLLM采用了Javascript,前端用React,后端用Node,对于全栈工程师非常友好。

前端: React和ViteJS,实现创建和管理大模型用到的知识库

后端: Node.js Express框架,实现向量数据库的管理和所有与大模型的交互

采集器: Node.js Express框架,实现对文档的处理解析

多用户模式

这一点对于企业级应用特别关键,AnythingLLM支持多用户模式,3种角色的权限管理。

系统会默认创建一个管理员(Admin)账号,拥有全部的管理权限。

第二种角色是Manager账号,可管理所有工作区和文档,但是不能管理大模型、嵌入模型和向量数据库。

普通用户账号,则只能基于已授权的工作区与大模型对话,不能对工作区和系统配置做任何更改。

交流q:

link :  316853809

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Intent页面跳转

1. Intent的概念及使用 概念 Android中提供了一种Intent机制来协助应用程序间、组件之间的交互与通信,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将I…

等保测评——云计算测评项2

安全计算环境-身份鉴别 当远程管理云计算平台中设备时,管理终端和云计算平台之间应建立双向身份验证机制; 远程管理云计算平台中的设备时,双向身份验证机制确保了管理终端和对端服务器的真实性,有效防止了重放攻击和DoS攻击,大大…

CGLib动态代理技术

基于CGLib的动态代理机制,ProxyFactoryy无需再像JDK动态代理那样实现一个interface,实际情况下可能这个interface并不存在,只需要实现另外一个接口MethodInterceptor即可 package com.hmdp.service.尚硅谷的代理模式3; //CGlib代理import …

模电基础 - 信号

目录 一. 信号 二. 信号应用领域 三. 无线信号 四. 电信号 五. 无线通信,蓝牙,lora 无线通信(General Wireless Communication) 蓝牙(Bluetooth) LoRa(Long Range) 一. 信号 信号是用于传递、表示或…

PEI转染试剂说明书(悬浮细胞转染)

目前使用最广泛的阳离子聚合物转染试剂是PEI(聚乙烯亚胺),因其毒性低、成本低、免疫原性低,可将外源基因转染到悬浮细胞或贴壁细胞中。同时,它也是一种适用于瞬时转染人HEK-293T细胞的试剂,尤其适用于大规模…

Oracle密码过期处理方式

1、如果密码因为时间到期而过期,需要修改密码才能重新。 alter user mx identified by oracle; alter user mx account unlock; 2、如果不记得密码,可以通过values方式修改 select name,password from dba_users; --11g select name,password from …

AI大模型深度学习:理论与应用全方位解析

背景 在当前技术环境下,AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力,还需要对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法,AI大模型学习能够不断提升模型的准确性和效率,为人类生活和工作带来更多…

华为机试HJ7取近似值

华为机试HJ7取近似值 题目: 将给定的数值小数点后的数值进行四舍五入 想法一: 遍历输入的每个字符,将小数点之前的字符拼接,小数点后一位的数值进行四舍五入的判断,并将四舍五入后的数值与小数点位之前的数值相加获…

【Eureka服务治理深度解析】探索灰度发布的实现之道

标题:【Eureka服务治理深度解析】探索灰度发布的实现之道 Eureka作为Netflix开源的服务发现框架,在微服务架构中扮演着核心角色。灰度发布作为一种重要的部署策略,允许逐步推出新版本的服务,以减少对用户的影响并提高系统的稳定性…

Xilinx FPGA:vivado实现乒乓缓存

一、项目要求 1、用两个伪双端口的RAM实现缓存 2、先写buffer1,再写buffer2 ,在读buffer1的同时写buffer2,在读buffer2的同时写buffer1。 3、写端口50M时钟,写入16个8bit 的数据,读出时钟25M,读出8个16…

[图解]企业应用架构模式2024新译本讲解20-数据映射器2

1 00:00:01,860 --> 00:00:06,180 那么这个数据映射器因为它有这样的特点 2 00:00:07,310 --> 00:00:12,630 你想想,它负责同步这两边 3 00:00:13,010 --> 00:00:14,930 对象、数据库是独立的 4 00:00:15,990 --> 00:00:18,690 然后 5 00:00:18,700…

掌握MySQL基础命令:数据表结构修改详细操作

MySQL数据表(Table)是MySQL数据库中存储数据的基本结构单元。简单来说,数据表可以被看作是一个二维的、由行(Row)和列(Column)组成的表格,其中每一行代表了一个记录(Reco…

Docker(二):Docker image Docker Container

本文将介绍 Docker 映像和容器以及 docker 文件之间的差异与联系,本文还将解释如何以及何时使用它们。 什么是 Dockerfile? 它是一个简单的文本文件,包含命令或过程的集合。我们运行的这些命令和准则作用于配置为创建新的 Docker 镜像的基本…

深入Django(五)

Django的URL路由系统 引言 在前四天的教程中,我们分别介绍了Django的基本概念、模型、视图和模板系统。今天,我们将讨论Django的URL路由系统,这是将URL路径映射到视图函数的机制。 Django URL路由概述 Django的URL路由系统允许你将URL路径…

《长江信息通信》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《长江信息通信》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《长江信息通信》级别? 答:省级。主管单位:湖北省通信管理局 主办单位&#xff…

基于 Gunicorn + Flask + Docker 的模型高并发部署

在现代 Web 应用程序中,处理高并发请求是一个常见且重要的需求。本文将介绍如何使用 Gunicorn、Flask 和 Docker 来实现模型的高并发部署。我们将从环境设置、代码实现、Docker 镜像构建及部署等方面进行详细讲解。 一、环境设置 1. 安装 Flask 首先,…

Vue实现金钱输入框组件自动带千位逗号

新建PriceInput.vue <template><div id"bord"><el-inputv-model"inputValue"v-bind"$attrs":maxlength"maxlength"input"handleInput"focus"handleFocus"blur"handleBlur"change"h…

关于“爱奇艺限制投屏案”的反思

#爱奇艺 #法律 #经济补偿 #合同违约 #互联网企业的商业模式 #舆论监督 “爱奇艺限制投屏案”一审判决结果是&#xff0c;原告朱元作为爱奇艺APP黄金VIP会员&#xff0c;在2025年7月15日前享有720P和1080P清晰度的投屏权益&#xff0c;爱奇艺平台补偿原告41天的黄金会员VIP…

ABAQUS山东济南青岛正版代理商亿达四方:构筑仿真技术新高地

在历史悠久而又充满活力的齐鲁大地上&#xff0c;济南与青岛作为山东省的两大核心城市&#xff0c;正引领着区域经济的蓬勃发展与科技创新。亿达四方&#xff0c;作为ABAQUS在山东济南与青岛的官方正版代理商&#xff0c;正以先进的仿真技术为基石&#xff0c;助力两地企业加速…

C++ 如何解决回调地狱问题

“地狱回调”&#xff08;Callback Hell&#xff09;是指在编程中使用过多嵌套回调函数&#xff0c;导致代码难以阅读和维护。C 提供了多种方法来解决这个问题&#xff0c;包括以下几种常见的方法&#xff1a; 使用 Lambda 表达式和标准库的 std::function使用 std::future 和…