# SparkDesk-Java
**Repository Path**: grt1228/SparkDesk-Java
## Basic Information
- **Project Name**: SparkDesk-Java
- **Description**: 讯飞星火大模型Java SDK 易开发,更灵活. Xun fei SparkDesk Java SDK. SparkDesk. xfyun SDK. xinghuo.星火.
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://www.unfbx.com
- **GVP Project**: No
## Statistics
- **Stars**: 58
- **Forks**: 15
- **Created**: 2023-08-22
- **Last Updated**: 2025-04-27
## Categories & Tags
**Categories**: llm
**Tags**: None
## README
> **原创发布转载注明出处!**
> **ChatGpt Java SDK 支持插件、联网. 可以看另外一个仓库:https://gitee.com/Grt1228/chatgpt-java**
# 📖 项目简介
**讯飞星火大模型的Java SDK。**
易使用、开箱即用、支持**异常**、**输出**、**会话结束**、**会话结束Token信息返回**等多种**自定义回调处理**。
# 📑 更新日志
- [x] 1.0.0 支持大模型chat接口,支持自定义回调处理。
# 🚀 快速开始
## 1、导入pom依赖
```
com.unfbx
SparkDesk-Java
1.0.0
```
## 2、示例
```java
public class AppTest {
@Test
public void test() {
//构建客户端
SparkDeskClient sparkDeskClient = SparkDeskClient.builder()
.host(SparkDesk.SPARK_API_HOST_WS_V2_1)
.appid("****")
.apiKey("************************")
.apiSecret("************************")
.build();
//构建请求参数
InHeader header = InHeader.builder().uid(UUID.randomUUID().toString().substring(0, 10)).appid("****").build();
Parameter parameter = Parameter.builder().chat(Chat.builder().domain("generalv2").maxTokens(2048).temperature(0.3).build()).build();
List text = new ArrayList<>();
text.add(Text.builder().role(Text.Role.USER.getName()).content("使用md文档格式写出一个三行三列的表格,表头包含:姓名,性别,爱好。数据随机即可。").build());
InPayload payload = InPayload.builder().message(Message.builder().text(text).build()).build();
AIChatRequest aiChatRequest = AIChatRequest.builder().header(header).parameter(parameter).payload(payload).build();
//发送请求
sparkDeskClient.chat(new ChatListener(aiChatRequest) {
//异常回调
@SneakyThrows
@Override
public void onChatError(AIChatResponse aiChatResponse) {
log.warn(String.valueOf(aiChatResponse));
}
//输出回调
@Override
public void onChatOutput(AIChatResponse aiChatResponse) {
System.out.println("content: " + aiChatResponse);
}
//会话结束回调
@Override
public void onChatEnd() {
System.out.println("当前会话结束了");
}
//会话结束 获取token使用信息回调
@Override
public void onChatToken(Usage usage) {
System.out.println("token 信息:" + usage);
}
});
CountDownLatch countDownLatch = new CountDownLatch(1);
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
# ☕ 打赏
如果项目对你有帮助,可以选择打赏我。
