翻译模型
This commit is contained in:
97
src/test/java/com/rj/ai/VideoImageToText.java
Normal file
97
src/test/java/com/rj/ai/VideoImageToText.java
Normal file
@@ -0,0 +1,97 @@
|
||||
package com.rj.ai;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
|
||||
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
|
||||
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
|
||||
import com.alibaba.dashscope.common.MultiModalMessage;
|
||||
import com.alibaba.dashscope.common.Role;
|
||||
import com.alibaba.dashscope.exception.ApiException;
|
||||
import com.alibaba.dashscope.exception.NoApiKeyException;
|
||||
import com.alibaba.dashscope.exception.UploadFileException;
|
||||
|
||||
|
||||
import java.lang.System;
|
||||
import java.util.Collections;
|
||||
import com.alibaba.dashscope.aigc.generation.Generation;
|
||||
import com.alibaba.dashscope.aigc.generation.GenerationParam;
|
||||
import com.alibaba.dashscope.aigc.generation.GenerationResult;
|
||||
import com.alibaba.dashscope.aigc.generation.TranslationOptions;
|
||||
import com.alibaba.dashscope.common.Message;
|
||||
import com.alibaba.dashscope.common.Role;
|
||||
import com.alibaba.dashscope.exception.ApiException;
|
||||
import com.alibaba.dashscope.exception.InputRequiredException;
|
||||
|
||||
|
||||
|
||||
public class VideoImageToText {
|
||||
|
||||
// 若使用新加坡地域的模型,请取消下列注释
|
||||
// static {Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";}
|
||||
public static void simpleMultiModalConversationCall()
|
||||
throws ApiException, NoApiKeyException, UploadFileException {
|
||||
MultiModalConversation conv = new MultiModalConversation();
|
||||
// fps 可参数控制视频抽帧频率,表示每隔 1/fps 秒抽取一帧,完整用法请参见:https://help.aliyun.com/zh/model-studio/use-qwen-by-calling-api?#2ed5ee7377fum
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
// params.put("video", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4");
|
||||
params.put("video",
|
||||
"http://101.35.52.237:19005/car/20251012_094805_c50e423f61a5429ba2984500e43acc1f.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20251012%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251012T014810Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=eaa996f9992c2e48acf22f3148328265a9b98630be5bb9dcbe85404a35f923da");
|
||||
|
||||
params.put("fps", 2);
|
||||
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
|
||||
.content(Arrays.asList(
|
||||
params,
|
||||
Collections.singletonMap("text", "这段视频的内容是什么?"))).build();
|
||||
MultiModalConversationParam param = MultiModalConversationParam.builder()
|
||||
// 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
|
||||
// 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
|
||||
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
|
||||
.model("qwen3-vl-plus")
|
||||
.messages(Arrays.asList(userMessage))
|
||||
.build();
|
||||
MultiModalConversationResult result = conv.call(param);
|
||||
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
|
||||
Map<String, Object> resultoo = new HashMap<>();
|
||||
resultoo.put("promptTokens",result.getUsage().getInputTokens() );
|
||||
resultoo.put("completionTokens",result.getUsage().getOutputTokensDetails() );
|
||||
resultoo.put("totalTokens",result.getUsage().getTotalTokens() );
|
||||
|
||||
}
|
||||
|
||||
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
|
||||
Generation gen = new Generation();
|
||||
Message userMsg = Message.builder()
|
||||
.role(Role.USER.getValue())
|
||||
.content("我看到这个视频后没有笑")
|
||||
.build();
|
||||
TranslationOptions options = TranslationOptions.builder()
|
||||
.sourceLang("auto")
|
||||
.targetLang("English")
|
||||
.build();
|
||||
GenerationParam param = GenerationParam.builder()
|
||||
// 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:.apiKey("sk-xxx")
|
||||
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
|
||||
.model("qwen-mt-plus")
|
||||
.messages(Collections.singletonList(userMsg))
|
||||
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
|
||||
.translationOptions(options)
|
||||
.build();
|
||||
return gen.call(param);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
// simpleMultiModalConversationCall();
|
||||
GenerationResult generationResult = callWithMessage();
|
||||
System.out.println(generationResult.getOutput());
|
||||
System.out.println(generationResult.getUsage());
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
@@ -145,6 +145,18 @@ public class TtsRequestLogShortUrlTest {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user