Java集成Dify AI服务的客户端工具包

项目源码

Dify Java SDK是为Java开发者设计的开源工具包,专门用于与Dify AI平台的无缝对接。该工具包全面覆盖了Dify平台的各项API功能,使开发者能够便捷地在Java应用中调用AI服务。

核心功能

本工具包具备以下主要特性:

1. 多场景应用支持

  • 智能对话系统:通过专用接口实现多轮对话管理
  • 文本自动生成:支持各类文本内容的智能创作
  • 流程化对话:适用于复杂业务流程的对话管理
  • 自动化流程:实现多步骤任务的智能编排
  • 知识图谱:提供知识库的创建与检索功能

2. 多样化交互方式

  • 同步请求:即时获取完整响应内容
  • 实时流传输:支持内容的分段接收
  • 多媒体处理:包含语音文字互转等功能

3. 对话系统管理

  • 会话的创建与维护
  • 历史记录查询
  • 会话信息修改
  • 反馈信息提交
  • 智能问题推荐

4. 知识库全周期管理

  • 知识库的建立与维护
  • 文档的上传与管理
  • 内容分块处理
  • 语义化搜索

5. 可定制化配置

  • 连接时长设置
  • 读写超时调整
  • 自定义HTTP客户端

环境配置

运行要求

  • JDK 1.8及以上版本
  • Maven 3.x或Gradle 4.x以上

Maven引入

<dependency>
<groupId>io.github.imfangs</groupId>
<artifactId>dify-java-client</artifactId>
<version>1.0.4</version>
</dependency>

Gradle引入

implementation 'io.github.imfangs:dify-java-client:1.0.4'

初始化指南

客户端创建

// 创建通用客户端
DifyClient client = DifyClientFactory.createClient("https://api.dify.ai/v1", "your-api-key");
// 创建专用客户端
DifyChatClient chatClient = DifyClientFactory.createChatClient("https://api.dify.ai/v1", "your-api-key");
// 自定义配置创建
DifyConfig config = DifyConfig.builder()
.baseUrl("https://api.dify.ai/v1")
.apiKey("your-api-key")
.connectTimeout(5000)
.readTimeout(60000)
.writeTimeout(30000)
.build();
DifyClient customClient = DifyClientFactory.createClient(config);

应用示例

1. 智能对话系统

同步模式
DifyChatClient chatClient = DifyClientFactory.createChatClient("https://api.dify.ai/v1", "your-api-key");
ChatMessage message = ChatMessage.builder()
.query("请做自我介绍")
.user("user-123")
.responseMode(ResponseMode.BLOCKING)
.build();
ChatMessageResponse response = chatClient.sendChatMessage(message);
System.out.println("响应内容: " + response.getAnswer());
实时模式
chatClient.sendChatMessageStream(message, new ChatStreamCallback() {
@Override
public void onMessage(MessageEvent event) {
System.out.println("实时内容: " + event.getAnswer());
}
@Override
public void onMessageEnd(MessageEndEvent event) {
System.out.println("消息ID: " + event.getMessageId());
}
});

2. 文本生成服务

同步请求
DifyCompletionClient completionClient = DifyClientFactory.createCompletionClient("https://api.dify.ai/v1", "your-api-key");
Map<String, Object> inputs = new HashMap<>();
inputs.put("content", "科技");
CompletionRequest request = CompletionRequest.builder()
.inputs(inputs)
.responseMode(ResponseMode.BLOCKING)
.user("user-123")
.build();
CompletionResponse response = completionClient.sendCompletionMessage(request);
System.out.println("生成内容: " + response.getAnswer());

3. 知识库管理

文档操作
DifyDatasetsClient datasetsClient = DifyClientFactory.createDatasetsClient("https://api.dify.ai/v1", "your-api-key");
CreateDocumentByTextRequest docRequest = CreateDocumentByTextRequest.builder()
.name("示例文档")
.text("文档示例内容")
.indexingTechnique("high_quality")
.build();
DocumentResponse docResponse = datasetsClient.createDocumentByText(datasetId, docRequest);
System.out.println("文档ID: " + docResponse.getDocument().getId());

接口说明

客户端分类

类型 说明 功能
通用客户端 全功能支持 所有API调用
对话客户端 专注对话场景 对话管理与反馈
文本客户端 文本生成专用 内容创作控制
知识库客户端 知识管理专用 文档与检索管理
#### 响应类型
模式 枚举值 说明
---- -------- -----
同步 BLOCKING 即时完整响应
实时 STREAMING 分段内容接收
### 高级设置
#### 自定义HTTP配置
DifyConfig config = DifyConfig.builder()
.baseUrl("https://api.dify.ai/v1")
.apiKey("your-api-key")
.connectTimeout(5000)
.readTimeout(60000)
.writeTimeout(30000)
.build();
DifyClient client = DifyClientFactory.createClient(config);

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/9336.html

(0)
LomuLomu
上一篇 2025 年 5 月 13 日 上午1:57
下一篇 2025 年 5 月 13 日 上午2:58

相关推荐

  • 华为OD机试E卷 –跳马–24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格,即先横着或者直者走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称”马走日”字。给定 m 行 n 列的棋盘(网格图),棋盘上只有棋子象…

    未分类 2025 年 1 月 6 日
    62900
  • Java毕设项目:基于Springboot影视推荐网站系统设计与实现开题报告

    博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩,提供核心代码讲解,答辩指导。 项目配有对应开发文档、开题报告、任务书、PPT等,提供毕业设计论文辅导。 项目都录了发布和…

    2025 年 1 月 6 日
    53000
  • Python 潮流周刊#85:让 AI 帮你写出更好的代码(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 分享了 12 篇文章,12 个开源项目,1 则音视频,全文 2300 字。 以下是本期摘要: 🦄文章&教程 ① 如果一直要求 LLM “写出更…

    未分类 2025 年 1 月 13 日
    42300
  • 【一步一步了解Java系列】:探索Java基本类型转换的秘密

    > **当你读到这段文字时,意味着我们都在为梦想而奋斗~** > > **坚持就是胜利,陌生人~** > > **** > > **![](https://pic.it1024doc.com/csdn/202412/1be0a8fd89cd9b19dd76e83814eb3754.jpeg)** > > **个人主页:[Gu Gu Study](https:…

    2024 年 12 月 27 日
    40600
  • Java 面试八股文(真实,高频,有详细答案)

    这套互联网 Java 工程师面试题包括了:MyBatis、ZK、Dubbo、EL、Redis、MySQL、并发编程、Java面试、Spring、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题 一、Java 基础1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,jav…

    2025 年 1 月 5 日
    41100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信