Blog

一粒云5.1.4发布|打通企业办公系统壁垒,重构高效协作底座

版本定位:针对企业「多系统割裂、协作低效」的核心痛点,聚焦系统集成、安全强化、效率闭环三大方向,将致远/蓝凌/以及之前集成过的泛微OA、金蝶云之家、企业微信消息等工具整合为统一办公中枢,助力组织降低协作成本。

一、全链路系统集成:从“跨平台切换”到“统一入口”

一粒云5.1.4本次更新实现与致远OA、蓝凌OA、金蝶云之家、企业微信消息、布谷智慧校园的深度对接,覆盖企业更多核心办公场景:

  • 单点登录(SSO):用户无需重复输密码,点击云盘即可直达OA审批页,降低密码管理成本;
  • 消息与文件互通:OA待办提醒、文件修改通知实时推送至云盘,云盘文件可直接嵌入OA页面预览,实现云盘文件在OA中的穿透,避免“下载-发送-再打开”的繁琐;
  • 组织架构同步:蓝凌/金蝶/泛微/用友/竹云/致远/通达/钉钉/企微的组织架构自动同步至云盘,权限管理精准度提升,杜绝“越权访问”风险。
  • 审批流程打通:云盘审批已经实现对接 蓝凌/金蝶 2个品牌的审批功能,在云盘发起,在OA上审批,审批结果返回到云盘的整合。

本次更新集成列表:

  1. 致远OA单点登录
  2. 致远OA消息推送互通
  3. 致远OA文件穿透到云盘
  4. 蓝凌OA单点登录
  5. 蓝凌OA组织架构集成对接
  6. 蓝凌OA审批流集成
  7. 金蝶云之家单点登录
  8. 金蝶云之家架构集成对接
  9. 金蝶云之家OA审批流集成
  10. 布谷智慧校园单点登录集成
  11. 布谷智慧校园组织架构集成对接
  12. 企业微信应用消息互通


二、AI与安全兼容双加固:智能守护企业数据资产

针对企业最关心的「AI能力提升」「数据安全」与「多设备适配」问题,版本做了关键升级:

  • 无缝集成新产品知索RAG,AI搜索更加高效与准确
  • 新增AI辅助阅读,新增8大AI模块(集成知索rag,详情见rag系统介绍)
  • 自定义动态水印:支持“用户ID+时间+部门”的组合水印,可针对文件、文件夹自定义设置,覆盖内部分享、外部传输场景,有效防止文件截屏泄密;
  • 全平台兼容:完美适配鸿蒙Next、新版iOS及H5端,解决此前文件下载卡顿、预览变形的问题;
  • bugfix:
  • 修复全盘搜索的权限问题
  • 修复将ipgurad集成后文件清除逻辑文件索引状态展示
  • 修复文件名后缀允许和不允许修改状态bug
  • 修复外链到期后消息推送到企业微信bug
  • 修复AD域绑定部门被删除后无法同步等问题
  • 修复了文件本地编辑锁住后依然能使用wps、onlyoffice 等web在线编辑的问题
  • 修复部分NAS文件导入到云盘重命名与不能预览等问题
  • 等等

三、效率工具闭环:优化文件生命周期管理

新增功能聚焦「文件管理最后一公里」:

  • 文件有效期:可为文件快捷设置30天60天90天/永久的有效期,到期自动推送企业微信提醒;
  • 内部分享直连:分享文件时自动生成带跳转链接的企业微信消息,同事点开即可访问,省去“发长串路径”的沟通成本。
  • 本次更新清单:
  • 新增文件有效期,到期消息可推送到企业微信
  • 新增内部分享消息推送到企业微信,并附带跳转链接
  • 新增第三方调用云盘接口采用统一的apikey认证
  • 新增onlyoffice9版本的jwt认证
  • 新增全文搜索页面打包下载增加下载进度和文件压缩进度展示
  • 等等

一粒云5.1.4不是功能堆砌,而是以“用户协作场景”为核心的系统重构。通过打通工具、强化安全、优化效率,帮助企业从“多系统作战”转向“统一平台运营”,真正实现降本增效。

欢迎广大客户、渠道商安装和体验,我们为客户准备了一键安装包和小规模永久使用账号可以快速体验或长期使用。

一粒云手册:一粒云存储扩容与用户空间分配

目录

第一章 CentOS系统添加磁盘存储

1.1. 查看系统磁盘状况

1.2. 给磁盘分区

1.3. 格式化磁盘分区

1.4. 挂载新磁盘到/opt目录下

1.5. 设置开机自动挂载

1.6. 重启服务器,验证是否开机自动挂载磁盘

第二章 一粒云存储配置

2.1. 存储配置文件说明

2.2. 重启服务

2.3. 测试

前言:本文介绍如何在系统添加新的存储并扩容到一粒云

一粒云服务器系统登陆账号:root密码yliyun!@#$

第一章 CentOS系统添加磁盘存储

一.1. 查看系统磁盘状况

前提是先将磁盘或者外接存储连接到服务器上

登陆服务器,在命令行终端输入命令,列出系统上所有可用磁盘设备信息

lsblk

从下图可以看出sdb为新增20G的空闲磁盘,并未分区

一.2. 给磁盘分区(手动磁盘分区,linux 小白谨慎操作哦)

1)进入parted分区工具(sdb 是视实际情况的盘符编号)

parted /dev/sdb

2)设置分区类型为gpt

mklabel gpt

3)如果有提示yes/no,那么要yes确认

yes

4)扩展分区extended ,主分区primary ,并使用整个硬盘

mkpart extended 0% 100%

5)查看一下

print

6)退出工具

quit

一.3. 格式化磁盘分区

格式化为xfs分区(因为给sdb只分了1个区,所以分区名称为sdb1)

mkfs.xfs /dev/sdb1

如果提示已有其他文件系统创建在此分区加-f参数 mkfs.xfs -f /dev/sdb1

一.4. 挂载新磁盘到/opt目录下

mount /dev/sdb1 /opt

或者mount -t xfs /dev/sdb1 /opt

如果挂载新磁盘到/opt目录之前,有文件存放在/opt目录下那将看不到之前的文件了,需要卸载磁盘后,先将之前/opt目录下的文件移动到其他位置,再挂载。卸载磁盘命令为:

 umount /dev/sdb1

一.5. 设置开机自动挂载

1)查看磁盘信息,确定已经成功挂载到/opt目录下

lsblk -f

从下图可以看出sdb1已经挂载到/opt目录下了

上图中每一列的含义:

NAME:磁盘名称和磁盘分区的名称

FSTYPE:文件系统类型

LABEL UUID:磁盘的UUID

MOUNTPOINT:磁盘的挂载点

2)编辑配置文件

vi /etc/fstab

在最后一行填写/dev/sdb1  /opt  xfs  defaults  0  0

编辑完毕后按Esc键,输入:wq回车,保存退出

如下图

谨慎操作,上图中任意信息填错将会导致系统无法正常开机

一.6. 重启服务器,验证是否开机自动挂载磁盘

reboot

如果导致无法正常开机,基本都是第5步骤信息填写错误:

1、开机后按提示输入root密码;

2、mount -o remount,rw / #使根目录下的文件可主读写

3、vi /etc/fstab #修改错误的地方


第二章 一粒云存储配置

如果系统已经挂载好了新存储,仅需要添加到一粒云存储中

Mount 挂载新磁盘到文件系统(参考)

mount /dev/sdb /yliyun_data

二.1. 存储配置文件说明

一粒云存储配置文件有两个,当修改时两个都需要修改

/opt/yliyun/fdfs/etc/storage.conf

/opt/yliyun/fdfs/etc/mod_fastdfs.conf

  • 配置中store_path_count=1参数默认1,如果新增1条存储,那需要改为2,以此类推。
  • 配置中store_path0=/opt/yliyun/data/g1_data0 为云盘默认的存储位置,可修改。
  • 如果要更改默认存储路径,修改store_path0=/opt/yliyun/data/g1_data0为store_path0=‘新的路径’
  • 如果要新增存储,在store_path0的下一行添加store_path1=’你的存储挂载路径’,以此类推。

默认新系统做法

(没有数据的情况下,直接修改地址为挂载路径,其它配置不变):

store_path0=/yliyun_data

二.2. 重启服务

/opt/yliyun/bin/fdfs stop

/opt/yliyun/bin/fdfs start

/opt/yliyun/bin/nginx restart

二.3. 测试

  • 等待几秒后,查看云盘【系统概览】内的磁盘大小
  • 上传、下载、预览多个文件是否成

手动分配用户空间,请进入到管理后台按下图操作

更好的tika文本抽取器

MiniTikaMiniExtractor v2 使用说明

一个精简版(面向嵌入式调用而不是命令行)的 Tika 抽取工具,仅保留常用输出能力,并新增 XMP_TEXT(正文 + XMP)模式。
特点:

  • 不依赖复杂 CLI 逻辑、批处理、递归嵌入等高级功能
  • 统一入口:extractToString(Path, Mode)extract(Path, Mode, OutputStream, ...)
  • 模式之间严格区分:正文 / 主体正文 / 全量文本 / 元数据 / JSON / XMP / 正文+XMP / 语言 / MIME 检测
  • XMP 生成失败时可自动降级(输出 _xmpFallback 标记的 JSON)

1. 支持的模式 (Mode 枚举)

模式说明输出内容示例
TEXT正文纯文本(BodyContentHandler)段落文本
TEXT_MAIN主体正文(BoilerpipeContentHandler,需 boilerpipe 依赖;缺失时回退 TEXT)网页主体/正文
TEXT_ALL尽可能多的文本(WriteOutContentHandler)全部可见字符
METADATA仅元数据(key: value 多行)Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
JSON元数据 JSON(多值字段为数组){ "Content-Type":"application/pdf", ... }
XMPXMP XML(失败回退 { "_xmpFallback": true }<x:xmpmeta ...>
XMP_TEXT正文 + 分隔线 + XMP(失败回退为正文 + Fallback JSON)正文...\n-----XMP-BEGIN-----\n<x:xmpmeta ...>
LANGUAGE语言代码(依赖 tika-langdetect-optimaizeen
DETECT只输出 MIME 类型application/pdf

分隔线固定:-----XMP-BEGIN-----(可按需在代码中改)


2. Maven 依赖建议

使用 统一版本(示例 3.2.2),避免混用不同 Tika 版本或 POI 版本导致 NoClassDefFoundError

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-bom</artifactId>
      <version>3.2.2</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <!-- 解析主体(含 core/parsers) -->
  <dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers-standard-package</artifactId>
  </dependency>

  <!-- TEXT_MAIN 模式需要 -->
  <dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-handler-boilerpipe</artifactId>
  </dependency>

  <!-- LANGUAGE 模式需要 -->
  <dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-langdetect-optimaize</artifactId>
  </dependency>

  <!-- XMP / XMP_TEXT 模式需要 -->
  <dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-xmp</artifactId>
  </dependency>
</dependencies>

如项目中已有其它模块引入不同版本的 tika-core,请使用 <exclusions> 排除并用 BOM 统一。


3. 快速使用

import java.nio.file.Path;

public class Demo {
    public static void main(String[] args) throws Exception {
        Path file = Path.of("example.docx");

        // 1. 普通正文
        String text = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.TEXT);
        System.out.println(text);

        // 2. 主体正文(若无 boilerpipe 依赖将回退 TEXT)
        String main = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.TEXT_MAIN);

        // 3. JSON 元数据
        String json = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.JSON);

        // 4. XMP
        String xmp = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.XMP);

        // 5. 正文 + XMP
        String combo = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.XMP_TEXT);

        // 6. MIME 检测
        String mime = MiniTikaMiniExtractor.extractToString(file, MiniTikaMiniExtractor.Mode.DETECT);
    }
}

输出示例(XMP_TEXT):

这是文档正文第一段
这是第二段

-----XMP-BEGIN-----
<x:xmpmeta xmlns:x="adobe:ns:meta/">
  ...
</x:xmpmeta>

4. XMP_TEXT 模式说明

流程:

  1. 首次解析使用 BodyContentHandler 抽取纯文本;
  2. 输出文本原文;
  3. 输出分隔符 -----XMP-BEGIN-----
  4. 尝试构建 XMPMetadata 并输出;
  5. 若构建失败(缺依赖/版本冲突),输出 Fallback JSON(带 _xmpFallback:true 标记)。

5. 常见问题

问题可能原因解决
XMP / XMP_TEXT 报 NoClassDefFoundError: OOXMLParserTika/POI 多版本冲突统一版本,使用 BOM;移除旧 POI
TEXT_MAIN 回退为普通文本缺少 tika-handler-boilerpipe添加依赖
LANGUAGE 输出空文本太短或缺语言模型确认 langdetect 依赖;测试长文本
JSON 中少字段解析器未产出该元数据检查文档内容本身或换另一模式 (METADATA) 验证
PDF 内嵌图片文字未识别未开启 OCR(该精简器未集成 OCR 选项)如需 OCR 可在代码中添加 TesseractOCRConfig 支持

6. 扩展建议(可按需自行添加)

需求建议方案
加 OCR在构造函数中 set TesseractOCRConfigParseContext
递归嵌入 JSON使用 RecursiveParserWrapper 替换当前一次性解析
分页 (PDF 每页)使用 PDFParserConfig#setExtractAcroFormContent + 自定义 Handler 或直接分割文本
PPT 每页分离解析后按 Slide 标记拆分,或使用 POI 回退逻辑
限制最大文本长度改用 BodyContentHandler(int writeLimit)

7. 代码结构概要

  • 枚举 Mode:声明所有输出模式
  • 内部抽象类 OutputType:与 TikaCLI 类似,定义 process + getContentHandler 模板
  • 多个匿名或私有内部类实现元数据 / JSON / XMP Handler
  • XMP_TEXT 模式自定义双阶段:正文采集 + XMP 输出
  • 工具方法:
  • extractToString(Path, Mode)
  • extract(Path, Mode, OutputStream, ..., password, enablePDFInlineImages)

8. 返回格式对比速览

Mode典型首行示例
TEXT这是正文第一段
TEXT_MAIN(可能更短的核心正文)
TEXT_ALL(含更多隐藏文本/脚注等)
METADATAContent-Type: application/pdf
JSON{ "Content-Type":"application/pdf", ... }
XMP<x:xmpmeta ...>
XMP_TEXT正文...\n-----XMP-BEGIN-----\n<x:xmpmeta ...>
LANGUAGEen
DETECTapplication/vnd.openxmlformats-officedocument.wordprocessingml.document

9. 许可证与免责声明

本文件示例代码基于 Apache Tika(Apache License 2.0)。你可自由修改和整合。请注意:

  • 在生产环境处理来路不明文件时,需做好资源限制(内存/CPU/超时)。
  • 对特大文件建议增加写入限制或流式处理,避免内存溢出。

10. 变更记录(简写)

版本说明
v1初始:TEXT / TEXT_MAIN / TEXT_ALL / METADATA / JSON / XMP / LANGUAGE / DETECT
v2新增 XMP_TEXT;XMP 支持 Fallback;文本与 XMP 组合输出

如需后续增强(OCR / 递归 JSON / 每页切分 / 结构化返回),可再补充需求。

一粒云文档智能与AI知识库

本文主要描写一粒云 KDOCS 文档智能与“企业AI知识库”模块功能设计、应用作用与价值特点 的详细说明,包含对 RAG(Retrieval-Augmented Generation)能力的落地化需求及技术支撑,适用于政企私有化部署场景。


🔍 一、功能模块概述:

一粒云AI知识引擎通过结合 NLP、大语言模型与企业级知识管理技术,为私有部署环境中的企业打造集“文档结构解析、信息提取、智能问答、知识重组与生成”于一体的 AI 增强型文档智能处理与知识中台系统。

系统具备完整的单文档智能处理能力多文档级知识库管理能力,并开放标准 API 支持业务集成、模型适配与写作生成。


一粒云单个文档智能应用

🧠 二、单文件智能处理能力

功能点API作用企业价值
文档问答qa/single针对上传的某一文件进行结构化问答,支持中文、英文快速获取内容重点,节省通读时间
大纲摘要提取extract/summary提取段落级结构,生成目录或提纲提高文档导航效率,适配AI摘要
关键词标签提取extract/tags自动识别核心词汇与业务标签结构化分类文档,便于索引与搜索
整篇/滑词翻译translate/file支持多语言全文与高频词翻译海外业务或多语协作支持,消除语言壁垒
实体抽取extract/entities提取公司名、人名、时间、金额等关键实体生成知识图谱节点,支撑RAG召回
语义分段与内容定位parse/semantic按主题、逻辑结构解析文档段落为后续问答召回和搜索优化结构

📚 三、多文件处理与知识库管理功能

KDocs AI 支持企业建立多个独立的知识库,并对知识库进行管理、问答、内容抽取与生成,构建 AI 可用知识中台。

🧩 知识库核心能力

功能模块API 说明描述
知识库管理kb/create, kb/update, kb/delete, kb/list, kb/detail管理知识库生命周期
文档管理kb/upload, kb/get, kb/status上传、获取、查询文档处理进度
知识库问答kb/qa面向整个知识库语义理解后回答问题
知识库搜索召回kb/retrieve对上传文档进行embedding匹配召回段落
应用管理app/create, app/update, app/delete为不同业务创建知识库应用
模型与上下文配置config/model, config/context, config/prompt支持多模型切换、上下文窗口调整、提示词优化

✍️ 四、AI智能写作支持(可嵌入页面)

模块描述企业价值
基于知识库写作将知识库作为输入源,进行营销文案、公文草稿、汇报材料等撰写高效生成合规内容,助力政务、法务、销售等场景
基于模版生成按行业/场景模版写作(如合同、公函、方案)降低标准性内容撰写门槛
结构化生成支持提供字段填空、内容扩写、逻辑校对支持业务流程中表单/报告快速生成

⚙️ 五、系统性能指标与优化维度

指标说明优化方向
召回率检索文本块与用户问题匹配的准确度多粒度向量切分 + 语义增强检索
响应时间从请求到回答的整体耗时支持缓存机制、并发优化
问答准确性LLM 回答的正确性与贴合度提示词精调 + embedding 语义训练
安全合规性知识库私有部署、可审计不联网运行、权限控制

✅ 六、价值特点总结

特点描述
🛠️ 全功能私有化部署所有智能处理与生成功能均支持内网离线部署,保障数据主权
📦 模块API化,灵活接入所有能力通过 API 暴露,便于嵌入OA/ERP/BI等系统
🔁 知识资产循环利用从沉淀→分析→问答→写作→复用,形成完整知识闭环
📊 适配不同模型支持国产模型、开源模型(如Qwen, InternLM)自由挂载
🚀 快速部署,性能可调支持向量搜索引擎、缓存优化、多机扩展等性能策略

在三台 CentOS 7 虚拟机上使用 Docker 安装 Elasticsearch 8.17 的详细教程

概述

本教程将带您通过 Docker 在三台 CentOS 7 虚拟机上安装并配置 Elasticsearch 8.17。Elasticsearch 是一个开源的分布式搜索引擎,通常用于日志和数据分析。在这个教程中,您将学习如何:

  1. 在三台 CentOS 7 虚拟机上安装 Docker。
  2. 使用 Docker 容器安装 Elasticsearch。
  3. 配置并启动 Elasticsearch 集群。

前提条件

  1. 三台 CentOS 7 虚拟机。
  2. 每台虚拟机的网络能够相互访问。
  3. 每台虚拟机至少 4GB 内存,2 个 CPU 核心。
  4. 基本的 Linux 操作系统操作知识。

步骤 1:在三台 CentOS 7 虚拟机上安装 Docker

  1. 更新系统 在每台虚拟机上执行以下命令,确保系统是最新的: sudo yum update -y
  2. 安装 Docker 运行以下命令以安装 Docker: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 添加 Docker 官方的仓库: sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装 Docker CE(Community Edition): sudo yum install -y docker-ce docker-ce-cli containerd.io
  3. 启动 Docker 服务 启动 Docker 服务,并设置为开机启动: sudo systemctl start docker sudo systemctl enable docker
  4. 验证 Docker 安装 使用以下命令验证 Docker 是否安装成功: sudo docker --version 如果返回 Docker 版本信息,说明 Docker 安装成功。

步骤 2:在三台虚拟机上安装 Elasticsearch Docker 镜像

  1. 拉取 Elasticsearch 镜像 在每台虚拟机上运行以下命令拉取 Elasticsearch 8.17 的 Docker 镜像: sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.17.0 这将从 Docker 官方仓库下载 Elasticsearch 镜像。
  2. 确认 Elasticsearch 镜像已下载 使用以下命令确认 Elasticsearch 镜像已成功下载: sudo docker images 输出应该显示 elasticsearch:8.17.0 镜像。

步骤 3:配置 Elasticsearch 集群

为了使三台虚拟机上的 Elasticsearch 实例成为一个集群,我们需要为每台机器配置不同的节点名称、主机地址以及集群名称。

配置 Elasticsearch 环境变量

  1. 创建 Docker 配置文件 在每台虚拟机上,为 Elasticsearch 创建一个名为 elasticsearch.yml 的配置文件: sudo mkdir -p /etc/elasticsearch sudo touch /etc/elasticsearch/elasticsearch.yml
  2. 配置节点设置 编辑 elasticsearch.yml 文件,配置每个节点的 IP 地址和集群名称。以下是一个配置示例: cluster.name: "my-cluster" node.name: "node-1" # 每台机器的节点名不同 network.host: 0.0.0.0 discovery.seed_hosts: ["<VM-1-IP>:9300", "<VM-2-IP>:9300", "<VM-3-IP>:9300"] cluster.initial_master_nodes: ["node-1", "node-2", "node-3"] 在每台虚拟机上,分别将 node.name 改为 node-1node-2node-3,并将 discovery.seed_hosts 配置为集群中其他两台机器的 IP 地址。 注意:<VM-1-IP><VM-2-IP><VM-3-IP> 需要替换为实际的虚拟机 IP 地址。

步骤 4:启动 Elasticsearch 集群

  1. 启动容器 在每台虚拟机上使用以下命令启动 Elasticsearch 容器: sudo docker run -d \ --name elasticsearch-node-1 \ --net host \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \ -e "node.name=node-1" \ -e "cluster.name=my-cluster" \ -e "network.host=0.0.0.0" \ -e "discovery.seed_hosts=<VM-2-IP>:9300,<VM-3-IP>:9300" \ -e "cluster.initial_master_nodes=node-1,node-2,node-3" \ docker.elastic.co/elasticsearch/elasticsearch:8.17.0 其中:
    • --name 指定容器的名称。
    • -e "discovery.type=single-node" 用于非集群模式(仅测试时使用)。生产环境中不要设置此选项。
    • -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" 设置 Elasticsearch 的 JVM 堆内存为 2GB。
    • -e "node.name=node-1" 指定节点名称。
    • -e "discovery.seed_hosts" 配置集群中其他节点的 IP 地址。
    将每台虚拟机的命令中的 node-1 修改为 node-2node-3,并相应地调整 IP 地址。
  2. 检查 Elasticsearch 容器状态 使用以下命令检查容器是否成功启动: sudo docker ps 如果容器在运行,它会显示类似以下内容: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 123456789abc docker.elastic.co/elasticsearch/elasticsearch "/bin/bash -c 'exec ... " 5 minutes ago Up 5 minutes elasticsearch-node-1
  3. 查看 Elasticsearch 日志 如果容器启动出现问题,可以查看 Elasticsearch 容器的日志: sudo docker logs elasticsearch-node-1

步骤 5:验证 Elasticsearch 集群

  1. 访问 Elasticsearch REST API 在其中一台虚拟机上,您可以使用 curl 来检查 Elasticsearch 是否正常运行: curl -X GET "localhost:9200/" 如果 Elasticsearch 正常启动,您将看到类似以下的响应: { "name" : "node-1", "cluster_name" : "my-cluster", "cluster_uuid" : "abc123xyz", "version" : { "number" : "8.17.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "abcdef1234567890", "build_date" : "2023-05-10T10:39:57.596481991Z", "lucene_version" : "9.4.2", "minimum_wire_compatibility_version" : "7.10.0", "minimum_index_compatibility_version" : "7.10.0" } }
  2. 验证集群状态 使用以下命令验证 Elasticsearch 集群的状态: curl -X GET "localhost:9200/_cluster/health?pretty=true" 如果集群状态为 green,表示集群正常工作。

步骤 6:集群管理

  1. 增加节点 如果需要添加更多节点,可以使用以下命令在其他虚拟机上启动新的容器,确保将 discovery.seed_hostscluster.initial_master_nodes 配置为当前集群中的所有节点。
  2. 停止和删除容器 要停止并删除容器,可以使用以下命令: sudo docker stop elasticsearch-node-1 sudo docker rm elasticsearch-node-1

结语

通过本教程,您已经成功在三台 CentOS 7 虚拟机上通过 Docker 安装并配置了一个 Elasticsearch 8.17 集群。现在您可以根据自己的需求调整 Elasticsearch 配置,执行查询,或将其与其他服务集成。

关注一粒云,使用一粒云kbox,或者一粒云kdocs 建立一下结构文件夹结构管理好es8机群部署:


elasticsearch-setup/

├── docs/ # 存放安装文档及操作手册
│ ├── README.md # 项目概述、安装流程
│ ├── es-installation-guide.md # Elasticsearch 安装教程
│ ├── es-cluster-configuration.md # Elasticsearch 集群配置教程
│ ├── es-troubleshooting.md # 常见问题和解决方案
│ └── es-security-setup.md # 安全配置教程(如启用 SSL/TLS、认证)

├── scripts/ # 存放所有相关的脚本文件
│ ├── install-docker.sh # 在 CentOS 7 上安装 Docker 的脚本
│ ├── start-es-container.sh # 启动 Elasticsearch 容器的脚本
│ ├── setup-es-cluster.sh # 配置 Elasticsearch 集群的脚本
│ ├── stop-es-container.sh # 停止 Elasticsearch 容器的脚本
│ └── cleanup.sh # 清理不再需要的容器和镜像的脚本

├── config/ # 存放配置文件
│ ├── elasticsearch.yml # Elasticsearch 配置文件
│ └── docker-compose.yml # 如果使用 Docker Compose 部署,存放该文件

├── logs/ # 存放日志文件(安装过程、运行时日志)
│ ├── install-log.txt # 安装过程中生成的日志文件
│ └── es-container-logs/ # Elasticsearch 容器运行时的日志
│ ├── elasticsearch-node-1.log
│ ├── elasticsearch-node-2.log
│ └── elasticsearch-node-3.log

└── backups/ # 存放数据备份、容器配置等重要文件
├── es-backup-2025-06-04.tar.gz # Elasticsearch 数据备份
└── config-backup-2025-06-04.tar.gz # 配置文件备份

VLLM对比Ollama,6卡A5000 部署VLLM + Dify​​的详细教程


​一、硬件与基础环境准备​

​1. 服务器配置要求​

  • ​GPU​​:6×NVIDIA A5000(24GB显存/卡,共144GB显存)
  • ​内存​​:≥64GB RAM
  • ​存储​​:≥500GB SSD(推荐NVMe)
  • ​系统​​:Ubuntu 22.04 LTS / Debian 12

​2. 环境初始化​

# 安装基础工具
sudo apt update && sudo apt install -y docker.io nvidia-container-toolkit
# 配置Docker使用NVIDIA GPU
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

​二、VLLM多卡部署(6卡优化)​

​1. 安装vLLM​

# 创建虚拟环境
conda create -n vllm python=3.10 -y && conda activate vllm
# 安装vLLM(推荐0.5.4+)
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple

​2. 启动6卡推理服务​

vllm serve --model /path/to/model \  
   --tensor-parallel-size 6 \          # 并行数=GPU数量
   --gpu-memory-utilization 0.85 \     # 显存利用率阈值(6卡建议0.8~0.9)
   --max-num-seqs 64 \                 # 高并发优化
   --enforce-eager \                   # 避免多卡兼容问题
   --port 8000 \                       # 服务端口
   --api-key "your-token"              # 访问令牌(增强安全性)

​三、Dify部署与对接VLLM​

​1. 部署Dify服务​

# 拉取Dify代码
git clone https://github.com/langgenius/dify.git
cd dify/docker

# 修改配置(关键步骤)
cp .env.example .env
nano .env  # 修改以下参数:
# 模型端点指向VLLM服务
MODEL_PROVIDER=vllm
VLLM_API_BASE=http://localhost:8000/v1  # VLLM的OpenAI兼容API地址
VLLM_MODEL_NAME=your-model-name         # 与vLLM启动时的模型名一致

​2. 启动Dify​

docker compose up -d  # 自动构建容器

​四、外部应用API调用方法​

​1. 通过Dify调用(业务层)​

  • ​Dify API地址​​:http://<服务器IP>:80/v1(默认端口)
  • ​认证​​:Header中添加 Authorization: Bearer {DIFY_API_KEY}
  • ​请求示例​​(生成文本):
import requests
url = "http://<服务器IP>/v1/completion"
data = {
  "inputs": "你好,介绍一下vLLM",
  "response_mode": "blocking"
}
headers = {"Authorization": "Bearer dify-api-key"}
response = requests.post(url, json=data, headers=headers)

​2. 直接调用VLLM(高性能场景)​

# 使用OpenAI兼容API(Python示例)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="your-token")
response = client.chat.completions.create(
  model="your-model-name",
  messages=[{"role": "user", "content": "解释量子力学"}]
)

​五、VLLM对比Ollama的核心优势​

​维度​​VLLM​​Ollama​
​多卡支持​✅ 原生6卡张量并行(--tensor-parallel-size=6❌ 仅支持单卡,多卡需手动切换
​吞吐量​⭐ 连续批处理技术,6卡并发提升5-10倍⚠️ 单请求处理,并发能力弱
​生产就绪​✅ 工业级部署(API密钥、监控、扩缩容)❌ 定位开发测试,无企业级特性
​显存管理​✅ PagedAttention动态分配,支持百亿模型⚠️ 全模型加载,易OOM
​安全性​✅ 内置API密钥认证❌ 默认无认证,需Nginx反向代理

💡 ​​关键结论​​:
VLLM是​​生产级AI服务​​的首选,尤其适合高并发、低延迟场景(如API服务);
Ollama更适合​​本地快速原型验证​​,但在多卡利用率和安全性上存在明显短板。


​六、常见问题排查​

  1. ​多卡启动失败​​: export VLLM_WORKER_MULTIPROC_METHOD=spawn # 解决多进程卡死
  2. ​显存不足​​:
    • 降低--gpu-memory-utilization至0.7
    • 添加--swap-space 16 使用主机内存扩展
  3. ​Dify连接VLLM失败​​:
    • 检查.envVLLM_API_BASE是否含/v1路径
    • 确保vLLM启动参数含--api-key且与Dify配置一致

部署完成后,可通过 nvidia-smi 监控GPU利用率,正常运行时6卡负载应均衡(±5%差异)。

英文参考原文:Based on the information available, here’s a comparison of vLLM and Ollama, two popular frameworks for running large language models (LLMs) locally: 

vLLM 

  • Focus: High-throughput, low-latency LLM inference and serving, particularly suited for production environments.
  • Key Features:
    • PagedAttention: A memory management technique that optimizes GPU memory usage for faster inference speeds, especially with long sequences and large models.
    • Continuous Batching: Processes incoming requests dynamically to maximize hardware utilization.
    • High Performance: Consistently delivers superior throughput and lower latency, particularly for concurrent requests.
    • Scalability: Designed for scalability, including support for tensor parallelism and pipeline parallelism for distributed inference across multiple GPUs or nodes.
    • OpenAI-compatible API: Simplifies integration with applications.
  • Hardware Requirements: Optimized for high-end, CUDA-enabled NVIDIA GPUs, although it technically supports CPU inference (less optimized).
  • Ease of Use: Offers more control and optimization options but has a steeper learning curve, requiring more technical knowledge for setup. 

Ollama 

  • Focus: User-friendly, local deployment and management of LLMs, prioritizing simplicity and accessibility.
  • Key Features:
    • Ease of Use: Offers a streamlined workflow for downloading, running, and managing models with a simple command-line interface (CLI) and an OpenAI-compatible API.
    • Broad Hardware Compatibility: Works well on both GPUs and CPUs, making it accessible to users with consumer-grade hardware.
    • Local Deployment with Privacy: Ensures data privacy and control by keeping data processing within your local environment.
    • Adaptable: Supports various model types and offers token streaming for faster responses.
    • Growing Performance: While potentially slower than vLLM on high-end GPUs, recent updates have significantly improved its performance.
  • Hardware Requirements: Designed to work reasonably well even on consumer-grade hardware.
  • Ease of Use: Prioritizes simplicity, making it easy to install and run models with just a few commands. 

In Summary:

  • Choose vLLM when: You need maximum performance and scalability in production environments, especially when utilizing high-end GPUs for high-throughput workloads.
  • Choose Ollama when: You prioritize ease of use, broad hardware compatibility (including CPU-only setups), and local data privacy for development, prototyping, or simpler projects. 

Hybrid Approach:

It’s worth considering a hybrid approach where you use Ollama for development and prototyping and then deploy with vLLM in production for optimal performance. 

案例解析|江西共青城亚华公司文档管理升级

一、亚华公司基础信息

江西省亚华电子材料有限公司成立于2012年,总部位于江西共青城市高新六路,注册资本1.6亿元,占地350亩,员工规模超2500人,是国家高新技术企业、江西省瞪羚企业。作为国内电子材料制造领域的龙头企业,其核心业务涵盖微晶玻璃盖板、摄像头光学镜片等精密部件生产,客户包括华为、小米、三星等全球知名品牌。企业研发与生产过程中涉及海量技术图纸(如CAD设计)、工艺流程文档、质量检测报告等,年均产生数万份专业文件。

二、制造业文档体系管理的主要难题

作为典型的重资产制造企业,亚华公司在文档管理方面曾面临以下核心挑战:

  1. 文件分散存储,协同效率低
    技术图纸、BOM表等核心数据分散在各部门及员工本地存储设备中,跨部门协作时需反复传输,易出现版本混乱。
  2. 版本控制与追溯困难
    设计图纸频繁迭代,历史版本缺乏统一管理,一线生产人员可能误用旧版图纸,导致生产事故。
  3. 安全风险突出
    研发资料、客户合同等敏感文件缺乏细粒度权限管控,存在内部泄露风险;同时未实现内外网隔离,易受外部攻击威胁。
  4. 检索效率低下
    传统文件夹分类模式下,工程师需花费平均17分钟查找特定文档,严重影响研发与生产进度。

三、一粒云文档云平台的解决方案

通过南昌平孜科技有限公司代理实施的一粒云企业文档管理系统,亚华公司构建了覆盖全生命周期的智能化文档管理体系:

1. 制造业文档全流程标准化管理
  • 统一存储与分类(数据初始化)
    将分散的CAD图纸、工艺文件等集中存储于一粒云,按“产品型号-工序-版本”多层级目录结构化归档,支持标签化智能分类(如“3D玻璃盖板-2025Q2迭代”)。
  • 版本控制与追溯(场景培训)
    系统自动记录图纸修改历史,支持版本对比与一键回滚;结合审批流程,确保只有通过验证的版本才能投入生产。
2. 制造业场景深度适配功能
  • 跨平台智能检索(场景培训适配)
    基于语义分析的OCR技术可识别图纸中的关键参数(如“厚度0.5mm”“耐温300℃”),工程师通过关键词组合即可秒级定位目标文件。
  • 安全管控体系(场景培训适配)
    动态水印、细粒度权限(如“研发部仅可查看不可下载”)、内外网隔离通道三重防护,核心资料泄露风险降低90%。
  • 生产协同增强(场景培训适配)
    支持在OA系统中直接关联技术文档,生产计划审批时自动推送关联图纸;车间终端设备可实时调取最新版作业指导书。
3. 数据价值深度挖掘
  • 知识库沉淀
    将历史项目文档转化为企业知识库,新员工可通过标签化检索快速掌握技术要点,培训周期缩短40%。
  • 运营效率可视化
    管理后台实时展示文档调用频次、协作热点,辅助优化资源配置。数据显示,系统上线后文档复用率提升65%。

四、本地化服务保障:南昌平孜科技有限公司

作为一粒云在江西地区的核心代理商,南昌平孜科技有限公司全程主导亚华项目落地:

  • 行业化定制针对制造业高频场景定制功能模块(如图纸批量比对、工艺文件模板库);
  • 无缝集成后续通过系统对接集成实现与亚华现有ERP、MES系统的数据打通;
  • 持续运维提供7×24小时本地技术支持,年均响应时效低于15分钟。

项目成效

系统上线2个月后,亚华公司文档管理综合效率提升70%,图纸版本错误大大降低,为研发资保护提供强有力工具。为后续文档的智能化提供坚实的数据仓库底座。

企业文档安全新革命!一粒云与IPguard加密深度集成,防泄更加智能完善

你是不是也遇到过这样的烦恼:公司的重要文件被员工误发外泄?核心资料被截图传播却无法溯源?隔离网间的文件交换总是提心吊胆?今天要介绍的这套「文档安全组合拳」,可能正是你寻找的终极解决方案。

为什么90%的企业文档泄密都发生在「日常操作」中?

根据一粒云发布的《企业文档防泄密整体解决方案》,企业数据泄露事故中,超过半数源于文件分享操作不当——用微信传合同、邮件发报价单、网盘共享设计稿…这些看似平常的动作,都可能成为数据安全的致命漏洞。更可怕的是,许多企业直到发生泄密事件,才发现自己的防护体系存在「权限管理粗放」「操作无记录」「水印缺失」等系统性缺陷。

双剑合璧:一粒云文档云×IPguard加密的三大杀招

1. 权限管控细到「原子级」

传统网盘常见的「可查看=可下载」权限逻辑,在一粒云这里被彻底颠覆。其独创的13种权限级别+9种角色组合,能实现「允许预览但禁止下载」「开放编辑但禁止分享」等精细管控。配合IPguard的加密技术,即使文件被违规带出,也无法在非授权设备上解密查看。

2. 全链路操作留痕

从文件创建、编辑、分享到删除,所有操作均自动记录操作人、IP地址、时间戳等信息。特别在隔离网文件摆渡场景中,系统会强制进行病毒查杀+敏感词检测+文件脱敏处理,所有审批流程和传输记录可追溯,满足等保合规要求。

3. 智能水印+设备认证双重保险

支持预览水印/下载水印/截图水印三种模式,水印内容可包含操作者ID、时间等溯源信息。结合IPguard的设备认证功能,确保文件只能在经过审批的终端设备上打开,有效防止「账号借用」「设备丢失」导致的二次泄密。

真实案例:某生物科技公司的14天安全改造

某上市药企在使用这套方案前,曾因研发资料外泄损失近千万。接入一粒云+IPguard后:

  • 核心实验室文件设置「仅限指定IP段预览」
  • 对外合作文档启用72小时自动失效的外链
  • 所有操作日志与堡垒机审计系统对接
    实施半年内,成功拦截23次异常访问尝试,泄密事件归零。

企业文档安全没有侥幸空间,点击[这里]获取《各行业文档防泄密配置模板》。如果你正在寻找「既不影响协作效率,又能闭环管控风险」的解决方案,不妨在评论区留言「行业+员工规模」,获取定制化部署建议。

> 本文提及的技术方案已通过ISO9001国际质量体系认证,相关功能描述均基于厂商公开资料。实际效果可能因企业网络环境、配置策略等因素存在差异。

一粒云科技与中科易存深化战略合作,共筑企业数据安全与容灾新生态

(中国·深圳,2025年5月13日)国内领先的企业级云存储与协同办公服务商一粒云科技,与国家级容灾备份及存储解决方案领军企业中科易存(中科易存软件江苏有限公司)宣布达成深度战略合作。双方将围绕产品方案融合、渠道资源共享、客户服务协同三大核心领域展开合作,共同为企业提供覆盖数据全生命周期的安全存储、智能容灾与高效协同解决方案。



​一、产品方案融合:打造全场景数据安全生态​
基于双方技术优势,合作聚焦以下三大核心解决方案的研发与整合:

  1. 研发资料安全解决方案
    结合一粒云科技的企业云盘(Kbox)与中科易存的实时容灾备份技术,构建从研发文档存储、版本控制到异地灾备的全流程保护体系。通过智能分级存储与自动化备份策略,确保高价值研发数据“零丢失”,满足半导体、智能制造等行业对知识产权保护的严苛需求。
  2. 隔离网文件交换解决方案
    整合一粒云KWS隔离网文件摆渡系统与中科易存多介质融合存储技术,推出跨网络环境安全数据交换平台。该方案支持光、电、磁多介质智能分级存储,实现涉密数据在隔离网络间的合规流转,已在政府、医疗等领域完成试点部署。
  3. 企业信息化基础安全解决方案
    以中科易存超融合一体机与一粒云Kdoc统一文档云系统为核心,构建“存储-备份-审计”一体化底座。通过区块链存证与AI驱动的内容风控技术,满足金融、教育等行业对数据存证、合规审计的刚性需求。

​二、渠道资源融合:加速西南地区行业场景落地​
双方将共享市场渠道资源,形成“技术+行业”双轮驱动:

  • 行业互补:中科易存深耕政府、医疗及大型央企市场,而一粒云科技在金融、教育、制造业拥有广泛客户基础。合作后,双方将共同拓展智慧医疗、智能制造等新兴场景,例如将中科易存医疗级“易存一体机”与一粒云隔离网解决方案结合,助力医院实现诊疗数据安全共享。
  • 区域协同:依托中科易存在西南地区的服务网络与一粒云科技的西南总部优势,建立覆盖西南地区的技术支持中心,提供本地化快速响应服务。


​三、客户服务升级:全生命周期服务赋能​

  1. 联合技术支持
    共建“云+端”服务体系,整合一粒云AI知识库系统(AIKBS)与中科易存智能运维平台,为客户提供从部署咨询到故障恢复的一站式支持。
  2. 行业定制化开发
    针对高端制造、医疗等垂直领域,推出模块化解决方案。例如为半导体企业定制“研发数据安全沙箱”,集成一粒云文件加密与中科易存多节点灾备功能。

​合作价值与未来规划​
此次合作标志着两家企业在数据安全领域的“技术+场景”深度融合。

一粒云科技CTO龙刚表示:“中科易存在容灾备份领域的深厚积累,与一粒云在协同办公和数据治理方面的创新形成完美互补。我们期待通过生态融合,重新定义企业数据安全管理标准。”
中科易存西南总经理陈龙强调:“在数据要素化时代,企业需要更智能、更弹性的基础设施。此次合作将推动容灾技术从‘被动备份’向‘主动防御’升级。”

一粒云科技与中科易存深化战略合作,共筑企业数据安全与容灾新生态
一粒云科技与中科易存深化战略合作,共筑企业数据安全与容灾新生态

关于合作伙伴

  • 一粒云科技:国家级高新技术企业,聚焦企业级云存储、文件安全交换及AI驱动的数据管理,客户覆盖华为、深圳海关等500强机构。
  • 中科易存:容灾备份与存储领域标杆企业,产品包括超融合一体机、四控存储等,服务于政府、医疗、金融等行业。

合作咨询
一粒云科技官网:http://www.yiliyun.com
中科易存热线:400-188-7066ycnas@enas.cc

公司简介


本文同步发布于:一粒云官网、微信公众号、今日头条;中科易存官网、行业技术社区等平台。
引用来源:
: 中科易存产品体系(超融合一体机、容灾备份软件)
: 一粒云科技发展历程与核心产品(KWS、Kdoc、AIKBS)
: 中科易存医疗级“易存一体机”技术特性
: 中科易存区域服务网络与行业案例

标题:AI赋能,OA信息直达——一粒云文档云系统重塑高效办公新范式

在信息爆炸的时代,如何从海量文档中快速捕捉关键资讯?如何让重要信息主动“找到”用户而非被动搜寻?一粒云文档云系统以AI智能标签分析为核心,打通OA门户消息推送链路,为领导、行业达人及团队打造“信息主动上门”的高效办公体验,彻底告别“大海捞针”式检索。

一、AI透视文档:让信息自带“导航标签”
传统文档管理依赖人工分类,而一粒云文档云系统的AI语义分析引擎可深度解析文档内容,智能提取如“生成式AI”“小米SU7新能源汽车”“天玑9400+芯片”等技术标签(见图1、图2)。无论是技术白皮书、行业报告还是会议纪要,系统自动为文档贴上精准标签,构建结构化知识库。用户只需订阅关注标签(如“华为鸿蒙”“智能投影”),即可建立专属信息雷达。

二、OA门户直推:关键信息“秒达”办公桌面
订阅的标签动态直接嵌入OA门户消息流(见图3),形成“人找信息”到“信息找人”的颠覆性变革:
• 领导层效率升级:高管订阅“决策信息”“5G标准”等标签,最新政策解读、行业趋势自动推送至OA待办列表,碎片时间即可掌握核心资讯,决策效率提升50%以上。

• 达人专属知识库:技术专家订阅“Node.js”“SPA架构”等标签,相关技术文档、代码更新实时同步OA消息,无需手动检索,专注力回归核心研发。

• 跨部门协同无感化:如“供应商开票”“项目群消息”等流程类标签,OA消息自动触发审批提醒,避免信息遗漏导致的流程卡顿。

三、时间经济学:每天多出2小时深度思考
系统通过三大设计重构时间价值(见图1-3):

  1. 零搜索成本:告别关键词反复调试,AI预判需求,信息精准抵达;
  2. 信息降噪机制:23条订阅标签(见图2)自定义筛选,屏蔽无效干扰;
  3. 跨平台整合:文档动态、待办事项、打卡提醒聚合于OA门户单一面板,减少多系统切换损耗。
    实测显示,用户日均节省2.1小时信息检索时间,相当于每年多出45个工作日!

结语:让技术成为时间的盟友
一粒云文档云系统以AI为笔、OA为纸,重新书写高效办公的定义。当标签分析遇见智能推送,每一份文档都成为流动的智库,每一次消息提醒都在为决策加速。点击订阅,体验“信息如水,随需而至”的未来办公——您的时间,值得更聪明的管理方式。


注:文中功能细节均基于部分客户场景还原,实际效果以系统演示为准。