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

相关推荐

  • Java-异常处理机制-try-catch

    Java-异常处理机制 一、异常概述 1、异常的抛出机制 2、如何对待异常 3、异常的体系结构 3.1、Throwable 3.2、Error和Exception 3.3、编译时异常和运行时异常 3.4、常见的异常有哪些? 二、异常的处理方式一 try-catch的使用 1、过程1:抛 2、过程2:抓 3、使用细节 4、运行时异常案例 5、编译型异常案例 6…

    2025 年 1 月 6 日
    67200
  • Java 零基础入门学习(小白也能看懂!)

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点,相互学习进步! 小杨近些在学习人工智能方面的知识,发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默…

    2025 年 1 月 14 日
    44700
  • Java毕业设计选题:325基于SSM+Jsp的高校学生社团管理系统

    开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 系统展示 系统首页 用户注册 用户登录 后台首页 社团公告 留言信息 社团活动 摘要 校园…

    2024 年 12 月 28 日
    57900
  • Java开发工具包(JDK)获取与安装指南

    内容导航Oracle官方下载平台Windows系统安装Ubuntu系统配置1.JDK环境部署2.版本信息确认移除OpenJDKCentOS系统1.获取JDK安装包2.执行安装操作3.环境验证 Oracle官方下载平台 访问地址:Java Downloads | Oracle Windows系统安装 运行下载的可执行文件,选择目标安装路径,按照提示完成整个安装…

    2025 年 5 月 13 日
    34500
  • (Java)jdk8下载安装与环境变量配置(手把手教程)

    目录 一.jdk8的下载 1.点击我的阿里云盘链接进行下载jdk8u231 2.官网下载jdk8(比较繁琐,可以直接去我的云盘下载) 以下为官网下载方式: (1.)第一步:点击下载链接,点击以后会来到这个页面 (2).第二步:往下滑,找到如图所示的jdk8 (3.)第三步:点击Java SE 8 (8u211 and later),来到这个页面直接下 滑 (…

    2025 年 1 月 21 日
    90100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信