Browse Source

视觉ai测试类

liyanbo 2 tháng trước cách đây
mục cha
commit
d557139be1

+ 55 - 0
byzs-web/src/test/java/ai/ChatCompletionsVisionExample.java

@@ -0,0 +1,55 @@
+package ai;
+
+import com.volcengine.ark.runtime.model.completion.chat.ChatCompletionContentPart;
+import com.volcengine.ark.runtime.model.completion.chat.ChatCompletionRequest;
+import com.volcengine.ark.runtime.model.completion.chat.ChatMessage;
+import com.volcengine.ark.runtime.model.completion.chat.ChatMessageRole;
+import com.volcengine.ark.runtime.service.ArkService;
+import okhttp3.ConnectionPool;
+import okhttp3.Dispatcher;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+//【对话】
+// 请确保您已将 API Key 存储在环境变量 ARK_API_KEY 中
+// 初始化Ark客户端,从环境变量中读取您的API Key
+public class ChatCompletionsVisionExample {
+    // 从环境变量中获取您的 API Key。此为默认方式,您可根据需要进行修改
+    static String apiKey = "4bb6060f-b4a1-4e0a-bf7b-71dcaa6311cb";
+    // 此为默认路径,您可根据业务所在地域进行配置
+    static String baseUrl = "https://ark.cn-beijing.volces.com/api/v3";
+    static ConnectionPool connectionPool = new ConnectionPool(5, 1, TimeUnit.SECONDS);
+    static Dispatcher dispatcher = new Dispatcher();
+    static ArkService service = ArkService.builder().dispatcher(dispatcher).connectionPool(connectionPool).baseUrl(baseUrl).apiKey(apiKey).build();
+
+    public static void main(String[] args) {
+        System.out.println("----- image input -----");
+        final List<ChatMessage> messages = new ArrayList<>();
+        final List<ChatCompletionContentPart> multiParts = new ArrayList<>();
+        multiParts.add(ChatCompletionContentPart.builder().type("image_url").imageUrl(
+              new ChatCompletionContentPart.ChatCompletionContentPartImageURL(
+                      "https://learn-ai.com.cn/admin-api/infra/file/29/get/20251217/网页地图level1-32_1765957974334.png"
+              )
+        ).build());
+        multiParts.add(ChatCompletionContentPart.builder().type("text").text(
+                "你看见了什么?"
+        ).build());
+
+        final ChatMessage userMessage = ChatMessage.builder().role(ChatMessageRole.USER)
+                .multiContent(multiParts).build();
+        messages.add(userMessage);
+
+        ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
+                // 指定您创建的方舟推理接入点 ID,此处已帮您修改为您的推理接入点 ID
+                .model("doubao-seed-1-8-251228")
+                .messages(messages)
+                .build();
+
+        service.createChatCompletion(chatCompletionRequest).getChoices().forEach(choice ->
+                System.out.println(choice.getMessage().getContent()));
+
+        service.shutdownExecutor();
+    }
+}

+ 39 - 0
byzs-web/src/test/java/ai/demo.java

@@ -0,0 +1,39 @@
+package ai;
+import cn.iocoder.byzs.module.web.controller.admin.ai.WebAiController;
+import com.volcengine.ark.runtime.model.responses.content.InputContentItemImage;
+import com.volcengine.ark.runtime.model.responses.content.InputContentItemText;
+import com.volcengine.ark.runtime.model.responses.item.ItemEasyMessage;
+import com.volcengine.ark.runtime.service.ArkService;
+import com.volcengine.ark.runtime.model.responses.request.*;
+import com.volcengine.ark.runtime.model.responses.response.ResponseObject;
+import com.volcengine.ark.runtime.model.responses.constant.ResponsesConstants;
+import com.volcengine.ark.runtime.model.responses.item.MessageContent;
+
+//【单次调用】
+public class demo {
+    public static void main(String[] args) {
+        String apiKey = "4bb6060f-b4a1-4e0a-bf7b-71dcaa6311cb";
+        // 创建ArkService实例
+        ArkService arkService = ArkService.builder().apiKey(apiKey).baseUrl("https://ark.cn-beijing.volces.com/api/v3").build();
+
+        CreateResponsesRequest request = CreateResponsesRequest.builder()
+                .model("doubao-seed-1-8-251228")
+                .input(ResponsesInput.builder().addListItem(
+                        ItemEasyMessage.builder().role(ResponsesConstants.MESSAGE_ROLE_USER).content(
+                                MessageContent.builder()
+                                        .addListItem(InputContentItemImage.builder().imageUrl("https://learn-ai.com.cn/admin-api/infra/file/29/get/20251217/网页地图level1-32_1765957974334.png").build())
+                                        .addListItem(InputContentItemText.builder().text("这是什么植物").build())
+                                        .build()
+                        ).build()
+                ).build())
+                .build();
+        ResponseObject resp = arkService.createResponse(request);
+        String text = WebAiController.extractTextFromResponse(resp);
+
+        System.out.println("===== 提取到的文本 =====\n" + text);
+
+
+
+        arkService.shutdownExecutor();
+    }
+}