接入QAnything的AI问答知识库,可私有化部署的企业级WIKI知识库

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
视觉智能开放平台,视频资源包5000点
简介: zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,可以完全以内网的方式来部署使用它。您也可以将其作为企业产品的说明文档来使用,支持一键将整个空间的内容开放到互联网,提供有不同风格的开放文档页样式可供选择,以及适配了在手机端、小程序中文档的展示,省去为产品的说明文档而定制开发系统的成本。

zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,可以完全以内网的方式来部署使用它。


您也可以将其作为企业产品的说明文档来使用,支持一键将整个空间的内容开放到互联网,提供有不同风格的开放文档页样式可供选择,以及适配了在手机端、小程序中文档的展示,省去为产品的说明文档而定制开发系统的成本。

安装知识库系统

1. 下载Java并安装

版本号:JAVA 1.8 及以上,本项目使用JAVA语言开发,启动时会依赖JAVA的运行时环境

2. 安装数据库依赖

私有化部署后应用产生的所有数据都存储在自己的MySQL数据库中,数据库安装成功后,需要手动创建一个库:create database zyplayer_doc;

3. 下载安装文件

到官网可下载最新版安装文件:https://doc.zyplayer.com/#/integrate/zyplayer-doc/install,同时也可使用Docker或宝塔进行安装

4. 修改配置并启动

修改文件夹下的 application.properties 里面的数据库链接和帐号密码,双击文件夹下的 startup.bat 启动项目,启动后访问:http://127.0.0.1:8083 ,默认账号:zyplayer 密码:123456

文档的编写

在知识库首页新建空间,进入空间即可新建文档进行编辑,也可以上传或新建Office文档进行在线协同编辑

image.png image.png

接入QAnything实现AI问答

服务的接入

可通过私有化部署的方式,或者使用QAnything云服务,将应用信息填入到系统中,并开启内部文档或开放问答的启用开关

QAnything 开源地址:https://github.com/netease-youdao/QAnything

QAnything 云服务地址:https://ai.youdao.com/console/#/service-singleton/qanything

image.png

在空间中启用

在空间的设置页中将 AI知识库同步 开关开启,等待同步完成后在空间的高级搜索和开放文档页面即会出现AI问答选项

image.png

image.png

在文集中启用

只需要将文集引用到的空间全部开启 AI知识库同步 ,文集搜索界面则会出现AI问答选项

image.png

AI问答限流

在AI问答配置处可配置问答限流,可按 用户或全系统 配置 每天/每小时/每分钟 的问答次数限制,防止恶意刷量。

image.png

API开放问答接口

可通过开放接口的方式实现指定空间或文集进行问答,可用于智能客服等场景使用

同步请求地址:http://127.0.0.1:8083/openApi/v1/ai/chats/sync ,请求代码示例:

public static void main(String[] args) {
    // 组装请求参数
    Map<String, Object> paramMap = new HashMap<>();
    paramMap.put("space", "uta2JteQtykCil4b0ePSMp");
    paramMap.put("question", "zyplayer-doc文档管理系统是什么?");
    paramMap.put("salt", UUID.randomUUID());
    // 加密参数
    String privateKey = "MIICeAIBAxxxxxxxxDMKVrlHqf";
    String content = JSON.toJSONString(paramMap);
    String sha256 = SecureUtil.sha256(content);
    RSA rsaPrivate = SecureUtil.rsa(privateKey, null);
    String encrypt = rsaPrivate.encryptHex(sha256, KeyType.PrivateKey);
    // 发送请求
    String url = "http://127.0.0.1:8083/openApi/v1/ai/chats/sync";
    String body = HttpUtil.createPost(url).form("content", content).form("encrypt", encrypt).execute().body();
    System.out.println(body);
}

流式请求地址:http://127.0.0.1:8083/openApi/v1/ai/chats/stream ,请求代码示例:

public static void main(String[] args) {
    CountDownLatch latch = new CountDownLatch(1);
    Map<String, Object> paramMap = new HashMap<>();
    paramMap.put("space", "uta2JteQtykCil4b0ePSMp");
    paramMap.put("question", "zyplayer-doc文档管理系统是什么?");
    paramMap.put("salt", UUID.randomUUID());
    // 加密参数
    String privateKey = "MIICeAIBAxxxxxxxxDMKVrlHqf";
    String content = JSON.toJSONString(paramMap);
    String sha256 = SecureUtil.sha256(content);
    RSA rsaPrivate = SecureUtil.rsa(privateKey, null);
    String encrypt = rsaPrivate.encryptHex(sha256, KeyType.PrivateKey);
    // 发送请求
    Map<String, Object> bodyMap = new HashMap<>();
    bodyMap.put("content", content);
    bodyMap.put("encrypt", encrypt);
    WebClient webClient = WebClient.create("http://127.0.0.1:8083");
    Flux<AiChatStreamResult> eventStream = webClient.post()
            .uri("/openApi/v1/ai/chats/stream")
            .bodyValue(bodyMap)
            .retrieve()
            .bodyToFlux(AiChatStreamResult.class);
    Disposable disposable = eventStream.timeout(Duration.ofSeconds(60)).subscribe(data -> {
        // 在这里处理每次获取到的数据
        if (Objects.equals(data.getName(), "response")) {
            logger.info("message: {}", data.getMessage());
        } else if (Objects.equals(data.getName(), "complete")) {
            logger.info("sourceList: {}", data.getSourceList());
        } else if (Objects.equals(data.getName(), "failed")) {
            logger.info("failed: {}", data.getErrMsg());
        }
    }, error -> {
        // 处理错误
        logger.error("ChatStream error", error);
        latch.countDown();
    }, () -> {
        // 处理流结束事件
        logger.info("ChatStream complete");
        latch.countDown();
    });
    try {
        // 最多等待60秒
        latch.await(60, TimeUnit.SECONDS);
    } catch (InterruptedException e) {
        logger.error("等待超时:{}", e.getMessage());
    }
    disposable.dispose();
}
相关文章
|
18天前
|
人工智能 并行计算 安全
从零到一,打造专属AI王国!大模型私有化部署全攻略,手把手教你搭建、优化与安全设置
【10月更文挑战第24天】本文详细介绍从零开始的大模型私有化部署流程,涵盖需求分析、环境搭建、模型准备、模型部署、性能优化和安全设置六个关键步骤,并提供相应的示例代码,确保企业能够高效、安全地将大型AI模型部署在本地或私有云上。
166 7
|
28天前
|
机器学习/深度学习 数据采集 人工智能
文档智能 & RAG 让AI大模型更懂业务 —— 阿里云LLM知识库解决方案评测
随着数字化转型的深入,企业对文档管理和知识提取的需求日益增长。阿里云推出的文档智能 & RAG(Retrieval-Augmented Generation)解决方案,通过高效的内容清洗、向量化处理、精准的问答召回和灵活的Prompt设计,帮助企业构建强大的LLM知识库,显著提升企业级文档管理的效率和准确性。
|
18天前
|
人工智能 安全 网络安全
揭秘!大模型私有化部署的全方位安全攻略与优化秘籍,让你的AI项目稳如磐石,数据安全无忧!
【10月更文挑战第24天】本文探讨了大模型私有化部署的安全性考量与优化策略,涵盖数据安全、防火墙配置、性能优化、容器化部署、模型更新和数据备份等方面,提供了实用的示例代码,旨在为企业提供全面的技术参考。
53 6
|
1月前
|
人工智能 C语言 Windows
Ollama部署在线ai聊天
本文介绍了如何在Windows系统上安装和部署AI聊天模型Ollama,包括安装步骤、模型安装、运行模型项目,以及使用Ollama生成C语言平衡二叉树的完整代码。
73 2
Ollama部署在线ai聊天
|
22天前
|
人工智能 数据安全/隐私保护 UED
RAG让AI大模型更懂业务解决方案部署使用体验
根据指导文档,部署过程得到了详细步骤说明的支持,包括环境配置、依赖安装及代码示例,确保了部署顺利进行。建议优化知识库问题汇总,增加部署失败案例参考,以提升用户体验。整体解决方案阅读与部署体验良好,有助于大型语言模型在特定业务场景的应用,未来可加强行业适应性和用户隐私保护。
60 5
|
19天前
|
人工智能 分布式计算 数据可视化
大模型私有化部署全攻略:硬件需求、数据隐私、可解释性与维护成本挑战及解决方案详解,附示例代码助你轻松实现企业内部AI应用
【10月更文挑战第23天】随着人工智能技术的发展,企业越来越关注大模型的私有化部署。本文详细探讨了硬件资源需求、数据隐私保护、模型可解释性、模型更新和维护等方面的挑战及解决方案,并提供了示例代码,帮助企业高效、安全地实现大模型的内部部署。
43 1
|
19天前
|
人工智能 分布式计算 数据可视化
大模型私有化部署全攻略:硬件需求、数据隐私、可解释性与维护成本挑战及解决方案详解,附示例代码助你轻松实现企业内部AI应用
【10月更文挑战第23天】随着人工智能技术的发展,大模型在各领域的应用日益广泛。然而,将其私有化部署到企业内部面临诸多挑战,如硬件资源需求高、数据隐私保护、模型可解释性差、更新维护成本高等。本文探讨了这些挑战,并提出了优化硬件配置、数据加密、可视化工具、自动化更新机制等解决方案,帮助企业顺利实现大模型的私有化部署。
51 1
|
24天前
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
|
29天前
|
人工智能 弹性计算 自然语言处理
《触手可及,函数计算玩转 AI 大模型》解决方案体验与部署评测
在AI技术快速发展的背景下,大模型正推动各行业的智能化转型。企业为抓住机遇,纷纷寻求部署AI大模型以满足特定业务需求。阿里云函数计算凭借按量付费、卓越弹性和快速交付等优势,为企业提供了高效、安全的AI大模型部署方案。本文将详细介绍阿里云函数计算的技术解决方案及其在文生文、图像生成和语音生成等领域的应用实例,展示其在降低成本、提高效率和增强灵活性方面的显著优势。
|
1月前
|
人工智能
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
172 2