Commit f6dd6d63 authored by 何处是我家's avatar 何处是我家
Browse files

提交

parent fe85dec5
package io.github.yuanbaobaoo.dify.types;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class KnowledgeResult {
/**
* 从知识库查询的记录列表
*/
private List<Record> records;
/**
* constructor
*/
public KnowledgeResult() {
}
/**
* constructor
* @param data Record
*/
public KnowledgeResult(Record data) {
this.records = List.of(data);
}
/**
* constructor
* @param data List<Record>
*/
public KnowledgeResult(List<Record> data) {
this.records = data;
}
@Getter
@Setter
@Builder
public static class Record {
/**
* 包含知识库中数据源的文本块
*/
private String content;
/**
* 结果与查询的相关性分数,范围:0~1
*/
private Double score;
/**
* 文档标题
*/
private String title;
/**
* 包含数据源中文档的元数据属性及其值
*/
private Object metadata;
}
}
package io.github.yuanbaobaoo.dify.types;
public enum ResponseMode {
/**
* 阻塞模式
*/
blocking,
/**
* 流式模式
*/
streaming,
}
package io.github.yuanbaobaoo.dify.test;
import com.alibaba.fastjson2.JSON;
import io.github.yuanbaobaoo.dify.client.DifyClientBuilder;
import io.github.yuanbaobaoo.dify.client.IDifyChatClient;
import io.github.yuanbaobaoo.dify.client.params.ParamMessage;
import io.github.yuanbaobaoo.dify.client.types.DifyChatResult;
import io.github.yuanbaobaoo.dify.types.DifyException;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
public class ChatClientTest {
IDifyChatClient client = DifyClientBuilder.create()
.apiKey("app-")
.baseUrl("http://localhost:4000/v1")
.buildChat();
@Test
public void blockTest() {
try {
DifyChatResult result = client.sendMessages(ParamMessage.builder()
.query("测试方法有哪些")
.user("abc-123")
.inputs(new HashMap<>() {{
put("name", "元宝宝");
}}).build());
System.out.println("ok: " + result.getPayload().toJSONString());
} catch (DifyException e) {
System.out.println("error dify: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void streamTest() {
try {
ParamMessage m = ParamMessage.builder().query("测试方法有哪些").user("abc-123").inputs(new HashMap<>() {{
put("name", "元宝宝");
}}).build();
CompletableFuture<Void> future = client.sendMessagesAsync(m, (r) -> {
System.out.println("ok: " + r.getPayload().toJSONString());
});
future.join();
} catch (DifyException e) {
System.out.println("error dify: " + e.toString());
} catch (Exception e) {
Throwable cause = e.getCause();
if (cause instanceof DifyException) {
System.out.println("error dify: " + cause);
} else {
e.printStackTrace();
}
}
}
@Test
public void jsonTest() {
ParamMessage m = ParamMessage.builder().query("测试方法有哪些").user("abc-123").inputs(new HashMap<>() {{
put("name", "元宝宝");
}}).conversationId("123").build();
ParamMessage m1 = JSON.parseObject(
"{\"conversationId\":\"123\",\"inputs\":{\"name\":\"元宝宝\"},\"query\":\"测试方法有哪些\",\"user\":\"abc-123\"}",
ParamMessage.class
);
Map<String, Object> h = new HashMap<>(){{
put("conversation_id", null);
put("user", 1);
put("first_id", null);
put("limit", null);
}};
System.out.println(JSON.toJSONString(h));
System.out.println(JSON.toJSONString(m));
System.out.println(JSON.toJSONString(m1));
}
@Test
public void apiTest() {
// // 历史记录
// JSONObject result = client.history(
// "0f24fe08-4567-448f-b8cb-592d40d83305",
// "abc-123",
// 1,
// "e9e9c1b0-53fd-46e8-ae83-6034d31884e1"
// );
//
// System.out.println(result.toJSONString());
// // 会话列表
// JSONObject result2 = client.conversations(
// "abc-123",
// 1,
// "created_at",
// null
// );
//
// System.out.println(result2.toJSONString());
//
// // 删除会话
// System.out.println(client.deleteConversation(
// "ff59f57c-d247-481f-aabc-86d012b332f3",
// "abc-123"
// ));
// // 停止响应
// System.out.println(client.stopResponse(
// "ff59f57c-d247-481f-aabc-86d012b332f3",
// "abc-123"
// ));
// 获取下一轮建议问题列表
System.out.println(client.suggestedList(
"ff59f57c-d247-481f-aabc-86d012b332f3",
"abc-123"
));
}
@Test
public void audioToTextTest() {
try {
String result = client.audioToText(new File("pom.xml"), "abc-123");
System.out.println("ok: " + result);
} catch (DifyException e) {
System.out.println("dify error: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
package io.github.yuanbaobaoo.dify.test;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import io.github.yuanbaobaoo.dify.client.DifyClientBuilder;
import io.github.yuanbaobaoo.dify.client.IDifyClient;
import io.github.yuanbaobaoo.dify.client.types.DifyFileResult;
import io.github.yuanbaobaoo.dify.routes.DifyRoutes;
import io.github.yuanbaobaoo.dify.routes.HttpMethod;
import io.github.yuanbaobaoo.dify.types.DifyException;
import io.github.yuanbaobaoo.dify.types.DifyRoute;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.concurrent.CompletableFuture;
public class ClientTest {
IDifyClient client = DifyClientBuilder.create()
.apiKey("app-")
.baseUrl("http://localhost:4000/v1")
.build();
@Test
public void blockTest() {
JSONObject object = JSON.parseObject("""
{
"inputs": {
"name": "元宝宝"
},
"user": "abc-123",
"query": "测试方法有哪些"
}
""");
try {
String res = client.sendBlocking(DifyRoutes.CHAT_CHAT_MESSAGES, object);
System.out.println("ok: " + JSON.parse(res).toString());
} catch (DifyException e) {
System.out.println("error dify: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void streamTest() {
JSONObject object = JSON.parseObject("""
{
"inputs": {
"name":"元宝宝"
},
"user": "abc-123",
"query": "测试方法有哪些"
}
""");
try {
CompletableFuture<Void> future = client.sendStreaming(DifyRoutes.CHAT_CHAT_MESSAGES, object, (s) -> {
System.out.println("ok: " + JSON.parse(s).toString());
});
future.join();
} catch (Exception e) {
Throwable cause = e.getCause();
if (cause instanceof DifyException) {
System.out.println("error dify: " + cause);
} else {
e.printStackTrace();
}
}
}
@Test
public void uploadTest() {
try {
DifyFileResult result = client.uploadFile( new File("pom.xml"), "abc-123");
System.out.println("ok: " + JSON.toJSONString(result));
} catch (DifyException e) {
System.out.println("dify error: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void publicApiTest() {
try {
DifyRoute route = DifyRoute.builder().url("/test").method(HttpMethod.GET).build();
String a = client.getAppInfo();
System.out.println(a);
String a1 = client.getAppMetaInfo();
System.out.println(a1);
String a2 = client.getAppParameters();
System.out.println(a2);
} catch (DifyException e) {
System.out.println("dify error: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
package io.github.yuanbaobaoo.dify.test;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import io.github.yuanbaobaoo.dify.client.DifyClientBuilder;
import io.github.yuanbaobaoo.dify.client.IDifyWorkFlowClient;
import io.github.yuanbaobaoo.dify.client.params.ParamMessage;
import io.github.yuanbaobaoo.dify.types.DifyException;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
public class WorkFlowClientTest {
IDifyWorkFlowClient client = DifyClientBuilder.create()
.apiKey("")
.baseUrl("http://localhost:4000/v1")
.buildWorkFlow();
@Test
public void blockTest() {
try {
JSONObject result = client.runBlocking(ParamMessage.builder()
.query("测试方法有哪些")
.user("abc-123")
.inputs(new HashMap<>() {{
put("name", "元宝宝");
}}).build());
System.out.println("ok: " + result.toJSONString());
} catch (DifyException e) {
System.out.println("error dify: " + e.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void streamTest() {
try {
ParamMessage m = ParamMessage.builder().query("测试方法有哪些").user("abc-123").inputs(new HashMap<>() {{
put("name", "元宝宝");
}}).build();
CompletableFuture<Void> future = client.runStreaming(m, (r) -> {
System.out.println("ok: " + r.getPayload().toJSONString());
});
future.join();
} catch (DifyException e) {
System.out.println("error dify: " + e.toString());
} catch (Exception e) {
Throwable cause = e.getCause();
if (cause instanceof DifyException) {
System.out.println("error dify: " + cause);
} else {
e.printStackTrace();
}
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment