mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-26 01:01:52 +08:00
【代码优化】AI:完善 SunoApiTests 单测,方便大家快速体验
This commit is contained in:
parent
62d5ed8395
commit
fa230cea8e
@ -68,17 +68,6 @@ public class SunoApi {
|
||||
.block();
|
||||
}
|
||||
|
||||
public List<MusicData> chatCompletion(String prompt) {
|
||||
return this.webClient.post()
|
||||
.uri("/v1/chat/completions")
|
||||
.body(Mono.just(new MusicGenerateRequest(prompt)), MusicGenerateRequest.class)
|
||||
.retrieve()
|
||||
.onStatus(STATUS_PREDICATE, EXCEPTION_FUNCTION.apply(prompt))
|
||||
.bodyToMono(new ParameterizedTypeReference<List<MusicData>>() {
|
||||
})
|
||||
.block();
|
||||
}
|
||||
|
||||
public LyricsData generateLyrics(String prompt) {
|
||||
return this.webClient.post()
|
||||
.uri("/api/generate_lyrics")
|
||||
@ -198,7 +187,7 @@ public class SunoApi {
|
||||
}
|
||||
|
||||
/**
|
||||
* Suno API 响应的限额数据,目前每日免费50
|
||||
* Suno API 响应的限额数据,目前每日免费 50
|
||||
*/
|
||||
public record LimitUsageData(
|
||||
@JsonProperty("credits_left") Long creditsLeft,
|
||||
|
@ -0,0 +1,83 @@
|
||||
package cn.iocoder.yudao.framework.ai.music;
|
||||
|
||||
import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* {@link SunoApi} 集成测试
|
||||
*
|
||||
* @author xiaoxin
|
||||
*/
|
||||
public class SunoApiTests {
|
||||
|
||||
private final SunoApi sunoApi = new SunoApi("https://suno-3tah0ycyt-status2xxs-projects.vercel.app");
|
||||
// private final SunoApi sunoApi = new SunoApi("http://127.0.0.1:3001");
|
||||
|
||||
@Test // 描述模式
|
||||
@Disabled
|
||||
public void testGenerate() {
|
||||
// 准备参数
|
||||
SunoApi.MusicGenerateRequest generateRequest = new SunoApi.MusicGenerateRequest(
|
||||
"happy music",
|
||||
"chirp-v3-5",
|
||||
false);
|
||||
|
||||
// 调用方法
|
||||
List<SunoApi.MusicData> musicList = sunoApi.generate(generateRequest);
|
||||
// 打印结果
|
||||
System.out.println(musicList);
|
||||
}
|
||||
|
||||
@Test // 歌词模式
|
||||
@Disabled
|
||||
public void testCustomGenerate() {
|
||||
// 准备参数
|
||||
SunoApi.MusicGenerateRequest generateRequest = new SunoApi.MusicGenerateRequest(
|
||||
"创作一首带有轻松吉他旋律的流行歌曲,[verse] 描述夏日海滩的宁静,[chorus] 节奏加快,表达对自由的向往。",
|
||||
"Happy",
|
||||
"Happy Song",
|
||||
"chirp-v3.5",
|
||||
false,
|
||||
false);
|
||||
|
||||
// 调用方法
|
||||
List<SunoApi.MusicData> musicList = sunoApi.customGenerate(generateRequest);
|
||||
// 打印结果
|
||||
System.out.println(musicList);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void testGenerateLyrics() {
|
||||
// 调用方法
|
||||
SunoApi.LyricsData lyricsData = sunoApi.generateLyrics("A soothing lullaby");
|
||||
// 打印结果
|
||||
System.out.println(lyricsData);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void testGetMusicList() {
|
||||
// 准备参数
|
||||
// String id = "d460ddda-7c87-4f34-b751-419b08a590ca";
|
||||
String id = "584729e5-0fe9-4157-86da-1b4803ff42bf";
|
||||
|
||||
// 调用方法
|
||||
List<SunoApi.MusicData> musicList = sunoApi.getMusicList(List.of(id));
|
||||
// 打印结果
|
||||
System.out.println(musicList);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
public void testGetLimitUsage() {
|
||||
// 调用方法
|
||||
SunoApi.LimitUsageData limitUsageData = sunoApi.getLimitUsage();
|
||||
// 打印结果
|
||||
System.out.println(limitUsageData);
|
||||
}
|
||||
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
package cn.iocoder.yudao.framework.ai.music;
|
||||
|
||||
import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
// TODO 芋艿:整理单测
|
||||
/**
|
||||
* @Author xiaoxin
|
||||
* @Date 2024/5/27
|
||||
*/
|
||||
public class SunoTests {
|
||||
|
||||
private final SunoApi sunoApi = new SunoApi("https://suno-55ishh05u-status2xxs-projects.vercel.app");
|
||||
// private final SunoApi sunoApi = new SunoApi("http://127.0.0.1:3001");
|
||||
|
||||
@Test
|
||||
public void selectById() {
|
||||
System.out.println(sunoApi.getMusicList(List.of("d460ddda-7c87-4f34-b751-419b08a590ca,ff90ea66-49cd-4fd2-b44c-44267dfd5551")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generate() {
|
||||
List<SunoApi.MusicData> generate = sunoApi.generate(new SunoApi.MusicGenerateRequest("创作一首带有轻松吉他旋律的流行歌曲,[verse] 描述夏日海滩的宁静,[chorus] 节奏加快,表达对自由的向往。"));
|
||||
System.out.println(generate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void doChatCompletion() {
|
||||
List<SunoApi.MusicData> generate = sunoApi.chatCompletion("创作一首带有轻松吉他旋律的流行歌曲,[verse] 描述夏日海滩的宁静,[chorus] 节奏加快,表达对自由的向往。");
|
||||
System.out.println(generate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void generateLyrics() {
|
||||
SunoApi.LyricsData lyricsData = sunoApi.generateLyrics("A soothing lullaby");
|
||||
System.out.println(lyricsData);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void selectLimit() {
|
||||
SunoApi.LimitUsageData limitUsageData = sunoApi.getLimitUsage();
|
||||
System.out.println(limitUsageData);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user