1. 添加 Qanything对话接口单元测试

2. 抽象有道配置文件
main
xueqingkun 11 months ago
parent 11910640c6
commit 878996573b

@ -1,5 +1,6 @@
package com.supervision.qanything.impl;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
@ -8,17 +9,27 @@ import com.supervision.qanything.dto.ChatParam;
import com.supervision.qanything.dto.ChatResult;
import com.supervision.qanything.dto.ResultWrapper;
import com.supervision.qanything.util.AuthV3Util;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.security.NoSuchAlgorithmException;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class QanythingServiceImpl implements QanythingService {
private static final String APP_KEY = "071053d9bc4b544c"; // 您的应用ID
private static final String APP_SECRET = "nObcggsh0li2eGtyII6XOGtSCo6nFgdD"; // 您的应用密钥
@Value("${youdao.qanthing.appKey}")
private String APP_KEY;
@Value("${youdao.qanthing.appSecret}")
private String APP_SECRET;
private String baseUrl = "https://openapi.youdao.com";
@Value("${youdao.qanthing.baseUrl}")
private String BASE_URL = "https://openapi.youdao.com";
@Override
public ResultWrapper<ChatResult> chat(String question, List<String> kbIds) throws NoSuchAlgorithmException {
ChatParam chatParam = new ChatParam();
@ -26,10 +37,10 @@ public class QanythingServiceImpl implements QanythingService {
chatParam.setKbIds(kbIds);
// 添加鉴权相关参数
AuthV3Util.addAuthParams(APP_KEY, APP_SECRET, chatParam);
HttpRequest request = HttpRequest.post(baseUrl + "/q_anything/paas/chat")
HttpRequest request = HttpRequest.post(BASE_URL + "/q_anything/paas/chat")
.body(JSONUtil.toJsonStr(chatParam));
try (HttpResponse response = request.execute()){
return JSONUtil.toBean(response.body(), ResultWrapper.class);
return JSONUtil.toBean(response.body(), new TypeReference<ResultWrapper<ChatResult>>(){},true);
}
}

@ -99,4 +99,10 @@ cql:
logging:
level:
org.nebula.contrib: DEBUG
org.nebula.contrib: DEBUG
youdao:
qanthing:
baseUrl: https://openapi.youdao.com
appKey: 071053d9bc4b544c
appSecret: nObcggsh0li2eGtyII6XOGtSCo6nFgdD

@ -0,0 +1,36 @@
package com.supervision;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import com.supervision.qanything.QanythingService;
import com.supervision.qanything.dto.ChatResult;
import com.supervision.qanything.dto.ResultWrapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.security.NoSuchAlgorithmException;
@Slf4j
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@RunWith(SpringJUnit4ClassRunner.class)
public class YoudaoTest {
@Autowired
private QanythingService qanythingService;
@Test
public void qanythingChatTest() throws NoSuchAlgorithmException {
/*ResultWrapper<ChatResult> chat = qanythingService.chat("怎样创建创建知识库", CollUtil.newArrayList("KB249d43fdb96f4e1399340b8f95e1baa0_240328"));
System.out.println("返回结果:"+ JSONUtil.toJsonStr(chat));
System.out.println(chat.getResult().getResponse());*/
}
}
Loading…
Cancel
Save