API Completions dirancang untuk skenario penyelesaian teks, seperti penyelesaian kode dan kelanjutan konten.
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:
Hasilkan teks yang melanjutkan dari awalan tertentu.
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.
|
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:
|
stream_options | objek | Tidak | Saat keluaran streaming diaktifkan, atur parameter ini menjadi |
stop | string atau array | Tidak | Model berhenti menghasilkan teks ketika akan mengeluarkan string atau 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 |
usage | objek | Statistik penggunaan untuk permintaan. |
usage.prompt_tokens | integer | Jumlah token yang dikonversi dari |
usage.completion_tokens | integer | Jumlah token yang dikonversi dari |
usage.total_tokens | integer | Jumlah dari |
Kode kesalahan
Jika pemanggilan gagal, lihat Pesan kesalahan untuk pemecahan masalah.