全部产品
Search
文档中心

Alibaba Cloud Model Studio:Kompatibel dengan OpenAI - Penyelesaian

更新时间:Nov 12, 2025

API Completions dirancang untuk skenario penyelesaian teks, seperti penyelesaian kode dan kelanjutan konten.

Penting

Dokumen ini hanya berlaku untuk wilayah Tiongkok (Beijing). Untuk menggunakan model tersebut, Anda harus menggunakan Kunci API dari wilayah Tiongkok (Beijing).

Model yang didukung

Saat ini, model Qwen Coder berikut didukung:

qwen2.5-coder-0.5b-instruct, qwen2.5-coder-1.5b-instruct, qwen2.5-coder-3b-instruct, qwen2.5-coder-7b-instruct, qwen2.5-coder-14b-instruct, qwen2.5-coder-32b-instruct, qwen-coder-turbo-0919, qwen-coder-turbo-latest, qwen-coder-turbo

Prasyarat

Anda harus telah mendapatkan Kunci API dan mengonfigurasi Kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK OpenAI, Anda harus menginstal SDK.

Mulai

Anda dapat menggunakan API Completions untuk penyelesaian teks. Skenario berikut didukung:

  1. Hasilkan teks yang melanjutkan dari awalan tertentu.

  2. Hasilkan konten antara berdasarkan awalan dan akhiran tertentu.

API tidak mendukung pembuatan konten sebelum akhiran tertentu.

Mulai

Anda dapat menyertakan informasi seperti nama fungsi, parameter input, dan petunjuk penggunaan dalam awalan. API Completions kemudian akan mengembalikan kode yang dihasilkan.

Templat prompt adalah sebagai berikut:

<|fim_prefix|>{prefix_content}<|fim_suffix|>

Dalam templat tersebut, {prefix_content} adalah awalan yang Anda berikan.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

completion = client.completions.create(
  model="qwen2.5-coder-32b-instruct",
  prompt="<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
)

print(completion.choices[0].text)
import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.completions.create({
        model: "qwen2.5-coder-32b-instruct",
        prompt: "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
    });
    console.log(completion.choices[0].text)
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2.5-coder-32b-instruct",
    "prompt": "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>"
}'

Hasilkan konten antara berdasarkan awalan dan akhiran

API Completions memungkinkan Anda menghasilkan konten antara berdasarkan awalan dan akhiran tertentu. Anda dapat menyertakan informasi seperti nama fungsi, parameter input, dan petunjuk penggunaan dalam awalan, serta informasi seperti parameter pengembalian fungsi dalam akhiran. API Completions kemudian akan mengembalikan kode yang dihasilkan.

Templat prompt adalah sebagai berikut:

<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>

Dalam templat tersebut, {prefix_content} adalah awalan dan {suffix_content} adalah akhiran.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

prefix_content = f"""def reverse_words_with_special_chars(s):
'''
Membalik setiap kata dalam string (mempertahankan posisi karakter non-alfabet) sambil menjaga urutan kata.
    Contoh:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    Parameter:
        s (str): String input (dapat berisi tanda baca).
    Mengembalikan:
        str: String yang diproses dengan kata-kata dibalik tetapi karakter non-alfabet tetap pada posisi aslinya.
'''
"""

suffix_content = "return result"

completion = client.completions.create(
  model="qwen2.5-coder-32b-instruct",
  prompt=f"<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>",
)

print(completion.choices[0].text)
import OpenAI from 'openai';


const client = new OpenAI({
  baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
  apiKey: process.env.DASHSCOPE_API_KEY
});

const prefixContent = `def reverse_words_with_special_chars(s):
'''
Membalik setiap kata dalam string (mempertahankan posisi karakter non-alfabet) sambil menjaga urutan kata.
    Contoh:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    Parameter:
        s (str): String input (dapat berisi tanda baca).
    Mengembalikan:
        str: String yang diproses dengan kata-kata dibalik tetapi karakter non-alfabet tetap pada posisi aslinya.
'''
`;

const suffixContent = "return result";

async function main() {
  const completion = await client.completions.create({
    model: "qwen2.5-coder-32b-instruct",
    prompt: `<|fim_prefix|>${prefixContent}<|fim_suffix|>${suffixContent}<|fim_middle|>`
  });

  console.log(completion.choices[0].text);
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2.5-coder-32b-instruct",
    "prompt": "<|fim_prefix|>def reverse_words_with_special_chars(s):\n\"\"\"\nMembalik setiap kata dalam string (mempertahankan posisi karakter non-alfabet) sambil menjaga urutan kata.\n    Contoh:\n    reverse_words_with_special_chars(\"Hello, world!\") -> \"olleH, dlrow!\"\n    Parameter:\n        s (str): String input (dapat berisi tanda baca).\n    Mengembalikan:\n        str: String yang diproses dengan kata-kata dibalik tetapi karakter non-alfabet tetap pada posisi aslinya.\n\"\"\"\n<|fim_suffix|>return result<|fim_middle|>"
}'

Parameter permintaan dan respons

Parameter permintaan

Parameter

Tipe

Wajib

Deskripsi

model

string

Ya

Nama model yang akan dipanggil.

prompt

string

Ya

Prompt untuk menghasilkan penyelesaian.

max_tokens

integer

Tidak

Jumlah maksimum token yang dikembalikan dalam respons.

max_tokens tidak memengaruhi proses generasi model. Jika jumlah token yang dihasilkan oleh model melebihi nilai max_tokens, respons akan dipotong.

temperature

float

Tidak

Suhu pengambilan sampel, yang mengontrol keragaman teks yang dihasilkan.

Nilai suhu yang lebih tinggi menghasilkan teks yang lebih beragam. Nilai suhu yang lebih rendah menghasilkan teks yang lebih deterministik.

Nilai valid: [0, 2.0).

Karena baik temperature maupun top_p mengontrol keragaman teks, atur hanya salah satunya.

top_p

float

Tidak

Ambang batas probabilitas untuk pengambilan sampel inti, yang mengontrol keragaman teks yang dihasilkan.

Nilai top_p yang lebih tinggi menghasilkan teks yang lebih beragam. Nilai top_p yang lebih rendah menghasilkan teks yang lebih deterministik.

Nilai valid: (0, 1.0].

Karena baik temperature maupun top_p mengontrol keragaman teks, atur hanya salah satunya.

stream

boolean

Tidak

Menentukan apakah akan menggunakan keluaran streaming untuk respons. Nilai valid:

  • false (default): Hasil dikembalikan setelah seluruh konten dihasilkan.

  • true: Keluaran dihasilkan dan dialirkan secara bertahap. Sebuah chunk langsung dikirim setiap kali sebagian konten dihasilkan.

stream_options

objek

Tidak

Saat keluaran streaming diaktifkan, atur parameter ini menjadi {"include_usage": true} untuk menampilkan jumlah token yang digunakan pada baris terakhir keluaran.

stop

string atau array

Tidak

Model berhenti menghasilkan teks ketika akan mengeluarkan string atau token_id yang ditentukan dalam parameter `stop`.

Tentukan urutan stop untuk menyaring konten yang tidak diinginkan.

seed

integer

Tidak

Mengatur parameter seed membuat proses generasi teks lebih deterministik. Ini biasanya digunakan untuk memastikan bahwa model menghasilkan hasil yang konsisten pada setiap eksekusi.

Untuk mendapatkan hasil yang konsisten, gunakan nilai seed yang sama pada setiap pemanggilan model dan pertahankan parameter lainnya tidak berubah. Model kemudian akan mencoba mengembalikan hasil yang sama.

Nilai valid: 0 hingga 231-1.

presence_penalty

float

Tidak

Mengontrol tingkat pengulangan konten dalam teks yang dihasilkan.

Nilai valid: [-2.0, 2.0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkan pengulangan.

Parameter respons

Parameter

Tipe

Deskripsi

id

string

Pengidentifikasi unik untuk pemanggilan.

choices

array

Array konten yang dihasilkan oleh model.

choices[0].text

string

Konten yang dihasilkan untuk permintaan.

choices[0].finish_reason

string

Alasan mengapa model berhenti menghasilkan konten.

choices[0].index

integer

Indeks elemen saat ini dalam array. Nilainya selalu 0.

choices[0].logprobs

objek

Parameter ini selalu kosong.

created

integer

Stempel waktu UNIX saat permintaan dibuat.

model

string

Nama model yang digunakan untuk permintaan.

system_fingerprint

string

Parameter ini selalu kosong.

object

string

Tipe objek, yang selalu "text_completion".

usage

objek

Statistik penggunaan untuk permintaan.

usage.prompt_tokens

integer

Jumlah token yang dikonversi dari prompt.

usage.completion_tokens

integer

Jumlah token yang dikonversi dari choices[0].text.

usage.total_tokens

integer

Jumlah dari usage.prompt_tokens dan usage.completion_tokens.

Kode kesalahan

Jika pemanggilan gagal, lihat Pesan kesalahan untuk pemecahan masalah.