Alibaba Cloud Model Studio mendukung API Responses yang kompatibel dengan OpenAI. Berdasarkan API Chat Completions, API Responses menyederhanakan fungsionalitas agen native.
Keunggulan dibandingkan API OpenAI Chat Completions:- Alat bawaan: Tingkatkan hasil untuk tugas kompleks dengan pencarian web, scraping web, interpreter kode, teks-ke-gambar, dan gambar-ke-gambar. Untuk detailnya, lihat Panggil alat bawaan.
- Input lebih fleksibel: API mendukung input berupa string langsung maupun array pesan dalam format chat standar.
- Pengelolaan konteks yang disederhanakan: Mengirimkan
previous_response_idmenghilangkan kebutuhan untuk membangun array riwayat pesan secara manual.
Lihat OpenAI Responses API reference untuk rincian parameter.
Prasyarat
Pertama, dapatkan Kunci API dan tetapkan sebagai variabel lingkungan. Jika Anda menggunakan SDK OpenAI, instal SDK tersebut.
PentingJalur lama /api/v2/apps/protocols/compatible-mode/v1/responses untuk API Responses yang kompatibel dengan OpenAI akan segera ditinggalkan. Harap migrasi ke jalur baru /compatible-mode/v1/responses sesegera mungkin.
PentingAlibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing), Singapura, dan China (Hong Kong). Domain khusus baru ini memberikan performa unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi ke domain berikut:
- China (Beijing): dari
https://dashscope.aliyuncs.comkehttps://{WorkspaceId}.cn-beijing.maas.aliyuncs.com - Singapura: dari
https://dashscope-intl.aliyuncs.comkehttps://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com - China (Hong Kong): dari
https://cn-hongkong.dashscope.aliyuncs.comkehttps://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com
{WorkspaceId} adalah ID ruang kerja Anda, yang dapat ditemukan di halaman Detail Ruang Kerja pada Konsol Alibaba Cloud Model Studio. Domain yang ada tetap berfungsi penuh.
Model yang didukung
qwen3.8-max, qwen3.8-flash, qwen3.7-max, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08, qwen3.7-max-2026-05-17, qwen3.7-max-preview, qwen3-max, qwen3-max-2026-01-23, qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.5-plus, qwen3.5-plus-2026-04-20, qwen3.5-plus-2026-02-15, qwen3.7-flash, qwen3.7-flash-2026-07-15, qwen3.6-flash, qwen3.6-flash-2026-04-16, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.6-35b-a3b, qwen3.5-397b-a17b, qwen3.5-122b-a10b, qwen3.5-27b, qwen3.5-35b-a3b, deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash, deepseek-v4-flash-0731, glm-5.2, kimi-k3
PentingModel generasi teks yang tidak tercantum dalam daftar di atas tetapi tersedia melalui Alibaba Cloud Model Studio hanya mendukung kemampuan kompatibilitas dasar. Kemampuan Agent (alat bawaan, dll.) terbatas.
Titik akhir
Singapore
Konfigurasi pemanggilan SDK base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses
Ganti WorkspaceId dengan ID Ruang Kerja aktual Anda.
China (Beijing)
base_url untuk konfigurasi SDK: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/responses
Ganti WorkspaceId dengan ID Ruang Kerja aktual Anda.
AS (Virginia)
Konfigurasi pemanggilan SDK base_url: https://dashscope-us.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://dashscope-us.aliyuncs.com/compatible-mode/v1/responses
China (Hong Kong)
Konfigurasi pemanggilan SDK base_url: https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/responses
Ganti WorkspaceId dengan ID Ruang Kerja aktual Anda.
Jerman (Frankfurt)
base_url untuk SDK: https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/responses
Ganti WorkspaceId dengan ID Ruang Kerja aktual Anda.
Jepang (Tokyo)
Konfigurasi pemanggilan SDK base_url: https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1
URL permintaan HTTP: POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/responses
Ganti WorkspaceId dengan ID Ruang Kerja aktual Anda.
Contoh kode
Pemanggilan dasar
Kirim pesan dan dapatkan respons.
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan tidak diatur, ganti dengan Kunci API Anda: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
response = client.responses.create(
model="qwen3.7-plus",
input="What can you do?"
)
# Dapatkan respons model
# print(response.model_dump_json())
print(response.output_text)
import OpenAI from "openai";
const openai = new OpenAI({
// Jika variabel lingkungan tidak diatur, ganti dengan Kunci API Anda: apiKey: "sk-xxx"
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.7-plus",
input: "What can you do?"
});
// Dapatkan respons model
console.log(response.output_text);
}
main();
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "What can you do?"
}'
Ini adalah respons API lengkap.
{
"created_at": 1771226624,
"id": "bf0d5c2e-f14b-9ad7-bc0d-ee0c8c9ee2d8",
"model": "qwen3-max-2026-01-23",
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"text": "Hi there! I'm actually quite ......",
"type": "output_text"
}
],
"id": "msg_1e17fdb2-5fc3-4c78-a9e9-cbd78eb043f0",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": false,
"status": "completed",
"tool_choice": "auto",
"tools": [],
"usage": {
"input_tokens": 37,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 220,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 257,
"x_details": [
{
"input_tokens": 37,
"output_tokens": 220,
"total_tokens": 257,
"x_billing_type": "response_api"
}
]
}
}
Percakapan multi-putaran
Parameter previous_response_id secara otomatis mempertahankan konteks percakapan, sehingga Anda tidak perlu membangun riwayat pesan secara manual. Setiap id respons berlaku selama 7 hari.
previous_response_idharus merupakanidtingkat atas dari respons sebelumnya (misalnya,resp_xxx, dalam format UUID), bukanidpesan dari dalam arrayoutput(misalnya,msg_56c860c4-3ad8-4a96-8553-d2f94c259xxx).
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
# Putaran pertama
response1 = client.responses.create(
model="qwen3.7-plus",
input="My name is John, please remember it."
)
print(f"First response: {response1.output_text}")
# Putaran kedua - gunakan previous_response_id untuk menghubungkan konteks
# ID respons kedaluwarsa dalam 7 hari
response2 = client.responses.create(
model="qwen3.7-plus",
input="Do you remember my name?",
previous_response_id=response1.id
)
print(f"Second response: {response2.output_text}")
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
// Putaran pertama
const response1 = await openai.responses.create({
model: "qwen3.7-plus",
input: "My name is John, please remember it."
});
console.log(`First response: ${response1.output_text}`);
// Putaran kedua - gunakan previous_response_id untuk menghubungkan konteks
// ID respons kedaluwarsa dalam 7 hari
const response2 = await openai.responses.create({
model: "qwen3.7-plus",
input: "Do you remember my name?",
previous_response_id: response1.id
});
console.log(`Second response: ${response2.output_text}`);
}
main();
# Putaran pertama
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "My name is John, please remember it."
}'
# Putaran kedua - gunakan id dari respons pertama sebagai previous_response_id
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "Do you remember my name?",
"previous_response_id": "response_id_from_first_round"
}'
{
"id": "f0dbb153-117f-9bbf-8176-5284b47f3xxx",
"created_at": 1769173209.0,
"model": "qwen3.7-plus",
"object": "response",
"status": "completed",
"output": [
{
"id": "msg_56c860c4-3ad8-4a96-8553-d2f94c259xxx",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Yes, John! I remember your name. How can I assist you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 78,
"output_tokens": 16,
"total_tokens": 94,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
}
}
Catatan: Pada putaran kedua, jumlah input_tokens adalah 78. Angka ini mencakup konteks dari putaran pertama, menunjukkan bahwa model berhasil mengingat nama "John".
Pemikiran mendalam
Gunakan parameter reasoning untuk mengontrol kekuatan penalaran model. Saat Anda mengatur reasoning.effort, model akan berpikir sebelum menjawab, dan mengembalikan proses berpikir dalam item output reasoning. Parameter effort mendukung nilai-nilai berikut:
none: Menonaktifkan pemikiran dan memberikan jawaban langsung.minimal: Meminimalkan pemikiran untuk respons tercepat.low: Melakukan pemikiran ringan, memprioritaskan respons cepat.medium(default): Melakukan pemikiran moderat, menyeimbangkan kecepatan dan kedalaman.high: Melakukan pemikiran mendalam, fokus pada masalah kompleks dan spesialis.
Anda tidak dapat menggunakan parameter
thinking_budgetuntuk mengontrol panjang maksimum pemikiran.reasoning.effortmemiliki prioritas lebih tinggi daripadaenable_thinking. Gunakanreasoning.effort, karenaenable_thinkingakan ditinggalkan.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
response = client.responses.create(
model="qwen3.7-plus",
input="Which is larger, 9.9 or 9.11?",
reasoning={"effort": "medium"}
)
# Proses output
for item in response.output:
if item.type == "reasoning":
print("=== Thinking Process ===")
for summary in item.summary:
print(summary.text)
elif item.type == "message":
print("\n=== Final Answer ===")
print(item.content[0].text)
# Periksa jumlah token pemikiran
print(f"\nThinking token count: {response.usage.output_tokens_details.reasoning_tokens}")
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.7-plus",
input: "Which is larger, 9.9 or 9.11?",
reasoning: { effort: "medium" }
});
for (const item of response.output) {
if (item.type === "reasoning") {
console.log("=== Thinking Process ===");
for (const summary of item.summary) {
console.log(summary.text);
}
} else if (item.type === "message") {
console.log("\n=== Final Answer ===");
console.log(item.content[0].text);
}
}
// Periksa jumlah token pemikiran
console.log(`\nThinking token count: ${response.usage.output_tokens_details.reasoning_tokens}`);
}
main();
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "Which is larger, 9.9 or 9.11?",
"reasoning": {"effort": "medium"}
}'
{
"created_at": 1774498317,
"id": "resp_xxx",
"model": "qwen3.7-plus",
"object": "response",
"output": [
{
"id": "msg_xxx",
"summary": [
{
"text": "Proses Berpikir:\n\n1. Analisis Permintaan:\n * Pertanyaan: \"Mana yang lebih besar, 9,9 atau 9,11?\"\n * Konteks: Pengguna menanyakan pertanyaan perbandingan matematis yang sederhana.\n * Tanggal Saat Ini: Kamis, 26 Maret 2026 (disediakan di prompt sistem).\n * Batas Pengetahuan: 2026 (disediakan di prompt sistem).\n\n2. Evaluasi Angka:\n * Angka A: 9,9\n * Angka B: 9,11\n * Ini adalah bilangan desimal.\n * Bandingkan bagian bilangan bulat: Keduanya adalah 9.\n * Bandingkan posisi persepuluhan (digit desimal pertama):\n * 9,9 memiliki 9 di posisi persepuluhan.\n * 9,11 memiliki 1 di posisi persepuluhan.\n * Karena 9 > 1, 9,9 lebih besar dari 9,11.\n\n3. Pertimbangkan Potensi Ambiguitas:\n * Mungkinkah ini penomoran versi? (misalnya, versi perangkat lunak). Dalam Pengendalian versi, 9.11 seringkali \"lebih baru\" atau \"lebih tinggi\" dari 9.9. Namun, secara matematis, 9,9 > 9,11.\n * Mungkinkah ini tanggal? (9 September vs 11 September). Tanggal 11 lebih akhir.\n * Interpretasi standar: Tanpa konteks, bilangan desimal diasumsikan sebagai nilai matematis.\n * Kesalahan umum: Beberapa orang keliru memperlakukan desimal seperti bilangan bulat (di mana 11 > 9), yang membuat mereka berpikir 9,11 > 9,9. Ini adalah bias kognitif atau miskonsepsi yang diketahui dalam matematika dasar.\n * Keputusan: Berikan jawaban matematis dengan jelas, tetapi mungkin akui konteks pengendalian versi jika relevan (meskipun biasanya, untuk pertanyaan spesifik ini, ini adalah tes matematika). Mengingat kesederhanaannya, tetap berpegang pada kebenaran matematis terlebih dahulu.\n\n4. Formulasikan Jawaban:\n * Jawaban langsung: 9,9 lebih besar.\n * Penjelasan: Bandingkan nilai tempat. 9,9 = 9,90, 9,11 = 9,11. 90 perseratus > 11 perseratus.\n * Nada: Membantu, jelas.\n\n5. Menyusun Tanggapan (Monolog Internal/Draf):\n * Oke, secara matematis 9,9 lebih besar. 9,9 adalah 9 dan 9 persepuluh. 9,11 adalah 9 dan 11 perseratus (atau 1 persepuluh dan 1 perseratus). 9 persepuluh lebih banyak dari 1 persepuluh.\n * Jadi, 9,9 > 9,11.\n * Saya harus menjawab dalam bahasa Inggris karena pertanyaannya dalam bahasa Inggris.\n * \"9.9 is larger.\"\n * Tambahkan penjelasan singkat untuk menghindari kebingungan. \"Because 9.9 equals 9.90, and 9.90 is greater than 9.11.\"\n\n6. Menyempurnakan berdasarkan kemungkinan \"Nomor Versi\":\n * Terkadang ini adalah pertanyaan jebakan tentang versi perangkat lunak. Di semver, 9.11 > 9.9.\n * Namun, biasanya, ketika ditanya secara gamblang \"mana yang lebih besar\", itu mengacu pada nilai numerik.\n * Saya akan memberikan jawaban numerik sebagai yang utama, mungkin menambahkan catatan tentang versi jika dirasa perlu. Tetapi membuatnya tetap sederhana lebih baik. Kemungkinan besar, ini menguji logika perbandingan desimal.\n * Mari kita tetap pada nilai matematis sebagai default.\n\n7. Polesan Akhir:\n * Jawaban: 9,9 lebih besar.\n * Penalaran: Saat membandingkan desimal, lihat dulu bagian bilangan bulat, lalu posisi persepuluhan. Digit persepuluhan dari 9,9 adalah 9, dan digit persepuluhan dari 9,11 adalah 1. Karena 9 > 1, 9,9 > 9,11.\n\n8. Pembuatan Output: (Sesuai dengan proses berpikir)\n * Nyatakan dengan jelas mana yang lebih besar.\n * Jelaskan mengapa.\n\n *Koreksi Mandiri pada Tanggal/Waktu:* Prompt sistem menyebutkan tanggal saat ini adalah 2026. Ini tidak memengaruhi pertanyaan matematika, tetapi saya harus memastikan saya tidak merujuk apa pun setelah 2026 jika saya menambahkan konteks (tidak diperlukan di sini).\n\n *Keputusan Akhir:* Jawab saja pertanyaan matematika secara langsung.\n\n \"Secara numerik, 9,9 lebih besar.\"\n Jelaskan: 9,9 = 9,90, 9,11 = 9,11. 90 > 11.\n\n Tunggu, apakah ada interpretasi lain?\n - Tanggal? 9/9 vs 9/11. Tanggal 11 lebih akhir.\n - Versi? 9.11 lebih baru.\n - Tapi \"siapa yang besar/lebih besar\" biasanya menyiratkan besaran.\n - Saya akan menjawab berdasarkan besaran numerik tetapi secara singkat menyebutkan konteks versi jika itu menambah nilai tanpa membingungkan. Sebenarnya, lebih baik bersikap tegas. Nilai numerik adalah interpretasi standar untuk \"siapa yang lebih besar\" dengan angka.\n\n Mari kita gunakan jawaban numerik.\n\n Rencana:\n 1. Nyatakan 9,9 lebih besar secara numerik.\n 2. Jelaskan perbandingan desimal.\n 3. (Opsional tetapi membantu) Sebutkan bahwa jika itu nomor versi, 9.11 mungkin dianggap \"lebih tinggi\". Tapi prioritaskan matematika.\n Sebenarnya, untuk kueri sederhana seperti ini, menjelaskan versi secara berlebihan mungkin membingungkan. Saya akan tetap pada matematika tetapi mengakui kebingungan umum.\n\n *Rencana yang Direvisi:*\n 1. Jawaban langsung: 9,9 lebih besar (secara matematis).\n 2. Penjelasan: Nilai tempat.\n 3. Catatan: Kecuali jika ini adalah nomor versi.\n\n Mari kita buat ringkas.\n\n \"Dalam hal nilai matematis, 9,9 lebih besar.\"\n \"Karena 9,9 sama dengan 9,90, yang lebih besar dari 9,11.\"\n \"Jika ini adalah nomor versi, versi 9.11 biasanya lebih tinggi dari versi 9.9.\"\n Ini mencakup kedua kemungkinan.\n\n Tunggu, melihat Pelatihan AI umum, ini sering kali merupakan pertanyaan \"jebakan\" untuk melihat apakah AI memperlakukan desimal seperti bilangan bulat. Jawaban matematis yang benar sangat penting.\n\n Oke, struktur output akhir:\n 1. Jawaban matematis.\n 2. Penjelasan singkat.\n 3. Catatan kontekstual (versi).\n\n Mari kita tulis.\n \"Dalam hal nilai matematis, 9,9 lebih besar.\"\n \"Saat membandingkan desimal, pertama bandingkan bagian bilangan bulat (keduanya 9), lalu posisi persepuluhan: Digit persepuluhan dari 9,9 adalah 9, sedangkan digit persepuluhan dari 9,11 adalah 1. Karena 9 > 1, 9,9 > 9,11.\"\n \"Namun, jika ini adalah nomor versi perangkat lunak, versi 9.11 biasanya lebih baru dari versi 9.9.\"\n\n Ini seimbang.\n\n Tunggu, saya perlu memeriksa instruksi lagi. \"Harap ingat waktu aktual saat ini...\". Ini hanya konteks sistem. Saya tidak perlu menyebutkan tanggal dalam jawaban kecuali relevan. Ini tidak relevan di sini.\n\n Oke, siap untuk membuat.\n\n Tunggu, satu pemeriksaan lagi. Apakah ada konteks budaya? Dalam beberapa konteks, orang mungkin mengatakan 9,11 lebih besar karena 11 > 9. Ini adalah miskonsepsi yang perlu saya perbaiki.\n Jadi, menekankan aturan matematika adalah kuncinya.\n\n Pemeriksaan akhir:\n 9,9 = 9 + 9/10 = 9,90\n 9,11 = 9 + 1/10 + 1/100 = 9,11\n 9,90 > 9,11. Benar.\n\n Tanggapan akan dalam bahasa Inggris.\n \"In terms of numerical value, 9.9 is larger.\"\n Jelaskan mengapa.\n Sebutkan pengecualian versi.\n Selesai.\n",
"type": "summary_text"
}
],
"type": "reasoning"
},
{
"content": [
{
"annotations": [],
"text": "Dalam hal nilai matematis, 9,9 lebih besar.\n\nInilah alasannya:\nSaat membandingkan desimal, Anda pertama-tama melihat bagian bilangan bulat, yaitu 9 untuk keduanya. Kemudian Anda melihat posisi persepuluhan (digit pertama setelah titik desimal):\n* Digit persepuluhan dari 9,9 adalah 9\n* Digit persepuluhan dari 9,11 adalah 1\n\nKarena 9 lebih besar dari 1, 9,9 > 9,11 (Anda dapat menganggap 9,9 sebagai 9,90 untuk perbandingan).\n\nCatatan: Jika ini adalah nomor versi perangkat lunak, versi 9.11 biasanya akan dianggap lebih baru (atau lebih tinggi) dari versi 9.9. Namun, dalam perbandingan numerik langsung, 9,9 lebih besar.",
"type": "output_text"
}
],
"id": "msg_xxx",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": false,
"status": "completed",
"tool_choice": "auto",
"tools": [],
"usage": {
"input_tokens": 57,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 2018,
"output_tokens_details": {
"reasoning_tokens": 1861
},
"total_tokens": 2075,
"x_details": [
{
"input_tokens": 57,
"output_tokens": 2018,
"output_tokens_details": {
"reasoning_tokens": 1861
},
"total_tokens": 2075,
"x_billing_type": "response_api"
}
]
}
}
Output aliran
Terima konten dari model secara real-time, terutama berguna untuk generasi teks panjang.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
stream = client.responses.create(
model="qwen3.7-plus",
input="Please briefly introduce artificial intelligence.",
stream=True
)
print("Receiving stream output:")
for event in stream:
# print(event.model_dump_json()) # Hapus komentar untuk melihat respons event mentah
if event.type == 'response.output_text.delta':
print(event.delta, end='', flush=True)
elif event.type == 'response.completed':
print("\nStream completed")
print(f"Total tokens: {event.response.usage.total_tokens}")
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const stream = await openai.responses.create({
model: "qwen3.7-plus",
input: "Please briefly introduce artificial intelligence.",
stream: true
});
console.log("Receiving stream output:");
for await (const event of stream) {
// console.log(JSON.stringify(event)); // Hapus komentar untuk melihat respons event mentah
if (event.type === 'response.output_text.delta') {
process.stdout.write(event.delta);
} else if (event.type === 'response.completed') {
console.log("\nStream completed");
console.log(`Total tokens: ${event.response.usage.total_tokens}`);
}
}
}
main();
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "Please briefly introduce artificial intelligence.",
"stream": true
}'
{"response":{"id":"47a71e7d-868c-4204-9693-ef8ff9058xxx","created_at":1769417481.0,"error":null,"incomplete_details":null,"instructions":null,"metadata":null,"model":"","object":"response","output":[],"parallel_tool_calls":false,"temperature":null,"tool_choice":"auto","tools":[],"top_p":null,"background":null,"completed_at":null,"conversation":null,"max_output_tokens":null,"max_tool_calls":null,"previous_response_id":null,"prompt":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":null,"safety_identifier":null,"service_tier":null,"status":"queued","text":null,"top_logprobs":null,"truncation":null,"usage":null,"user":null},"sequence_number":0,"type":"response.created"}
{"response":{"id":"47a71e7d-868c-4204-9693-ef8ff9058xxx","created_at":1769417481.0,"error":null,"incomplete_details":null,"instructions":null,"metadata":null,"model":"","object":"response","output":[],"parallel_tool_calls":false,"temperature":null,"tool_choice":"auto","tools":[],"top_p":null,"background":null,"completed_at":null,"conversation":null,"max_output_tokens":null,"max_tool_calls":null,"previous_response_id":null,"prompt":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":null,"safety_identifier":null,"service_tier":null,"status":"in_progress","text":null,"top_logprobs":null,"truncation":null,"usage":null,"user":null},"sequence_number":1,"type":"response.in_progress"}
{"item":{"id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","content":[],"role":"assistant","status":"in_progress","type":"message"},"output_index":0,"sequence_number":2,"type":"response.output_item.added"}
{"content_index":0,"item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","output_index":0,"part":{"annotations":[],"text":"","type":"output_text","logprobs":null},"sequence_number":3,"type":"response.content_part.added"}
{"content_index":0,"delta":"Artificial","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":4,"type":"response.output_text.delta"}
{"content_index":0,"delta":" intelligence","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":5,"type":"response.output_text.delta"}
{"content_index":0,"delta":" (","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":6,"type":"response.output_text.delta"}
{"content_index":0,"delta":"AI","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":7,"type":"response.output_text.delta"}
... (intermediate events omitted) ...
{"content_index":0,"delta":"fields, and is profoundly changing our","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":38,"type":"response.output_text.delta"}
{"content_index":0,"delta":" lives and ways of working","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":39,"type":"response.output_text.delta"}
{"content_index":0,"delta":".","item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":40,"type":"response.output_text.delta"}
{"content_index":0,"item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","logprobs":[],"output_index":0,"sequence_number":41,"text":"Artificial intelligence (AI) is the technology and science of simulating human intelligent behavior by using computer systems. xxxx","type":"response.output_text.done"}
{"content_index":0,"item_id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","output_index":0,"part":{"annotations":[],"text":"Artificial intelligence (AI) is the technology and science of simulating human intelligent behavior by using computer systems. xxx","type":"output_text","logprobs":null},"sequence_number":42,"type":"response.content_part.done"}
{"item":{"id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","content":[{"annotations":[],"text":"Artificial intelligence (AI) is the technology and science of simulating human intelligent behavior by using computer systems. It aims to enable machines to perform tasks that typically require human intelligence, such as:\n\n- Learning (for example, training models with data) \n- Reasoning (for example, logical judgment and problem-solving) \n- Perception (for example, recognizing images, speech, or text) \n- Understanding language (for example, natural language processing) \n- Decision-making (for example, making optimal choices in complex environments)\n\nAI can be divided into weak AI (focused on specific tasks, such as voice assistants and recommendation systems) and strong AI (possessing general, human-like intelligence, which has not yet been achieved).\n\nCurrently, AI is widely used in various fields, including healthcare, finance, transportation, education, and entertainment, and is profoundly changing the way we live and work.","type":"output_text","logprobs":null}],"role":"assistant","status":"completed","type":"message"},"output_index":0,"sequence_number":43,"type":"response.output_item.done"}
{"response":{"id":"47a71e7d-868c-4204-9693-ef8ff9058xxx","created_at":1769417481.0,"error":null,"incomplete_details":null,"instructions":null,"metadata":null,"model":"qwen3.7-plus","object":"response","output":[{"id":"msg_16db29d6-c1d3-47d7-9177-0fba81964xxx","content":[{"annotations":[],"text":"Artificial intelligence (AI) is xxxxxx","type":"output_text","logprobs":null}],"role":"assistant","status":"completed","type":"message"}],"parallel_tool_calls":false,"temperature":null,"tool_choice":"auto","tools":[],"top_p":null,"background":null,"completed_at":null,"conversation":null,"max_output_tokens":null,"max_tool_calls":null,"previous_response_id":null,"prompt":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":null,"safety_identifier":null,"service_tier":null,"status":"completed","text":null,"top_logprobs":null,"truncation":null,"usage":{"input_tokens":37,"input_tokens_details":{"cached_tokens":0},"output_tokens":166,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":203},"user":null},"sequence_number":44,"type":"response.completed"}
Gunakan alat bawaan
Aktifkan alat bawaan untuk tugas kompleks. Ekstraktor web dan interpreter kode gratis untuk waktu terbatas. Lihat pemanggilan alat untuk daftar alat yang didukung.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
response = client.responses.create(
model="qwen3.7-plus",
input="Find the Alibaba Cloud website and extract key information from the homepage",
# Untuk hasil terbaik, aktifkan semua alat bawaan.
tools=[
{"type": "web_search"},
{"type": "code_interpreter"},
{"type": "web_extractor"}
],
reasoning={"effort": "medium"}
)
# Hapus komentar baris berikut untuk melihat output antara.
# print(response.output)
print(response.output_text)
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.7-plus",
input: "Find the Alibaba Cloud website and extract key information from the homepage",
tools: [
{ type: "web_search" },
{ type: "code_interpreter" },
{ type: "web_extractor" }
],
reasoning: { effort: "medium" }
});
for (const item of response.output) {
if (item.type === "reasoning") {
console.log("Model is thinking...");
} else if (item.type === "web_search_call") {
console.log(`Search query: ${item.action.query}`);
} else if (item.type === "web_extractor_call") {
console.log("Extracting web content...");
} else if (item.type === "message") {
console.log(`Response: ${item.content[0].text}`);
}
}
}
main();
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "Find the Alibaba Cloud website and extract key information from the homepage",
"tools": [
{
"type": "web_search"
},
{
"type": "code_interpreter"
},
{
"type": "web_extractor"
}
],
"reasoning": {"effort": "medium"}
}'
{
"id": "69258b21-5099-9d09-92e8-8492b1955xxx",
"object": "response",
"status": "completed",
"output": [
{
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": "The user wants to find the Alibaba Cloud website and extract information..."
}
]
},
{
"type": "web_search_call",
"status": "completed",
"action": {
"query": "Alibaba Cloud official website",
"type": "search",
"sources": [
{
"type": "url",
"url": "https://cn.aliyun.com/"
},
{
"type": "url",
"url": "https://www.alibabacloud.com/zh"
}
]
}
},
{
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": "The search results show the Alibaba Cloud website URL..."
}
]
},
{
"type": "web_extractor_call",
"status": "completed",
"goal": "Extract key information from the Alibaba Cloud homepage",
"output": "Tongyi Large Language Model, full product portfolio, AI solutions...",
"urls": [
"https://cn.aliyun.com/"
]
},
{
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Key information from the Alibaba Cloud website: Tongyi Large Language Model, cloud computing services..."
}
]
}
],
"usage": {
"input_tokens": 40836,
"output_tokens": 2106,
"total_tokens": 42942,
"output_tokens_details": {
"reasoning_tokens": 677
},
"x_tools": {
"web_extractor": {
"count": 1
},
"web_search": {
"count": 1
}
}
}
}
Cache sesi
Dalam percakapan multi-putaran, aktifkan cache sesi agar server secara otomatis menyimpan konteks percakapan. Ini mengurangi latensi dan biaya tanpa perlu manajemen cache manual.
Penggunaan: Untuk mengaktifkan cache sesi, tambahkan x-dashscope-session-cache: enable ke header permintaan. Untuk menonaktifkannya, atur nilainya menjadi disable. Nilai default-nya adalah disable.
Model yang didukung: qwen3.8-max, qwen3.8-flash, qwen3.7-max, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08, qwen3-max, qwen3.7-plus, qwen3.6-plus, qwen3.5-plus, qwen3.7-flash, qwen3.6-flash, qwen3.5-flash, qwen-plus, qwen-flash, qwen3-coder-plus, qwen3-coder-flash
Cache sesi memerlukan panjang prompt minimum 1.024 token dan kedaluwarsa setelah 5 menit. Cache ini memiliki batasan yang sama dengan cache eksplisit.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
# Aktifkan cache sesi melalui default_headers
default_headers={"x-dashscope-session-cache": "enable"}
)
# Buat teks panjang yang melebihi 1024 token untuk memicu pembuatan cache.
# (Jika prompt awal kurang dari 1024 token, server membuat cache setelah konteks total melebihi ambang batas ini.)
long_context = "Artificial intelligence is an important branch of computer science that focuses on the research and development of theories, methods, technologies, and application systems that can simulate, extend, and expand human intelligence." * 50
# Permintaan pertama
response1 = client.responses.create(
model="qwen3.7-plus",
input=long_context + "\n\nBased on the background knowledge above, briefly introduce the random forest algorithm in machine learning.",
)
print(f"First response: {response1.output_text}")
# Permintaan kedua: Kaitkan konteks menggunakan previous_response_id. Server mengelola cache secara otomatis.
response2 = client.responses.create(
model="qwen3.7-plus",
input="What are the main differences between it and GBDT?",
previous_response_id=response1.id,
)
print(f"Second response: {response2.output_text}")
# Periksa status cache hit
usage = response2.usage
print(f"Input tokens: {usage.input_tokens}")
print(f"Cached tokens: {usage.input_tokens_details.cached_tokens}")
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
// Aktifkan cache sesi melalui defaultHeaders
defaultHeaders: {"x-dashscope-session-cache": "enable"}
});
// Buat teks panjang yang melebihi 1024 token untuk memicu pembuatan cache.
// (Jika prompt awal kurang dari 1024 token, server membuat cache setelah konteks total melebihi ambang batas ini.)
const longContext = "Artificial intelligence is an important branch of computer science that focuses on the research and development of theories, methods, technologies, and application systems that can simulate, extend, and expand human intelligence.".repeat(50);
async function main() {
// Permintaan pertama
const response1 = await openai.responses.create({
model: "qwen3.7-plus",
input: longContext + "\n\nBased on the background knowledge above, briefly introduce the random forest algorithm in machine learning, including its basic principles and use cases."
});
console.log(`First response: ${response1.output_text}`);
// Permintaan kedua: Kaitkan konteks menggunakan previous_response_id. Server mengelola cache secara otomatis.
const response2 = await openai.responses.create({
model: "qwen3.7-plus",
input: "What are the main differences between it and GBDT?",
previous_response_id: response1.id
});
console.log(`Second response: ${response2.output_text}`);
// Periksa status cache hit
console.log(`Input tokens: ${response2.usage.input_tokens}`);
console.log(`Cached tokens: ${response2.usage.input_tokens_details.cached_tokens}`);
}
main();
# Permintaan pertama
# Teks 'input' harus melebihi 1024 token untuk memicu pembuatan cache.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "x-dashscope-session-cache: enable" \
-d '{
"model": "qwen3.7-plus",
"input": "Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia. Kecerdasan buatan adalah cabang penting dari ilmu komputer yang berfokus pada penelitian dan pengembangan teori, metode, teknologi, dan sistem aplikasi yang dapat menyimulasikan, memperluas, dan mengembangkan kecerdasan manusia.\n\nBerdasarkan pengetahuan latar belakang di atas, jelaskan secara singkat algoritma random forest dalam pembelajaran mesin, termasuk prinsip-prinsip dasar dan kasus penggunaannya."
}'
# Permintaan kedua - Atur 'previous_response_id' ke 'id' dari tanggapan pertama.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "x-dashscope-session-cache: enable" \
-d '{
"model": "qwen3.7-plus",
"input": "Apa perbedaan utama antara ini dan GBDT?",
"previous_response_id": "id_from_first_response"
}'
Migrasi dari Chat Completions API ke Responses API
Responses API menyederhanakan antarmuka Chat Completions API sekaligus mempertahankan kompatibilitas. Untuk melakukan migrasi, ikuti langkah-langkah berikut.
1. Perbarui alamat endpoint
Perbarui alamat endpoint dari /v1/chat/completions menjadi /v1/responses.
# Chat Completions API
completion = client.chat.completions.create(
model="qwen3.7-plus",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message.content)
# Responses API - dapat menggunakan format message yang sama
response = client.responses.create(
model="qwen3.7-plus",
input=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(response.output_text)
# Responses API - atau gunakan format yang lebih ringkas
response = client.responses.create(
model="qwen3.7-plus",
input="Hello!"
)
print(response.output_text)
// Chat Completions API
const completion = await client.chat.completions.create({
model: "qwen3.7-plus",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" }
]
});
console.log(completion.choices[0].message.content);
// Responses API - dapat menggunakan format message yang sama
const response = await client.responses.create({
model: "qwen3.7-plus",
input: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" }
]
});
console.log(response.output_text);
// Responses API - atau gunakan format yang lebih ringkas
const response2 = await client.responses.create({
model: "qwen3.7-plus",
input: "Hello!"
});
console.log(response2.output_text);
# Chat Completions API
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
}'
# Responses API - gunakan format yang lebih ringkas
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-plus",
"input": "Hello!"
}'
2. Perbarui penanganan respons
Responses API mengembalikan struktur respons yang berbeda. Gunakan pintasan output_text untuk mengambil output teks, atau akses informasi detail melalui array output.
| |
3. Sederhanakan percakapan multi-putaran
Dengan Chat Completions API, Anda harus mengelola array riwayat pesan secara manual. Responses API menyederhanakan proses ini dengan menggunakan parameter previous_response_id untuk menautkan konteks percakapan secara otomatis. id respons berlaku selama 7 hari.
Python
| |
Node.js
| |
4. Gunakan alat bawaan
Responses API mencakup alat bawaan. Tentukan alat tersebut dalam parameter tools. Alat Code Interpreter dan pencarian web gratis untuk waktu terbatas. Lihat pemanggilan alat.
Python
| |
Node.js
| |
Curl
| |
FAQ
Q: Bagaimana cara meneruskan konteks percakapan multi-putaran?
A: Teruskan id dari respons model sebelumnya yang berhasil sebagai parameter previous_response_id dalam permintaan percakapan berikutnya.
Q: Mengapa saya tidak bisa mencetak 'output_text'?
A: Atribut ini tidak tersedia di beberapa versi OpenAI Python SDK, seperti versi 1.99.2. Untuk mengatasi error ini, perbarui SDK ke versi terbaru.
Terkait
- Tanggapan OpenAI
- Dapatkan Kunci API Anda
- Simpan Kunci API Anda dalam variabel lingkungan