获取 Model ID 作为推理接入点
说明
如果您想更灵活的配置使用的大模型及其版本、限流、计费类型(前付费/后付费)、运行状态、调用监控等,推荐您使用 Endpoint ID 作为推理接入点
您已参考安装与初始化中的步骤完成 SDK 安装和访问凭证配置。
说明
示例代码中 <Model>
需要替换为模型的 Model ID(或您在平台上创建的推理接入点 Endpoint ID)。
package com.volcengine.ark.runtime; import com.volcengine.ark.runtime.model.embeddings.EmbeddingRequest; import com.volcengine.ark.runtime.model.embeddings.EmbeddingResult; import com.volcengine.ark.runtime.service.ArkService; import java.util.ArrayList; import java.util.List; public class EmbeddingsExample { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); ArkService service = ArkService.builder().apiKey(apiKey).build(); System.out.println("\n----- embeddings request -----"); List<String> inputs = new ArrayList<>(); inputs.add("花椰菜又称菜花、花菜,是一种常见的蔬菜。"); EmbeddingRequest embeddingRequest = EmbeddingRequest.builder() .model("<Model>") .input(inputs) .build(); EmbeddingResult res = service.createEmbeddings(embeddingRequest); System.out.println(res); // shutdown service service.shutdownExecutor(); } }
package com.volcengine.ark.runtime; import com.volcengine.ark.runtime.model.embeddings.EmbeddingRequest; import com.volcengine.ark.runtime.model.embeddings.EmbeddingResult; import com.volcengine.ark.runtime.service.ArkService; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class EmbeddingsExample { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); ArkService service = ArkService.builder().apiKey(apiKey).build(); System.out.println("\n----- embeddings request -----"); List<String> inputs = new ArrayList<>(); inputs.add("花椰菜又称菜花、花菜,是一种常见的蔬菜。"); EmbeddingRequest embeddingRequest = EmbeddingRequest.builder() .model("<Model>") .input(inputs) .build(); EmbeddingResult res = service.createEmbeddings(embeddingRequest, new HashMap<String, String>(){{put(Const.CLIENT_REQUEST_HEADER, "20240627115839147D61D8875537A133C1");}}); System.out.println(res); // shutdown service service.shutdownExecutor(); } }
package com.volcengine.ark.runtime; import com.volcengine.ark.runtime.exception.ArkHttpException; import com.volcengine.ark.runtime.model.embeddings.EmbeddingRequest; import com.volcengine.ark.runtime.model.embeddings.EmbeddingResult; import com.volcengine.ark.runtime.service.ArkService; import java.util.ArrayList; import java.util.List; public class EmbeddingsExample { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); ArkService service = ArkService.builder().apiKey(apiKey).build(); System.out.println("\n----- embeddings request -----"); List<String> inputs = new ArrayList<>(); inputs.add("花椰菜又称菜花、花菜,是一种常见的蔬菜。"); EmbeddingRequest embeddingRequest = EmbeddingRequest.builder() .model("<Model>") .input(inputs) .build(); try { EmbeddingResult res = service.createEmbeddings(embeddingRequest); System.out.println(res); } catch (ArkHttpException e) { System.out.print(e.toString()); } // shutdown service service.shutdownExecutor(); } }
当您的业务有较高的请求量,您可以通过单例模式结合线程池和连接池来调整并发调用,以应对不同的并发需求。
建议:
- 每个进程仅初始化ArkService一次,作为单例使用。多次初始化会构建多个线程池以及连接池。
- 进程退出前需要使用
service.shutdownExecutor()
关闭线程池。
package com.volcengine.ark.runtime; import com.volcengine.ark.runtime.model.embeddings.EmbeddingRequest; import com.volcengine.ark.runtime.model.embeddings.EmbeddingResult; 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; public class EmbeddingsExample { static String apiKey = System.getenv("ARK_API_KEY"); static ConnectionPool connectionPool = new ConnectionPool(5, 1, TimeUnit.SECONDS); static Dispatcher dispatcher = new Dispatcher(); static ArkService service = ArkService.builder() .dispatcher(dispatcher) .connectionPool(connectionPool) .apiKey(apiKey) .build(); public static void main(String[] args) { System.out.println("\n----- embeddings request -----"); List<String> inputs = new ArrayList<>(); inputs.add("花椰菜又称菜花、花菜,是一种常见的蔬菜。"); EmbeddingRequest embeddingRequest = EmbeddingRequest.builder() .model("<Model>") .input(inputs) .build(); EmbeddingResult res = service.createEmbeddings(embeddingRequest); System.out.println(res); // shutdown service after all requests are finished service.shutdownExecutor(); } }