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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
视觉智能开放平台,视频资源包5000点
NLP 自学习平台,3个模型定制额度 1个月
简介: 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();
}
相关文章
|
3天前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
6天前
|
人工智能 关系型数据库 Serverless
【满血+高速+不限流+超长上下文+知识库+可定制+可分享】阿里云专属DeepSeek R1极速部署教程
本文教您在阿里云部署专属DS服务,实现满血、高速、不限流和超长上下文,支持知识库分享与客服等应用。基于阿里云百炼和云应用开发平台(CAP),通过AgentCraft平台一键部署,简单易用,适合普通用户。您可以轻松搭建家庭医生助理、行业动态机器人或图画工具等,享受高效AI服务。
|
15天前
|
人工智能 自然语言处理 数据可视化
YAYI-Ultra:中国企业终于等来『全能大脑』!开源企业级AI『混合专家』横扫金融舆情中医领域,最长生成20万字报告
YAYI-Ultra 是由中科闻歌研发的企业级大语言模型,具备强大的多领域专业能力和多模态内容生成能力,支持数学、代码、金融等多个领域的专家组合,缓解垂直领域迁移中的“跷跷板”现象。
78 10
YAYI-Ultra:中国企业终于等来『全能大脑』!开源企业级AI『混合专家』横扫金融舆情中医领域,最长生成20万字报告
|
4天前
|
机器学习/深度学习 人工智能 Kubernetes
容器化AI模型部署实战:从训练到推理
在上一篇中,我们探讨了AI技术如何赋能容器化生态。本篇聚焦于AI模型的容器化部署,通过图像分类任务实例,详细介绍了从模型训练到推理服务的完整流程。使用PyTorch训练CNN模型,Docker打包镜像,并借助Kubernetes进行编排和部署,最终通过FastAPI提供推理服务。容器化技术极大提升了AI模型部署的便利性和管理效率,未来将成为主流趋势。
|
4天前
|
弹性计算 人工智能 API
基于ECS部署DeepSeek个人专属AI网站
本方案介绍了如何基于云服务器ECS集成百炼API和Open WebUI服务,一键部署体验DeepSeek个人专属AI网站。用户不仅可以以极低的成本,拥有个人专属的AI网站,进行稳定的AI对话,还能够切换DeepSeek-V3、DeepSeek-R1、Qwen-max等模型进行体验。同时Open WebUI还具备开源能力,支持定制工具的开发。您还可以创建其他子账号,将您的专属AI网站分享给他人使用。
|
6天前
|
数据库
【YashanDB 知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
**数据库主备切换简介** 在数据库正常或异常情况下,实现主备切换至关重要。若配置不当,主节点故障将影响业务使用,尤其在23.2版本中。原因包括资源紧张或主节点异常。解决方法涵盖手动和自动切换: 1. **一主一备部署**: - **手动切换**:支持Switchover(同步正常时)和Failover(主库损坏时)。 - **自动切换**:启用yasom仲裁选主开关。 2. **一主两备部署**: - 默认最大保护模式,自动切换开启。 需检查并配置自动切换以确保高可用性。经验总结:一主一备默认关闭自动切换,需手动开启;一主两备默认开启。
|
19天前
|
存储 人工智能 NoSQL
Airweave:快速集成应用数据打造AI知识库的开源平台,支持多源整合和自动同步数据
Airweave 是一个开源工具,能够将应用程序的数据同步到图数据库和向量数据库中,实现智能代理检索。它支持无代码集成、多租户支持和自动同步等功能。
89 14
|
22天前
|
人工智能 资源调度 API
AnythingLLM:34K Star!一键上传文件轻松打造个人知识库,构建只属于你的AI助手,附详细部署教程
AnythingLLM 是一个全栈应用程序,能够将文档、资源转换为上下文,支持多种大语言模型和向量数据库,提供智能聊天功能。
2890 14
|
12天前
|
数据采集 人工智能 安全
接入DeepSeek的云盒子AI知识库,欢迎内测!
云盒子AI智能知识库以其开放性和灵活性著称,目前正内测接入DeepSeek-R1。此次升级延续了云盒子的开放理念,为企业提供灵活选择,支持按需定制和自由适配。DeepSeek的加入拓展了知识库的能力边界,满足不同行业需求,提升了文档利用与知识获取的智能化水平。云盒子通过专利数据采集技术、深度解析、权限隔离和持续学习能力,确保高效、安全的知识管理。适用于单文档问答、企业内部知识管理、客户服务支持、教育与培训及医疗单位等多种场景,为用户带来全新体验。
|
1天前
|
人工智能
【活动报名】​AI应用启航workshop-AI 知识库:沉淀数据资产 点燃业务增长引擎
【活动报名】​AI应用启航workshop-AI 知识库:沉淀数据资产 点燃业务增长引擎