All Products
Search
Document Center

Alibaba Cloud Model Studio:API Sinkron

Last Updated:Jun 04, 2026

Model text embedding tujuan umum mengonversi data teks menjadi vektor numerik untuk tugas-tugas downstream seperti pencarian semantik, rekomendasi, pengelompokan, dan klasifikasi.

Ikhtisar model

Singapura

Model

Dimensi penyematan

Baris maks

Token maksimum per baris (Catatan)

Harga (per 1M token input)

Bahasa yang didukung

Kuota gratis (Catatan)

text-embedding-v4

Bagian dari seri Qwen3-Embedding

2.048, 1.536, 1.024 (default), 768, 512, 256, 128, 64

10

8.192

$0,07

Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 100 bahasa utama lainnya

1 juta token

Masa berlaku: 90 hari setelah Anda mengaktifkan Model Studio

text-embedding-v3

1.024 (default), 768, 512

Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 50 bahasa utama lainnya

500.000 token

Masa berlaku: 90 hari setelah Anda mengaktifkan Model Studio

Tiongkok (Beijing)

Model

Dimensi penyematan

Baris maks

Token maksimum per baris

Harga (per 1M token input)

Bahasa yang didukung

text-embedding-v4

Bagian dari seri Qwen3-Embedding

2.048, 1.536, 1.024 (default), 768, 512, 256, 128, 64

10

8.192

$0,072

Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 100 bahasa utama lainnya, ditambah beberapa bahasa pemrograman

Tiongkok (Hong Kong)

Model

Dimensi penyematan

Baris maks

Token maksimum per baris

Harga (per 1M token input)

Bahasa yang didukung

text-embedding-v4

Bagian dari seri Qwen3-Embedding

2.048, 1.536, 1.024 (default), 768, 512, 256, 128, 64

10

8.192

$0,07

Bahasa Tionghoa, Inggris, Spanyol, Prancis, Portugis, Indonesia, Jepang, Korea, Jerman, Rusia, dan lebih dari 100 bahasa utama lainnya, ditambah beberapa bahasa pemrograman

Untuk batas laju model, lihat Pembatasan laju.

Prasyarat

Pengguna yang terbiasa dengan ekosistem OpenAI dapat menggunakan API yang kompatibel dengan OpenAI untuk migrasi cepat. API DashScope menyediakan fitur-fitur unik tambahan.

Buat Kunci API dan ekspor Kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK untuk melakukan panggilan, instal SDK DashScope.

Kompatibilitas OpenAI

base_url untuk dikonfigurasi pada panggilan SDK:

  • Singapura: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

  • Tiongkok (Beijing): https://dashscope.aliyuncs.com/compatible-mode/v1

  • Tiongkok (Hong Kong): https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

endpoint untuk dikonfigurasi pada panggilan HTTP:

  • Singapura: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

  • Tiongkok (Beijing): POST https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings

  • Tiongkok (Hong Kong): POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/embeddings. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

Penting

Domain lama Singapura https://dashscope-intl.aliyuncs.com dan domain Tiongkok (Hong Kong) https://cn-hongkong.dashscope.aliyuncs.com akan dihentikan. Migrasikan ke https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com (Singapura) dan https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com (Tiongkok (Hong Kong)) sesegera mungkin.

Isi permintaan

String input

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: https://bailian.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # Jika variabel lingkungan belum diatur, ganti placeholder dengan Kunci API Anda.
    # Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"  
)

completion = client.embeddings.create(
    model="text-embedding-v4",
    input='Pakaian berkualitas baik dan terlihat bagus, pasti sepadan dengan menunggunya. Saya menyukainya.',
    dimensions=1024,
    encoding_format="float"
)

print(completion.model_dump_json())

Java

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) {
        // Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: 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 tidak ditemukan dalam variabel lingkungan");
            return;
        }
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        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", "text-embedding-v4");
        requestBody.put("input", "Anginnya kencang, langitnya tinggi, dan kera-kera menangis pilu. Pulau kecilnya jernih, pasirnya putih, dan burung-burung kembali terbang. Hutan tak berbatas menggugurkan daunnya hujan demi hujan. Sungai yang tak berujung bergulung ombak demi ombak.");
        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("Respons: " + response.body());
            } else {
                System.out.printf("Gagal mendapatkan respons, kode status: %d, respons: %s%n", response.statusCode(), response.body());
            }
        } catch (Exception e) {
            System.err.println("Kesalahan: " + e.getMessage());
        }
    }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut dan mengganti URL dengan https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": "Anginnya kencang, langitnya tinggi, dan kera-kera menangis pilu. Pulau kecilnya jernih, pasirnya putih, dan burung-burung kembali terbang. Hutan tak berbatas menggugurkan daunnya hujan demi hujan. Sungai yang tak berujung bergulung ombak demi ombak.",  
    "dimensions": 1024,  
    "encoding_format": "float"
}'

Daftar string input

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: https://bailian.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # Jika variabel lingkungan belum diatur, ganti placeholder dengan Kunci API Anda.
    # Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"  
)

completion = client.embeddings.create(
    model="text-embedding-v4",
    input=['Anginnya kencang, langitnya tinggi, dan kera-kera menangis pilu.', 'Pulau kecilnya jernih, pasirnya putih, dan burung-burung kembali terbang.', 'Hutan tak berbatas menggugurkan daunnya hujan demi hujan.', 'Sungai yang tak berujung bergulung ombak demi ombak.'],
    dimensions=1024,
    encoding_format="float"
)

print(completion.model_dump_json())

Java

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) {
        // Dapatkan Kunci API dari variabel lingkungan. Jika belum dikonfigurasi, ganti dengan Kunci API Anda.
        // Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: 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 tidak ditemukan dalam variabel lingkungan");
            return;
        }
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        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", "text-embedding-v4");
        List<String> inputList = Arrays.asList("Anginnya kencang, langitnya tinggi, dan kera-kera menangis pilu.", "Pulau kecilnya jernih, pasirnya putih, dan burung-burung kembali terbang.", "Hutan tak berbatas menggugurkan daunnya hujan demi hujan.", "Sungai yang tak berujung bergulung ombak demi ombak.");
        requestBody.put("input", inputList);
        requestBody.put("encoding_format", "float");

        try {
            // Konversi badan permintaan ke string JSON.
            String requestBodyString = JsonUtils.toJson(requestBody);

            // Bangun permintaan HTTP.
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(baseUrl))
                    .header("Content-Type", "application/json")
                    .header("Authorization", "Bearer " + apiKey)
                    .POST(HttpRequest.BodyPublishers.ofString(requestBodyString))
                    .build();

            // Kirim permintaan dan terima respons.
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            if (response.statusCode() == 200) {
                System.out.println("Respons: " + response.body());
            } else {
                System.out.printf("Gagal mendapatkan respons, kode status: %d, respons: %s%n", response.statusCode(), response.body());
            }
        } catch (Exception e) {
            // Tangkap dan cetak pengecualian.
            System.err.println("Kesalahan: " + e.getMessage());
        }
    }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut dan mengganti URL dengan https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": [
        "Anginnya kencang, langitnya tinggi, dan kera-kera menangis pilu.",
        "Pulau kecilnya jernih, pasirnya putih, dan burung-burung kembali terbang.", 
        "Hutan tak berbatas menggugurkan daunnya hujan demi hujan.", 
        "Sungai yang tak berujung bergulung ombak demi ombak."
        ],
    "dimensions": 1024,
    "encoding_format": "float"
}'

File input

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: https://bailian.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # Jika variabel lingkungan belum diatur, ganti placeholder dengan Kunci API Anda.
    # Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"  
)
# Pastikan untuk mengganti 'texts_to_embedding.txt' dengan nama file atau jalur Anda.
with open('texts_to_embedding.txt', 'r', encoding='utf-8') as f:
    completion = client.embeddings.create(
        model="text-embedding-v4",
        input=f,
        encoding_format="float"
    )
print(completion.model_dump_json())

Java

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.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import com.alibaba.dashscope.utils.JsonUtils;

public class Main {
    public static void main(String[] args) {
        // Dapatkan Kunci API dari variabel lingkungan. Jika belum dikonfigurasi, ganti dengan Kunci API Anda.
        // Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut. Dapatkan di: 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 tidak ditemukan dalam variabel lingkungan");
            return;
        }
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        String baseUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings";
        HttpClient client = HttpClient.newHttpClient();

        // Baca file input.
        StringBuilder inputText = new StringBuilder();
        try (BufferedReader reader = new BufferedReader(new FileReader("<path_to_your_content_root>"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                inputText.append(line).append("\n");
            }
        } catch (IOException e) {
            System.err.println("Kesalahan membaca file input: " + e.getMessage());
            return;
        }

        Map<String, Object> requestBody = new HashMap<>();
        requestBody.put("model", "text-embedding-v4");
        requestBody.put("input", inputText.toString().trim());
        requestBody.put("dimensions", 1024);
        requestBody.put("encoding_format", "float");

        try {
            String requestBodyString = JsonUtils.toJson(requestBody);

            // Bangun permintaan 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("Respons: " + response.body());
            } else {
                System.out.printf("Gagal mendapatkan respons, kode status: %d, respons: %s%n", response.statusCode(), response.body());
            }
        } catch (Exception e) {
            System.err.println("Kesalahan: " + e.getMessage());
        }
    }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan Kunci API dari wilayah tersebut dan mengganti URL dengan https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
Ganti 'texts_to_embedding.txt' dengan nama file atau jalur Anda.
FILE_CONTENT=$(cat texts_to_embedding.txt | jq -Rs .)
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/embeddings' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": ['"$FILE_CONTENT"'],
    "dimensions": 1024,
    "encoding_format": "float"
}'

model string wajib

Nama model yang akan dipanggil. Lihat tabel Ikhtisar model untuk nama-nama model.

input array<string> atau string atau file wajib

Teks input yang akan diproses. Input dapat berupa string, array string, atau file.

Jika input berupa string, panjang maksimum adalah 8.192 token. Jika input berupa daftar string atau file, ukuran batch maksimum adalah 10 item (baris), dan setiap item (baris) dapat berisi hingga 8.192 token.

dimensions integer opsional

Dimensi vektor penyematan output. Harus salah satu dari nilai berikut: 2048 (hanya untuk text-embedding-v4), 1536 (hanya untuk text-embedding-v4), 1024, 768, 512, 256, 128, atau 64. Nilai default adalah 1024.

encoding_format string opsional

Format penyematan yang dikembalikan. Saat ini, hanya float yang didukung.

Objek respons

Respons sukses

{
  "data": [
    {
      "embedding": [
        -0.0695386752486229, 0.030681096017360687, ...
      ],
      "index": 0,
      "object": "embedding"
    },
    ...
    {
      "embedding": [
        -0.06348952651023865, 0.060446035116910934, ...
      ],
      "index": 5,
      "object": "embedding"
    }
  ],
  "model": "text-embedding-v4",
  "object": "list",
  "usage": {
    "prompt_tokens": 184,
    "total_tokens": 184
  },
  "id": "73591b79-d194-9bca-8bb5-xxxxxxxxxxxx"
}

Respons kesalahan

{
    "error": {
        "message": "Incorrect API key provided. ",
        "type": "invalid_request_error",
        "param": null,
        "code": "invalid_api_key"
    }
}

data array

Daftar objek penyematan hasil.

Properti

embedding list

Vektor penyematan, dikembalikan sebagai array bilangan titik mengambang.

index integer

Indeks teks input yang sesuai dalam array input.

object string

Jenis objek. Nilainya selalu embedding.

model string

Nama model yang digunakan untuk panggilan ini.

object string

Jenis objek. Nilainya selalu list.

usage object

Properti

prompt_tokens integer

Jumlah token dalam teks input.

total_tokens integer

Jumlah total token dalam input. Hitungan ini ditentukan oleh cara tokenizer model mengurai string input.

id string

Identifikasi permintaan unik, digunakan untuk pelacakan dan troubleshooting.

DashScope

base_url untuk panggilan SDK:

  • Singapura: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

  • Tiongkok (Beijing): https://dashscope.aliyuncs.com/api/v1

  • Tiongkok (Hong Kong): https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

Endpoint untuk panggilan HTTP:

  • Singapura: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

  • Tiongkok (Beijing): POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding

  • Tiongkok (Hong Kong): POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding. Ganti WorkspaceId dengan ID ruang kerja aktual Anda.

Penting

URL lama Tiongkok (Hong Kong) https://cn-hongkong.dashscope.aliyuncs.com/api/v1 akan segera ditinggalkan. Harap migrasikan ke URL baru https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1 sesegera mungkin.

Penting

Domain lama https://dashscope-intl.aliyuncs.com untuk wilayah Singapura akan segera ditinggalkan. Harap migrasikan ke domain baru https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com sesegera mungkin.

Badan permintaan

String input

Python

import dashscope
from http import HTTPStatus

# Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

resp = dashscope.TextEmbedding.call(
    model=dashscope.TextEmbedding.Models.text_embedding_v4,
    input='Angin kencang, langit tinggi, dan siamang menangis pilu. Pulau jernih, pasir putih, dan burung-burung kembali terbang. Hutan luas yang berguguran daunnya. Sungai Yangtze yang tak berujung datang bergulung.',
    dimension=1024,
    output_type="dense&sparse"
)

print(resp) if resp.status_code == HTTPStatus.OK else print(resp)

Java

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 {
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    public static void basicCall() throws ApiException, NoApiKeyException{
        TextEmbeddingParam param = TextEmbeddingParam
        .builder()
        .model(TextEmbedding.Models.TEXT_EMBEDDING_V4)
        .texts(Arrays.asList("Angin kencang, langit tinggi, dan siamang menangis pilu.", "Pulau jernih, pasir putih, dan burung-burung kembali terbang.", "Hutan luas yang berguguran daunnya.", "Sungai Yangtze yang tak berujung datang bergulung.")).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("Angin kencang, langit tinggi, dan siamang menangis pilu.", "Pulau jernih, pasir putih, dan burung-burung kembali terbang.", "Hutan luas yang berguguran daunnya.", "Sungai Yangtze yang tak berujung datang bergulung.")).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);
  }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), gunakan Kunci API untuk wilayah tersebut dan ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": {
        "texts": [
        "Angin kencang, langit tinggi, dan siamang menangis pilu. Pulau jernih, pasir putih, dan burung-burung kembali terbang. Hutan luas yang berguguran daunnya. Sungai Yangtze yang tak berujung datang bergulung."
        ]
    },
    "parameters": {
    	"dimension": 1024,
    	"output_type": "dense"
    }
}'

Daftar string input

Python

import dashscope
from http import HTTPStatus

# Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
DASHSCOPE_MAX_BATCH_SIZE = 10

inputs = ['Angin kencang, langit tinggi, dan siamang menangis pilu.', 'Pulau jernih, pasir putih, dan burung-burung kembali terbang.', 'Hutan luas yang berguguran daunnya.', 'Sungai Yangtze yang tak berujung datang bergulung.']

result = None
batch_counter = 0
for i in range(0, len(inputs), DASHSCOPE_MAX_BATCH_SIZE):
    batch = inputs[i:i + DASHSCOPE_MAX_BATCH_SIZE]
    resp = dashscope.TextEmbedding.call(
        model=dashscope.TextEmbedding.Models.text_embedding_v4,
        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)

Java

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 {
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        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(
                "Angin kencang, langit tinggi, dan siamang menangis pilu.",
                "Pulau jernih, pasir putih, dan burung-burung kembali terbang.",
                "Hutan luas yang berguguran daunnya.",
                "Sungai Yangtze yang tak berujung datang bergulung."
        );

        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(TextEmbedding.Models.TEXT_EMBEDDING_V4)
                    .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);
    }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), gunakan Kunci API untuk wilayah tersebut dan ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": {
        "texts": [
          "Angin kencang, langit tinggi, dan siamang menangis pilu.",
          "Pulau jernih, pasir putih, dan burung-burung kembali terbang.", 
          "Hutan luas yang berguguran daunnya.", 
          "Sungai Yangtze yang tak berujung datang bergulung."
        ]
    },
    "parameters": {
    	  "dimension": 1024,
    	  "output_type": "dense"
    }
}'

File input

Python

import dashscope
from http import HTTPStatus
from dashscope import TextEmbedding

# Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# Pastikan untuk mengganti 'texts_to_embedding.txt' dengan nama file atau jalur Anda sendiri.
with open('texts_to_embedding.txt', 'r', encoding='utf-8') as f:
    resp = TextEmbedding.call(
        model=TextEmbedding.Models.text_embedding_v4,
        input=f,
        dimension=1024
    )

    if resp.status_code == HTTPStatus.OK:
        print(resp)
    else:
        print(resp)

Java

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 {
        // Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
        Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) {
        // Ganti 'texts_to_embedding.txt' dengan jalur ke file Anda.
        try (BufferedReader reader = new BufferedReader(new FileReader("texts_to_embedding.txt"))) {
            StringBuilder content = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                content.append(line).append("\n");
            }

            TextEmbeddingParam param = TextEmbeddingParam.builder()
                    .model(TextEmbedding.Models.TEXT_EMBEDDING_V4)
                    .text(content.toString())
                    .build();

            TextEmbedding textEmbedding = new TextEmbedding();
            TextEmbeddingResult result = textEmbedding.call(param);

            if (result != null) {
                System.out.println(result);
            } else {
                System.out.println("Gagal mendapatkan penyematan: " + result);
            }
        } catch (IOException | ApiException | NoApiKeyException e) {
            e.printStackTrace();
        }
    }
}

curl

Jika Anda menggunakan model di wilayah Tiongkok (Beijing), gunakan Kunci API untuk wilayah tersebut dan ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding. Ini adalah URL wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL berbeda berdasarkan wilayah.
Ganti 'texts_to_embedding.txt' dengan nama file atau jalur Anda.
FILE_CONTENT=$(cat texts_to_embedding.txt | jq -Rs .)
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": {
        "texts": ['"$FILE_CONTENT"']
    },
    "parameters": {
        "dimension": 1024,
        "output_type": "dense"
    }
}'

model string wajib

Model yang akan digunakan. Untuk daftar model yang tersedia, lihat tabel Ikhtisar model.

input string atau array<string> wajib

Teks yang akan diproses. Input dapat berupa string, array string, atau file.

String tunggal dapat mencapai 8.192 token. Daftar string atau file dapat berisi hingga 10 item (baris), dengan setiap item hingga 8.192 token.

text_type string opsional

Saat melakukan panggilan HTTP, letakkan text_type di dalam objek parameters.

Teks yang dikonversi menjadi penyematan dapat diterapkan pada tugas-tugas downstream seperti pengambilan, pengelompokan, dan klasifikasi. Untuk tugas asimetris seperti pengambilan, disarankan untuk membedakan antara teks kueri (query) dan teks dokumen (document) untuk mencapai performa pengambilan yang lebih baik. Untuk tugas simetris seperti pengindeksan, pengelompokan, dan klasifikasi, Anda cukup menggunakan nilai default sistem yaitu document.

dimension integer opsional

Saat melakukan panggilan HTTP, letakkan dimension di dalam objek parameters.

Menentukan dimensi penyematan untuk vektor output. Nilai yang valid adalah 2048 (hanya untuk text-embedding-v4), 1536 (hanya untuk text-embedding-v4), 1024, 768, 512, 256, 128, atau 64. Default ke 1024.

output_type string opsional

Saat melakukan panggilan HTTP, letakkan output_type di dalam objek parameters.

Menentukan jenis vektor output. Parameter ini hanya berlaku untuk model text-embedding-v3 dan text-embedding-v4. Nilai yang valid adalah dense, sparse, dan dense&sparse. Default ke dense, yang hanya mengembalikan representasi vektor padat.

instruct string opsional

Memberikan instruksi khusus untuk memandu model dalam memahami maksud kueri. Instruksi dalam bahasa Inggris direkomendasikan, karena biasanya meningkatkan performa sebesar 1% hingga 5%.

Objek respons

Respons sukses

{   "status_code": 200, 
    "request_id": "1ba94ac8-e058-99bc-9cc1-7fdb37940a46", 
    "code": "", 
    "message": "",
    "output":{
        "embeddings": [
          {  
             "sparse_embedding":[
               {"index":7149,"value":0.829,"token":"swift"},
               .....
               {"index":111290,"value":0.9004,"token":"mournfully"}],
             "embedding": [-0.006929283495992422,-0.005336422007530928, ...],
             "text_index": 0
          }, 
          {
             "sparse_embedding":[
               {"index":246351,"value":1.0483,"token":"islet"},
               .....
               {"index":2490,"value":0.8579,"token":"back"}],
             "embedding": [-0.006929283495992422,-0.005336422007530928, ...],
             "text_index": 1
          },
          {
             "sparse_embedding":[
               {"index":3759,"value":0.7065,"token":"Boundless"},
               .....
               {"index":1130,"value":0.815,"token":"leaves"}],
             "embedding": [-0.006929283495992422,-0.005336422007530928, ...],
             "text_index": 2
          },
          {
             "sparse_embedding":[
               {"index":562,"value":0.6752,"token":"endless"},
               .....
               {"index":1589,"value":0.7097,"token":"in"}],
             "embedding": [-0.001945948973298072,-0.005336422007530928, ...],
             "text_index": 3
          }
        ]
    },
    "usage":{
        "total_tokens":27
    }
}

Respons kesalahan

{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"xxxxxxxx"
}

status_code string

Kode status HTTP. Nilai 200 menunjukkan keberhasilan.

request_id string

Identifikasi unik untuk permintaan. Gunakan ID ini untuk melacak dan troubleshooting permintaan.

code string

Kode kesalahan yang dikembalikan jika permintaan gagal. Bidang ini kosong untuk permintaan yang berhasil.

message string

Pesan kesalahan rinci jika permintaan gagal. Bidang ini kosong untuk permintaan yang berhasil.

output object

Hasil dari tugas.

Properti

embeddings array

Output model untuk permintaan. Ini adalah array objek, dengan setiap objek sesuai dengan teks input.

Properti

sparse_embedding array

Representasi vektor jarang dari string yang sesuai. Ini hanya berlaku untuk text-embedding-v3 dan text-embedding-v4.

Properti

index integer

Indeks token dalam kosakata.

value float

Menunjukkan bobot atau skor kepentingan Token. Semakin tinggi nilainya, semakin besar kepentingan atau relevansi Token dalam konteks teks saat ini.

token string

Teks token.

embedding array

Representasi vektor padat untuk string yang sesuai.

text_index integer

Indeks teks yang sesuai dalam array input.

usage object

Properti

total_tokens integer

Jumlah token dalam input, dihitung oleh tokenizer model.

Kode kesalahan

Jika pemanggilan model gagal, lihat Pesan Kesalahan.