import osfrom openai import OpenAIclient = OpenAI( # 如果使用华北2(北京)地域的模型,需要使用华北2(北京)地域的 API KEY,获取链接:https://bailian.console.alibabacloud.com/?tab=model#/api-key api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换 # 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1")completion = client.embeddings.create( model="qwen3.7-text-embedding", input='The clothes are of good quality and look good, definitely worth the wait. I love them.', dimensions=1024, encoding_format="float")print(completion.model_dump_json())
Copy
import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.util.HashMap;import java.util.Map;import com.alibaba.dashscope.utils.JsonUtils;public final class Main { public static void main(String[] args) { // 如果使用华北2(北京)地域的模型,需要使用华北2(北京)地域的 API KEY,获取链接:https://bailian.console.alibabacloud.com/?tab=model#/api-key String apiKey = System.getenv("DASHSCOPE_API_KEY"); if (apiKey == null) { System.out.println("DASHSCOPE_API_KEY not found in environment variables"); return; } // 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 String baseUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings"; HttpClient client = HttpClient.newHttpClient(); Map<String, Object> requestBody = new HashMap<>(); requestBody.put("model", "qwen3.7-text-embedding"); requestBody.put("input", "风急天高猿啸哀,渚清沙白鸟飞回,无边落木萧萧下,不尽长江滚滚来"); requestBody.put("dimensions", 1024); requestBody.put("encoding_format", "float"); try { String requestBodyString = JsonUtils.toJson(requestBody); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(baseUrl)) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + apiKey) .POST(HttpRequest.BodyPublishers.ofString(requestBodyString)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() == 200) { System.out.println("Response: " + response.body()); } else { System.out.printf("Failed to retrieve response, status code: %d, response: %s%n", response.statusCode(), response.body()); } } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } }}
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/embeddings。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。
import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.util.HashMap;import java.util.Map;import java.util.List;import java.util.Arrays;import com.alibaba.dashscope.utils.JsonUtils;public final class Main { public static void main(String[] args) { /** 从环境变量中获取 API Key,如果未配置,请直接替换为您的 API Key*/ // 如果使用华北2(北京)地域的模型,需要使用华北2(北京)地域的 API KEY,获取链接:https://bailian.console.alibabacloud.com/?tab=model#/api-key String apiKey = System.getenv("DASHSCOPE_API_KEY"); if (apiKey == null) { System.out.println("DASHSCOPE_API_KEY not found in environment variables"); return; } // 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 String baseUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings"; HttpClient client = HttpClient.newHttpClient(); Map<String, Object> requestBody = new HashMap<>(); requestBody.put("model", "qwen3.7-text-embedding"); List<String> inputList = Arrays.asList("风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来"); requestBody.put("input", inputList); requestBody.put("encoding_format", "float"); try { /** 将请求体转换为 JSON 字符串*/ String requestBodyString = JsonUtils.toJson(requestBody); /**构建 HTTP 请求*/ HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(baseUrl)) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + apiKey) .POST(HttpRequest.BodyPublishers.ofString(requestBodyString)) .build(); /**发送请求并接收响应*/ HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() == 200) { System.out.println("Response: " + response.body()); } else { System.out.printf("Failed to retrieve response, status code: %d, response: %s%n", response.statusCode(), response.body()); } } catch (Exception e) { /** 捕获并打印异常*/ System.err.println("Error: " + e.getMessage()); } }}
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/embeddings。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/embeddings。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。
import java.util.Arrays;import java.util.concurrent.Semaphore;import com.alibaba.dashscope.common.ResultCallback;import com.alibaba.dashscope.embeddings.TextEmbedding;import com.alibaba.dashscope.embeddings.TextEmbeddingParam;import com.alibaba.dashscope.embeddings.TextEmbeddingResult;import com.alibaba.dashscope.exception.ApiException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.alibaba.dashscope.utils.Constants;public final class Main { static { // 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"; } public static void basicCall() throws ApiException, NoApiKeyException{ TextEmbeddingParam param = TextEmbeddingParam .builder() .model("qwen3.7-text-embedding") .texts(Arrays.asList("风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来")).build(); TextEmbedding textEmbedding = new TextEmbedding(); TextEmbeddingResult result = textEmbedding.call(param); System.out.println(result); } public static void callWithCallback() throws ApiException, NoApiKeyException, InterruptedException{ TextEmbeddingParam param = TextEmbeddingParam .builder() .model(TextEmbedding.Models.TEXT_EMBEDDING_V3) .texts(Arrays.asList("风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来")).build(); TextEmbedding textEmbedding = new TextEmbedding(); Semaphore sem = new Semaphore(0); textEmbedding.call(param, new ResultCallback<TextEmbeddingResult>() { @Override public void onEvent(TextEmbeddingResult message) { System.out.println(message); } @Override public void onComplete(){ sem.release(); } @Override public void onError(Exception err){ System.out.println(err.getMessage()); err.printStackTrace(); sem.release(); } }); sem.acquire(); } public static void main(String[] args){ try{ callWithCallback(); }catch(ApiException|NoApiKeyException|InterruptedException e){ e.printStackTrace(); System.out.println(e); } try { basicCall(); } catch (ApiException | NoApiKeyException e) { System.out.println(e.getMessage()); } System.exit(0); }}
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。
import dashscopefrom http import HTTPStatus# 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'DASHSCOPE_MAX_BATCH_SIZE = 10inputs = ['风急天高猿啸哀', '渚清沙白鸟飞回', '无边落木萧萧下', '不尽长江滚滚来']result = Nonebatch_counter = 0for i in range(0, len(inputs), DASHSCOPE_MAX_BATCH_SIZE): batch = inputs[i:i + DASHSCOPE_MAX_BATCH_SIZE] resp = dashscope.TextEmbedding.call( model="qwen3.7-text-embedding", input=batch, dimension=1024 ) if resp.status_code == HTTPStatus.OK: if result is None: result = resp else: for emb in resp.output['embeddings']: emb['text_index'] += batch_counter result.output['embeddings'].append(emb) result.usage['total_tokens'] += resp.usage['total_tokens'] else: print(resp) batch_counter += len(batch)print(result)
Copy
import java.util.Arrays;import java.util.List;import com.alibaba.dashscope.embeddings.TextEmbedding;import com.alibaba.dashscope.embeddings.TextEmbeddingParam;import com.alibaba.dashscope.embeddings.TextEmbeddingResult;import com.alibaba.dashscope.exception.ApiException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.alibaba.dashscope.utils.Constants;public final class Main { static { // 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"; } private static final int DASHSCOPE_MAX_BATCH_SIZE = 10; public static void main(String[] args) { List<String> inputs = Arrays.asList( "风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来" ); TextEmbeddingResult result = null; int batchCounter = 0; for (int i = 0; i < inputs.size(); i += DASHSCOPE_MAX_BATCH_SIZE) { List<String> batch = inputs.subList(i, Math.min(i + DASHSCOPE_MAX_BATCH_SIZE, inputs.size())); TextEmbeddingParam param = TextEmbeddingParam.builder() .model("qwen3.7-text-embedding") .texts(batch) .build(); TextEmbedding textEmbedding = new TextEmbedding(); try { TextEmbeddingResult resp = textEmbedding.call(param); if (resp != null) { if (result == null) { result = resp; } else { for (var emb : resp.getOutput().getEmbeddings()) { emb.setTextIndex(emb.getTextIndex() + batchCounter); result.getOutput().getEmbeddings().add(emb); } result.getUsage().setTotalTokens(result.getUsage().getTotalTokens() + resp.getUsage().getTotalTokens()); } } else { System.out.println(resp); } } catch (ApiException | NoApiKeyException e) { e.printStackTrace(); } batchCounter += batch.size(); } System.out.println(result); }}
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import com.alibaba.dashscope.embeddings.TextEmbedding;import com.alibaba.dashscope.embeddings.TextEmbeddingParam;import com.alibaba.dashscope.embeddings.TextEmbeddingResult;import com.alibaba.dashscope.exception.ApiException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.alibaba.dashscope.utils.Constants;public final class Main { static { // 以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。 Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"; } public static void main(String[] args) { // 请确保替换 'tests_to_embedding.txt' 为您文件的完整路径 try (BufferedReader reader = new BufferedReader(new FileReader("tests_to_embedding.txt"))) { StringBuilder content = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { content.append(line).append("\n"); } TextEmbeddingParam param = TextEmbeddingParam.builder() .model("qwen3.7-text-embedding") .text(content.toString()) .build(); TextEmbedding textEmbedding = new TextEmbedding(); TextEmbeddingResult result = textEmbedding.call(param); if (result != null) { System.out.println(result); } else { System.out.println("Failed to get embedding: " + result); } } catch (IOException | ApiException | NoApiKeyException e) { e.printStackTrace(); } }}
如果使用华北2(北京)地域的模型,请使用华北2(北京)地域的 API KEY,并将url替换为:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding。以下为新加坡地域URL,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的URL不同。