mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
fix test
This commit is contained in:
parent
b7c3659f64
commit
17baf2e388
@ -44,13 +44,18 @@ public class DeepSeekServiceImpl extends BaseAIService implements DeepSeekServic
|
||||
//余额查询
|
||||
private final String BALANCE_ENDPOINT = "/user/balance";
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*
|
||||
* @param config AI配置
|
||||
*/
|
||||
public DeepSeekServiceImpl(final AIConfig config) {
|
||||
//初始化DeepSeek客户端
|
||||
super(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chat(String prompt) {
|
||||
public String chat(final String prompt) {
|
||||
// 定义消息结构
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system", "You are a helpful assistant"));
|
||||
@ -60,27 +65,27 @@ public class DeepSeekServiceImpl extends BaseAIService implements DeepSeekServic
|
||||
|
||||
@Override
|
||||
public String chat(final List<Message> messages) {
|
||||
String paramJson = buildChatRequestBody(messages);
|
||||
Response response = sendPost(CHAT_ENDPOINT, paramJson);
|
||||
final String paramJson = buildChatRequestBody(messages);
|
||||
final Response response = sendPost(CHAT_ENDPOINT, paramJson);
|
||||
return response.bodyStr();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String beta(String prompt) {
|
||||
String paramJson = buildBetaRequestBody(prompt);
|
||||
Response response = sendPost(BETA_ENDPOINT, paramJson);
|
||||
public String beta(final String prompt) {
|
||||
final String paramJson = buildBetaRequestBody(prompt);
|
||||
final Response response = sendPost(BETA_ENDPOINT, paramJson);
|
||||
return response.bodyStr();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String models() {
|
||||
Response response = sendGet(MODELS_ENDPOINT);
|
||||
final Response response = sendGet(MODELS_ENDPOINT);
|
||||
return response.bodyStr();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String balance() {
|
||||
Response response = sendGet(BALANCE_ENDPOINT);
|
||||
final Response response = sendGet(BALANCE_ENDPOINT);
|
||||
return response.bodyStr();
|
||||
}
|
||||
|
||||
@ -97,7 +102,7 @@ public class DeepSeekServiceImpl extends BaseAIService implements DeepSeekServic
|
||||
}
|
||||
|
||||
// 构建beta请求体
|
||||
private String buildBetaRequestBody(String prompt) {
|
||||
private String buildBetaRequestBody(final String prompt) {
|
||||
// 定义消息结构
|
||||
//使用JSON工具
|
||||
final Map<String, Object> paramMap = new HashMap<>();
|
||||
|
@ -29,13 +29,13 @@ class AIServiceFactoryTest {
|
||||
|
||||
@Test
|
||||
void getAIService() {
|
||||
AIService aiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build());
|
||||
final AIService aiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build());
|
||||
assertNotNull(aiService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetAIService() {
|
||||
DeepSeekService deepSeekService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), DeepSeekService.class);
|
||||
final DeepSeekService deepSeekService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), DeepSeekService.class);
|
||||
assertNotNull(deepSeekService);
|
||||
}
|
||||
}
|
||||
|
@ -36,52 +36,52 @@ class AIUtilTest {
|
||||
|
||||
@Test
|
||||
void getAIService() {
|
||||
DeepSeekService deepSeekService = AIUtil.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), DeepSeekService.class);
|
||||
final DeepSeekService deepSeekService = AIUtil.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), DeepSeekService.class);
|
||||
assertNotNull(deepSeekService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetAIService() {
|
||||
AIService aiService = AIUtil.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue()).setApiKey(key).build());
|
||||
final AIService aiService = AIUtil.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue()).setApiKey(key).build());
|
||||
assertNotNull(aiService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDeepSeekService() {
|
||||
DeepSeekService deepSeekService = AIUtil.getDeepSeekService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build());
|
||||
final DeepSeekService deepSeekService = AIUtil.getDeepSeekService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build());
|
||||
assertNotNull(deepSeekService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDoubaoService() {
|
||||
DoubaoService doubaoService = AIUtil.getDoubaoService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).build());
|
||||
final DoubaoService doubaoService = AIUtil.getDoubaoService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).build());
|
||||
assertNotNull(doubaoService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getGrokService() {
|
||||
GrokService grokService = AIUtil.getGrokService(new AIConfigBuilder(ModelName.GROK.getValue()).setApiKey(key).build());
|
||||
final GrokService grokService = AIUtil.getGrokService(new AIConfigBuilder(ModelName.GROK.getValue()).setApiKey(key).build());
|
||||
assertNotNull(grokService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getOpenAIService() {
|
||||
OpenaiService openAIService = AIUtil.getOpenAIService(new AIConfigBuilder(ModelName.OPENAI.getValue()).setApiKey(key).build());
|
||||
final OpenaiService openAIService = AIUtil.getOpenAIService(new AIConfigBuilder(ModelName.OPENAI.getValue()).setApiKey(key).build());
|
||||
assertNotNull(openAIService);
|
||||
}
|
||||
|
||||
@Test
|
||||
void chat() {
|
||||
String chat = AIUtil.chat(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), "写一首赞美我的诗");
|
||||
final String chat = AIUtil.chat(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), "写一首赞美我的诗");
|
||||
assertNotNull(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testChat() {
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是财神爷,只会说“我是财神”"));
|
||||
messages.add(new Message("user","你是谁啊?"));
|
||||
String chat = AIUtil.chat(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), messages);
|
||||
final String chat = AIUtil.chat(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), messages);
|
||||
System.out.println(chat);
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import org.dromara.hutool.ai.AIServiceFactory;
|
||||
import org.dromara.hutool.ai.ModelName;
|
||||
import org.dromara.hutool.ai.core.AIConfigBuilder;
|
||||
import org.dromara.hutool.ai.core.Message;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -31,35 +32,40 @@ class DeepSeekServiceTest {
|
||||
DeepSeekService deepSeekService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(),DeepSeekService.class);
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chat(){
|
||||
String chat = deepSeekService.chat("写一个疯狂星期四广告词");
|
||||
final String chat = deepSeekService.chat("写一个疯狂星期四广告词");
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChat(){
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,会说很抽象的话,最擅长说抽象的笑话"));
|
||||
messages.add(new Message("user","给我说一个笑话"));
|
||||
String chat = deepSeekService.chat(messages);
|
||||
final String chat = deepSeekService.chat(messages);
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void beta() {
|
||||
String beta = deepSeekService.beta("写一个疯狂星期四广告词");
|
||||
final String beta = deepSeekService.beta("写一个疯狂星期四广告词");
|
||||
System.out.println(beta);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void models() {
|
||||
String models = deepSeekService.models();
|
||||
final String models = deepSeekService.models();
|
||||
System.out.println(models);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void balance() {
|
||||
String balance = deepSeekService.balance();
|
||||
final String balance = deepSeekService.balance();
|
||||
System.out.println(balance);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import org.dromara.hutool.ai.Models;
|
||||
import org.dromara.hutool.ai.core.AIConfigBuilder;
|
||||
import org.dromara.hutool.ai.core.Message;
|
||||
import org.dromara.hutool.swing.img.ImgUtil;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.awt.*;
|
||||
@ -35,143 +36,159 @@ class DoubaoServiceTest {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setModel(Models.Doubao.DOUBAO_1_5_LITE_32K.getModel()).setApiKey(key).build(), DoubaoService.class);
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chat(){
|
||||
String chat = doubaoService.chat("写一个疯狂星期四广告词");
|
||||
final String chat = doubaoService.chat("写一个疯狂星期四广告词");
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChat(){
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,会说很抽象的话,最擅长说抽象的笑话"));
|
||||
messages.add(new Message("user","给我说一个笑话"));
|
||||
String chat = doubaoService.chat(messages);
|
||||
final String chat = doubaoService.chat(messages);
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chatVision() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);
|
||||
String base64 = ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");
|
||||
String chatVision = doubaoService.chatVision("图片上有些什么?", Arrays.asList(base64));
|
||||
final String base64 = ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");
|
||||
final String chatVision = doubaoService.chatVision("图片上有些什么?", Arrays.asList(base64));
|
||||
System.out.println(chatVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChatVision() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);
|
||||
String chatVision = doubaoService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544"),DoubaoCommon.DoubaoVision.HIGH.getDetail());
|
||||
final String chatVision = doubaoService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544"),DoubaoCommon.DoubaoVision.HIGH.getDetail());
|
||||
System.out.println(chatVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void videoTasks() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
String videoTasks = doubaoService.videoTasks("生成一段动画视频,主角是大耳朵图图,一个活泼可爱的小男孩。视频中图图在公园里玩耍," +
|
||||
final String videoTasks = doubaoService.videoTasks("生成一段动画视频,主角是大耳朵图图,一个活泼可爱的小男孩。视频中图图在公园里玩耍," +
|
||||
"画面采用明亮温暖的卡通风格,色彩鲜艳,动作流畅。背景音乐轻快活泼,带有冒险感,音效包括鸟叫声、欢笑声和山洞回声。", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
|
||||
System.out.println(videoTasks);//cgt-20250306170051-6r9gk
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void getVideoTasksInfo() {
|
||||
//cgt-20250306170051-6r9gk
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).build(), DoubaoService.class);
|
||||
String videoTasksInfo = doubaoService.getVideoTasksInfo("cgt-20250306170051-6r9gk");
|
||||
final String videoTasksInfo = doubaoService.getVideoTasksInfo("cgt-20250306170051-6r9gk");
|
||||
System.out.println(videoTasksInfo);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void embeddingText() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel(Models.Doubao.DOUBAO_EMBEDDING_TEXT_240715.getModel()).build(), DoubaoService.class);
|
||||
String embeddingText = doubaoService.embeddingText(new String[]{"阿斯顿", "马丁"});
|
||||
final String embeddingText = doubaoService.embeddingText(new String[]{"阿斯顿", "马丁"});
|
||||
System.out.println(embeddingText);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void embeddingVision() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel(Models.Doubao.DOUBAO_EMBEDDING_VISION.getModel()).build(), DoubaoService.class);
|
||||
String embeddingVision = doubaoService.embeddingVision("天空好难", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
|
||||
final String embeddingVision = doubaoService.embeddingVision("天空好难", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
|
||||
System.out.println(embeddingVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void botsChat() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your bots id").build(), DoubaoService.class);
|
||||
ArrayList<Message> messages = new ArrayList<>();
|
||||
final ArrayList<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是什么都可以"));
|
||||
messages.add(new Message("user","你想做些什么"));
|
||||
String botsChat = doubaoService.botsChat(messages);
|
||||
final String botsChat = doubaoService.botsChat(messages);
|
||||
System.out.println(botsChat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void tokenization() {
|
||||
String tokenization = doubaoService.tokenization(new String[]{"阿斯顿", "马丁"});
|
||||
final String tokenization = doubaoService.tokenization(new String[]{"阿斯顿", "马丁"});
|
||||
System.out.println(tokenization);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void batchChat() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
String batchChat = doubaoService.batchChat("写首歌词");
|
||||
final String batchChat = doubaoService.batchChat("写首歌词");
|
||||
System.out.println(batchChat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testBatchChat() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师"));
|
||||
messages.add(new Message("user","写一个KFC的抽象广告"));
|
||||
String batchChat = doubaoService.batchChat(messages);
|
||||
final String batchChat = doubaoService.batchChat(messages);
|
||||
System.out.println(batchChat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void createContext() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,你真的很抽象"));
|
||||
String context = doubaoService.createContext(messages);//ctx-20250307092153-cvslm
|
||||
final String context = doubaoService.createContext(messages);//ctx-20250307092153-cvslm
|
||||
System.out.println(context);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testCreateContext() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,你真的很抽象"));
|
||||
String context = doubaoService.createContext(messages,DoubaoCommon.DoubaoContext.COMMON_PREFIX.getMode());
|
||||
final String context = doubaoService.createContext(messages,DoubaoCommon.DoubaoContext.COMMON_PREFIX.getMode());
|
||||
System.out.println(context);//ctx-20250307092153-cvslm
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chatContext() {
|
||||
//ctx-20250307092153-cvslm
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("eyour Endpoint ID").build(), DoubaoService.class);
|
||||
String chatContext = doubaoService.chatContext("你是谁?", "ctx-20250307092153-cvslm");
|
||||
final String chatContext = doubaoService.chatContext("你是谁?", "ctx-20250307092153-cvslm");
|
||||
System.out.println(chatContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChatContext() {
|
||||
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
final DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue())
|
||||
.setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("user","你怎么看待意大利面拌水泥?"));
|
||||
String chatContext = doubaoService.chatContext(messages, "ctx-20250307092153-cvslm");
|
||||
final String chatContext = doubaoService.chatContext(messages, "ctx-20250307092153-cvslm");
|
||||
System.out.println(chatContext);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import org.dromara.hutool.ai.Models;
|
||||
import org.dromara.hutool.ai.core.AIConfigBuilder;
|
||||
import org.dromara.hutool.ai.core.Message;
|
||||
import org.dromara.hutool.swing.img.ImgUtil;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.awt.*;
|
||||
@ -38,74 +39,85 @@ class GrokServiceTest {
|
||||
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chat(){
|
||||
String chat = grokService.chat("写一个疯狂星期四广告词");
|
||||
final String chat = grokService.chat("写一个疯狂星期四广告词");
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChat(){
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,会说很抽象的话,最擅长说抽象的笑话"));
|
||||
messages.add(new Message("user","给我说一个笑话"));
|
||||
String chat = grokService.chat(messages);
|
||||
final String chat = grokService.chat(messages);
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void message() {
|
||||
String message = grokService.message("给我一个KFC的广告词", 4096);
|
||||
final String message = grokService.message("给我一个KFC的广告词", 4096);
|
||||
System.out.println(message);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chatVision() {
|
||||
GrokService grokService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.GROK.getValue()).setModel(Models.Grok.GROK_2_VISION_1212.getModel()).setApiKey(key).build(), GrokService.class);
|
||||
String base64 = ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");
|
||||
String chatVision = grokService.chatVision("图片上有些什么?", Arrays.asList(base64));
|
||||
final GrokService grokService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.GROK.getValue()).setModel(Models.Grok.GROK_2_VISION_1212.getModel()).setApiKey(key).build(), GrokService.class);
|
||||
final String base64 = ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");
|
||||
final String chatVision = grokService.chatVision("图片上有些什么?", Arrays.asList(base64));
|
||||
System.out.println(chatVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChatVision() {
|
||||
GrokService grokService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.GROK.getValue()).setModel(Models.Grok.GROK_2_VISION_1212.getModel()).setApiKey(key).build(), GrokService.class);
|
||||
String chatVision = grokService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544"));
|
||||
final GrokService grokService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.GROK.getValue()).setModel(Models.Grok.GROK_2_VISION_1212.getModel()).setApiKey(key).build(), GrokService.class);
|
||||
final String chatVision = grokService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544"));
|
||||
System.out.println(chatVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void models() {
|
||||
String models = grokService.models();
|
||||
final String models = grokService.models();
|
||||
assertNotNull(models);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void getModel() {
|
||||
String model = grokService.getModel("");
|
||||
final String model = grokService.getModel("");
|
||||
assertNotNull(model);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void languageModels() {
|
||||
String languageModels = grokService.languageModels();
|
||||
final String languageModels = grokService.languageModels();
|
||||
assertNotNull(languageModels);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void getLanguageModel() {
|
||||
String language = grokService.getLanguageModel("");
|
||||
final String language = grokService.getLanguageModel("");
|
||||
assertNotNull(language);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void tokenizeText() {
|
||||
String tokenizeText = grokService.tokenizeText(key);
|
||||
final String tokenizeText = grokService.tokenizeText(key);
|
||||
assertNotNull(tokenizeText);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void deferredCompletion() {
|
||||
String deferred = grokService.deferredCompletion(key);
|
||||
final String deferred = grokService.deferredCompletion(key);
|
||||
assertNotNull(deferred);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import org.dromara.hutool.ai.Models;
|
||||
import org.dromara.hutool.ai.core.AIConfigBuilder;
|
||||
import org.dromara.hutool.ai.core.Message;
|
||||
import org.dromara.hutool.core.io.file.FileUtil;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
@ -42,112 +43,123 @@ class OpenaiServiceTest {
|
||||
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chat(){
|
||||
String chat = openaiService.chat("写一个疯狂星期四广告词");
|
||||
final String chat = openaiService.chat("写一个疯狂星期四广告词");
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testChat(){
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是个抽象大师,会说很抽象的话,最擅长说抽象的笑话"));
|
||||
messages.add(new Message("user","给我说一个笑话"));
|
||||
String chat = openaiService.chat(messages);
|
||||
final String chat = openaiService.chat(messages);
|
||||
System.out.println(chat);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chatVision() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.GPT_4O_MINI.getModel()).build(), OpenaiService.class);
|
||||
String chatVision = openaiService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544","https://img2.baidu.com/it/u=1682510685,1244554634&fm=253&fmt=auto&app=138&f=JPEG?w=803&h=800"));
|
||||
final String chatVision = openaiService.chatVision("图片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544","https://img2.baidu.com/it/u=1682510685,1244554634&fm=253&fmt=auto&app=138&f=JPEG?w=803&h=800"));
|
||||
System.out.println(chatVision);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void imagesGenerations() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.DALL_E_3.getModel()).build(), OpenaiService.class);
|
||||
String imagesGenerations = openaiService.imagesGenerations("一位年轻的宇航员站在未来感十足的太空站内,透过巨大的弧形落地窗凝望浩瀚宇宙。窗外,璀璨的星河与五彩斑斓的星云交织,远处隐约可见未知星球的轮廓,仿佛在召唤着探索的脚步。宇航服上的呼吸灯与透明显示屏上的星图交相辉映,象征着人类科技与宇宙奥秘的碰撞。画面深邃而神秘,充满对未知的渴望与无限可能的想象。");
|
||||
final String imagesGenerations = openaiService.imagesGenerations("一位年轻的宇航员站在未来感十足的太空站内,透过巨大的弧形落地窗凝望浩瀚宇宙。窗外,璀璨的星河与五彩斑斓的星云交织,远处隐约可见未知星球的轮廓,仿佛在召唤着探索的脚步。宇航服上的呼吸灯与透明显示屏上的星图交相辉映,象征着人类科技与宇宙奥秘的碰撞。画面深邃而神秘,充满对未知的渴望与无限可能的想象。");
|
||||
System.out.println(imagesGenerations);
|
||||
//https://oaidalleapiprodscus.blob.core.windows.net/private/org-l99H6T0zCZejctB2TqdYrXFB/user-LilDVU1V8cUxJYwVAGRkUwYd/img-yA9kNatHnBiUHU5lZGim1hP2.png?st=2025-03-07T01%3A04%3A18Z&se=2025-03-07T03%3A04%3A18Z&sp=r&sv=2024-08-04&sr=b&rscd=inline&rsct=image/png&skoid=d505667d-d6c1-4a0a-bac7-5c84a87759f8&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2025-03-06T15%3A04%3A42Z&ske=2025-03-07T15%3A04%3A42Z&sks=b&skv=2024-08-04&sig=rjcRzC5U7Y3pEDZ4ME0CiviAPdIpoGO2rRTXw3m8rHw%3D
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void imagesEdits() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.DALL_E_2.getModel()).build(), OpenaiService.class);
|
||||
File file = FileUtil.file("your imgUrl");
|
||||
String imagesEdits = openaiService.imagesEdits("茂密的森林中,有一只九色鹿若隐若现",file);
|
||||
final File file = FileUtil.file("your imgUrl");
|
||||
final String imagesEdits = openaiService.imagesEdits("茂密的森林中,有一只九色鹿若隐若现",file);
|
||||
System.out.println(imagesEdits);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void imagesVariations() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.DALL_E_2.getModel()).build(), OpenaiService.class);
|
||||
File file = FileUtil.file("your imgUrl");
|
||||
String imagesVariations = openaiService.imagesVariations(file);
|
||||
final File file = FileUtil.file("your imgUrl");
|
||||
final String imagesVariations = openaiService.imagesVariations(file);
|
||||
System.out.println(imagesVariations);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void textToSpeech() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.TTS_1_HD.getModel()).build(), OpenaiService.class);
|
||||
InputStream inputStream = openaiService.textToSpeech("万里山河一夜白,\n" +
|
||||
final InputStream inputStream = openaiService.textToSpeech("万里山河一夜白,\n" +
|
||||
"千峰尽染玉龙哀。\n" +
|
||||
"长风卷起琼花碎,\n" +
|
||||
"直上九霄揽月来。", OpenaiCommon.OpenaiSpeech.NOVA);
|
||||
|
||||
String filePath = "your filePath";
|
||||
Path path = Paths.get(filePath);
|
||||
try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
|
||||
final String filePath = "your filePath";
|
||||
final Path path = Paths.get(filePath);
|
||||
try (final FileOutputStream outputStream = new FileOutputStream(filePath)) {
|
||||
Files.createDirectories(path.getParent());
|
||||
byte[] buffer = new byte[1024];
|
||||
final byte[] buffer = new byte[1024];
|
||||
int bytesRead;
|
||||
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||
outputStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
} catch (final IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void speechToText() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.WHISPER_1.getModel()).build(), OpenaiService.class);
|
||||
File file = FileUtil.file("your filePath");
|
||||
String speechToText = openaiService.speechToText(file);
|
||||
final File file = FileUtil.file("your filePath");
|
||||
final String speechToText = openaiService.speechToText(file);
|
||||
System.out.println(speechToText);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void embeddingText() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.TEXT_EMBEDDING_3_SMALL.getModel()).build(), OpenaiService.class);
|
||||
String embeddingText = openaiService.embeddingText("萬里山河一夜白,千峰盡染玉龍哀,長風捲起瓊花碎,直上九霄闌月來");
|
||||
final String embeddingText = openaiService.embeddingText("萬里山河一夜白,千峰盡染玉龍哀,長風捲起瓊花碎,直上九霄闌月來");
|
||||
System.out.println(embeddingText);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void moderations() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.OMNI_MODERATION_LATEST.getModel()).build(), OpenaiService.class);
|
||||
String moderations = openaiService.moderations("你要杀人", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
|
||||
final String moderations = openaiService.moderations("你要杀人", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
|
||||
System.out.println(moderations);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void chatReasoning() {
|
||||
OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
final OpenaiService openaiService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.OPENAI.getValue())
|
||||
.setApiKey(key).setModel(Models.Openai.O3_MINI.getModel()).build(), OpenaiService.class);
|
||||
List<Message> messages = new ArrayList<>();
|
||||
final List<Message> messages = new ArrayList<>();
|
||||
messages.add(new Message("system","你是现代抽象家"));
|
||||
messages.add(new Message("user","给我一个KFC疯狂星期四的文案"));
|
||||
String chatReasoning = openaiService.chatReasoning(messages, OpenaiCommon.OpenaiReasoning.HIGH.getEffort());
|
||||
final String chatReasoning = openaiService.chatReasoning(messages, OpenaiCommon.OpenaiReasoning.HIGH.getEffort());
|
||||
System.out.println(chatReasoning);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user