【RuoYi-SpringBoot3-Pro】:AI 能力再再扩展,打通 RAGFlow 知识库和 Dify 应用平台

简介: 【RuoYi-SpringBoot3-Pro】AI能力再升级!无缝集成RAGFlow知识库(支持数据集/文档/块管理及流式对话)与Dify应用平台(对话、知识库、工作流),提供同步、异步、流式三种调用模式,以“外挂”方式灵活扩展企业级AI能力。

【RuoYi-SpringBoot3-Pro】:AI 能力再再扩展,打通 RAGFlow 知识库和 Dify 应用平台

一、打通 RAGFlow 知识库

RAGFlow 是一款专业的 RAG 引擎,提供数据集管理、文档处理、块管理和检索增强对话功能。
想了解更多的小伙伴可以看看【AI工具箱】RAGFlow:打造私有的专业知识库
RuoYi-SpringBoot3-Pro 通过实现 RESTful API 接口,打通 RAGFlow 访问,支持同步、异步和流式三种调用模式。适合需要精细化文档管理的企业级知识库场景。

1.1 客户端初始化

// 创建客户端
RAGFlow ragflow = new RAGFlow("http://localhost:9222", "your-api-key");

// 创建异步客户端
RAGFlowAsync asyncClient = new RAGFlowAsync(ragflow);

1.2 核心功能

数据集管理支持创建、查询、更新和删除操作。创建数据集时可指定嵌入模型、分块方法和权限设置。知识图谱构建和 RAPTOR 聚类功能可对文档进行智能处理。

// 创建数据集
ragflow.createDataset("test_dataset");

// 列出数据集
ragflow.listDatasets(1, 30, "create_time", true, null, null);

// 构建知识图谱
ragflow.constructKnowledgeGraph("dataset_id");

文档管理支持上传、解析、下载和删除文档。上传后需要调用解析接口将文档转换为可检索的文本块。文档解析是异步过程,可通过接口查询解析状态。

// 上传文档
ragflow.uploadDocuments(datasetId, List.of(file));

// 解析文档
ragflow.parseDocuments(datasetId, List.of("document_id"));

块管理允许对文档片段进行精细化控制。可手动添加块并设置关键词和相关问题,增强检索效果。支持按关键词搜索和元数据过滤。

// 添加块
ragflow.addChunk(datasetId, documentId, "这是块内容");

// 检索
ragflow.retrieveChunks("问题", List.of("dataset_id"));

对话功能通过创建聊天助手与用户交互。支持会话管理,可维护多轮对话上下文。响应可选择阻塞或流式输出。

// 创建聊天助手
ragflow.createChatAssistant("my_chat", List.of("dataset_id"), null, llm, null);

// 对话
ragflow.converseWithChatAssistant(chatId, "你好", false, sessionId);

1.3 流式响应

流式响应适合实时展示生成内容。有实时回调和结果收集两种使用方式。

// 简单监听器
StreamListener listener = RAGFlow.createSimpleListener(
    content -> System.out.print(content),
    () -> System.out.println("\n完成"),
    error -> System.err.println("错误: " + error)
);
ragflow.converseWithChatAssistantStream("chat_id", "问题", null, listener);

// 收集完整结果
StreamResult result = ragflow.converseWithChatAssistantStreamCollect("chat_id", "问题", null);

1.4 异步调用

异步客户端返回 CompletableFuture,便于并行执行多个请求和链式调用。

// 异步创建数据集
asyncClient.createDataset("async_dataset").thenCompose(response -> {
   
    return CompletableFuture.completedFuture(
        response.getJSONObject("data").getStr("id"));
}).get();

// 并行执行
CompletableFuture.allOf(listFuture, healthFuture).join();

二、Dify 集成

Dify 是一款流行的 AI 应用开发平台,提供对话型应用、文本生成和工作流编排功能。
想了解更多的小伙伴可以查看往期的文章:

Github 上已经有成熟的集成方案,所以这里我们就不自己实现,直接使用 Dify Java Client

2.1 客户端初始化

DifyConfig config = DifyConfig.builder()
    .baseUrl("https://api.dify.ai/v1")
    .apiKey("your-api-key")
    .connectTimeout(5000)
    .readTimeout(60000)
    .build();

DifyClient client = DifyClientFactory.createClient(config);

2.2 核心功能

对话应用支持会话创建、消息发送和历史查询。消息反馈机制可收集用户评价用于优化。可获取建议问题引导用户深入对话。

// 发送消息
DifyChatClient chatClient = client.createChatClient();
ChatMessageResponse response = chatClient.chat(appId, "你好");

知识库管理支持创建知识库、文档上传和语义检索。文档分段规则可灵活配置,实现智能分块处理。

// 创建知识库
client.createDatasets("my_knowledge_base");

// 检索
RetrieveResult result = client.retrieve("问题", datasetId, 5, 0.7);

流式响应

chatClient.chatStream(appId, "问题", new ChunkListener() {
   
    @Override
    public void onChunk(String content) {
   
        System.out.print(content);
    }
});

RuoYi-SpringBoot3-Pro 采用外挂的方式,将各种 AI 能力集于一身,感兴趣的小伙伴可以查看往期的 AI 集成功能:

往期教程合集

RuoYi-SpringBoot3-Pro

目录
相关文章
|
2月前
|
人工智能 Java API
别再自己写 AI Agent 了!Dify vs FastGPT vs RAGFlow 对比
本文对比Dify、FastGPT、RAGFlow三大开源AI Agent平台,从Java开发者视角解析其定位、RAG/Agent能力、部署难度、Spring集成度及二次开发成本。Dify成熟稳健,适合企业级应用;FastGPT轻量易用,适合快速原型;RAGFlow文档处理最强,专精复杂PDF/合同场景。助你高效选型,避免重复造轮子。
1360 3
|
3月前
|
人工智能 IDE 数据可视化
【RuoYi-SpringBoot3-Pro】:将 AI 编程融入传统 java 开发
【RuoYi-SpringBoot3-Pro】将AI编程深度融入Java开发:基于Claude Code + Antigravity主力组合,集成openskills技能管理、OpenSpec需求规范工作流,支持智能创建/更新项目专属Skill,并实现IDEA与Antigravity一键切换,兼顾传统工程规范与AI提效。(239字)
810 2
【RuoYi-SpringBoot3-Pro】:将 AI 编程融入传统 java 开发
|
2月前
|
人工智能 API
阿里百炼API接入Trae,开发一个WordPress插件完整教程
本文分享如何通过阿里云百炼API接入Trae,规避模型排队问题,并以WordPress“截图自动保存+远程图片本地化”插件开发为例,详解API配置、自定义模型添加及AI一键生成完整插件的全流程,高效实现自动化开发。(239字)
|
3月前
|
人工智能 自然语言处理 监控
企业有哪些agent应用场景,瓴羊五大智能体全链路实践指南
2026年,AI已从工具进化为具备感知、规划、记忆与执行能力的智能体(Agent)。阿里云瓴羊基于“Data × AI”战略,推出Quick Service、智能小Q、Quick Audience、Dataphin及Agent One全栈产品矩阵,覆盖智能服务、精准营销、商业决策、数据治理与跨场景协同五大核心场景,打造高效协同的“数字员工团队”,赋能企业端到端智能化升级。(239字)
|
4月前
|
API 开发工具 git
Dify部署与API调用教程
本文档详解Dify本地部署全流程:先安装Docker与Git;再克隆GitHub源码、复制配置;最后访问localhost/apps完成初始化,集成CanopyWave插件并配置专属API密钥,即可调用全部AI模型。(239字)
3513 0
|
4月前
|
人工智能 自然语言处理 数据可视化
三步入门:利用 Dify 可视化工作流连接 LLM 与工具
还在为如何将大语言模型与天气查询、数据处理等外部工具集成而烦恼?Dify的可视化工作流让这一切变得直观高效。无需处理复杂代码,只需拖拽节点、配置提示词和API参数,即可快速搭建从“用户提问”到“工具调用”再到“格式化回复”的完整AI应用链路。本文将手把手教你创建智能天气助手,解锁低门槛的AI应用开发。
|
6月前
|
人工智能 NoSQL Java
Spring AI 进阶之路03:集成RAG构建高效知识库
本文介绍如何在Spring Boot中集成RAG(检索增强生成)技术,通过Redis向量数据库为大模型外挂私域知识库。手把手实现文档上传、切分、向量化存储,并构建支持普通对话与知识库问答双模式的智能聊天机器人,解决大模型对私有信息无知的问题,助力打造企业级AI应用。
1848 1
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
2309 33
|
6月前
|
消息中间件 人工智能 NoSQL
RocketMQ:A2A协议实现多智能体优化
Agentic AI 时代已至,在智能客服、代码生成、流程自动化等场景中,多智能体(Multi-Agent)协作正从构想走向落地。然而,当多个 Agent 需要像一个团队那样高效协作时,脆弱的通信机制可能因网络抖动或服务宕机,就让整个系统瞬间瘫痪,导致昂贵的计算任务失败、会话状态丢失。如何为这些聪明的“数字员工”们构建一个真正可靠、高效的通信基座? 本文将为您介绍 Apache RocketMQ 全新推出的轻量级通信模型 LiteTopic,如何在 AI 应用场景中有效简化系统架构、提升稳定性与可靠性,并结合 A2A(Agent-to-Agent)协议与阿里巴巴AgentScope 框架的生产
|
8月前
|
人工智能 文字识别 API
医疗票据OCR技术演进:从模板匹配到智能理解的突破
医疗票据OCR正从传统模板匹配迈向智能理解新阶段。快瞳科技融合OCR与医疗知识图谱,实现高精度、自适应识别,显著提升效率与准确性,推动医疗数字化智能化升级。
565 3