Alibaba Cloud Model Studio memungkinkan Anda memanggil model bahasa besar (LLM) melalui antarmuka yang kompatibel dengan OpenAI atau SDK DashScope.
Topik ini menggunakan Qwen sebagai contoh untuk membimbing Anda melalui panggilan API pertama Anda. Anda akan belajar cara:
Mendapatkan Kunci API
Mengonfigurasi lingkungan pengembangan lokal Anda
Memanggil API Qwen
Pengaturan akun
Daftarkan Akun: Jika Anda belum memiliki Akun Alibaba Cloud, daftar terlebih dahulu di sini.
Pilih Wilayah: Model Studio menyediakan Edisi Internasional (Singapura) dan Edisi Tiongkok Daratan (Beijing). Kedua edisi berbeda dalam hal konsol, titik akhir, model, dan harga. Untuk detail lebih lanjut, lihat Model dan Harga.
Edisi Internasional: Titik akhir dan layanan model berada di wilayah internasional, tidak termasuk Tiongkok Daratan. Titik akhir default adalah Singapura.
Edisi Tiongkok Daratan: Titik akhir dan layanan model berada di Tiongkok Daratan. Saat ini, hanya titik akhir Beijing yang didukung.
Lengkapi Verifikasi Akun: Untuk mengaktifkan Edisi Tiongkok Daratan, langkah ini diperlukan. Untuk Edisi Internasional, Anda dapat melewati langkah ini.
Gunakan Akun Alibaba Cloud Anda untuk menyelesaikan verifikasi akun:
Pilih Individual Verification atau Upgrade to Enterprise, lalu klik Verify now.
Di bagian Additional Information pada halaman yang muncul, pilih Yes untuk Purchase cloud resources or enable acceleration inside the Chinese mainland.
Untuk informasi tambahan, lihat Gambaran Umum Verifikasi Akun.
Aktifkan Model Studio: Gunakan Akun Alibaba Cloud Anda untuk mengakses Konsol Model Studio (Singapura atau Beijing). Setelah membaca dan menyetujui Ketentuan Layanan, Model Studio akan diaktifkan secara otomatis. Jika Ketentuan Layanan tidak muncul, ini menunjukkan bahwa Anda telah mengaktifkan Model Studio.
Dapatkan Kunci API: Buka halaman Key Management (Singapura atau Beijing), lalu klik Create API Key. Nantinya, Anda akan menggunakan API Key untuk memanggil model.
Saat membuat kunci API baru, atur Workspace ke Ruang Kerja Default. Untuk menggunakan kunci API dari sub-ruang kerja, pemilik Akun Alibaba Cloud harus mengotorisasi sub-ruang kerja tersebut untuk menggunakan model tertentu. Untuk informasi lebih lanjut, lihat Otorisasi Sub-Ruang Kerja untuk Memanggil Model.
Atur kunci API Anda sebagai variabel lingkungan
Atur kunci API sebagai variabel lingkungan untuk menghindari pengkodean langsung di dalam kode Anda. Hal ini mengurangi risiko kebocoran data.
Pilih bahasa pemrograman
Pilih bahasa pemrograman atau alat yang Anda kuasai.
Python
Langkah 1: Siapkan lingkungan Python
Periksa versi Python Anda
Konfigurasikan lingkungan virtual (Opsional)
Instal OpenAI Python SDK atau DashScope Python SDK
Langkah 2: Panggil API LLM
OpenAI Python SDK
Jika Python dan OpenAI Python SDK telah terinstal, ikuti langkah-langkah berikut untuk mengirim permintaan API.
Buat file bernama
hello_qwen.py.Salin kode berikut ke dalam
hello_qwen.pydan simpan file tersebut.import os from openai import OpenAI try: client = OpenAI( # Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Untuk mendapatkan kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx", api_key=os.getenv("DASHSCOPE_API_KEY"), # URL berikut adalah untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1 base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1", ) completion = client.chat.completions.create( model="qwen-plus", messages=[ {'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who are you?'} ] ) print(completion.choices[0].message.content) except Exception as e: print(f"Pesan kesalahan: {e}") print("Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code")Jalankan
python hello_qwen.pyataupython3 hello_qwen.pydi baris perintah.Jika pesan
No such file or directorymuncul, tentukan jalur file lengkap dari file tersebut.Setelah perintah dijalankan, keluaran berikut akan dikembalikan:
Saya adalah model bahasa skala besar yang dikembangkan oleh Alibaba Cloud. Nama saya adalah Qwen.
DashScope Python SDK
Jika Python dan DashScope Python SDK telah terinstal, ikuti langkah-langkah berikut untuk mengirim permintaan API.
Buat file bernama
hello_qwen.py.Salin kode berikut ke dalam
hello_qwen.pydan simpan file tersebut.import os from dashscope import Generation import dashscope # URL berikut adalah untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/api/v1 dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' messages = [ {'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who are you?'} ] response = Generation.call( # Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Untuk mendapatkan kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx", api_key=os.getenv("DASHSCOPE_API_KEY"), model="qwen-plus", messages=messages, result_format="message" ) if response.status_code == 200: print(response.output.choices[0].message.content) else: print(f"Kode pengembalian HTTP: {response.status_code}") print(f"Kode kesalahan: {response.code}") print(f"Pesan kesalahan: {response.message}") print("Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code")Jalankan
python hello_qwen.pyataupython3 hello_qwen.pydi baris perintah.CatatanPerintah dalam contoh ini harus dijalankan dari direktori tempat file Python berada. Jika ingin menjalankannya dari lokasi lain, tentukan jalur file lengkap.
Setelah perintah dijalankan, keluaran berikut akan dikembalikan:
Saya adalah model bahasa besar dari Alibaba Cloud. Nama saya adalah Qwen.
Node.js
Langkah 1: Siapkan lingkungan Node.js
Periksa status instalasi Node.js
Instal SDK
Langkah 2: Panggil API LLM
Buat file
hello_qwen.mjs.Salin kode berikut ke dalam file tersebut.
import OpenAI from "openai"; try { const openai = new OpenAI( { // Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Untuk mendapatkan kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx", apiKey: process.env.DASHSCOPE_API_KEY, // URL berikut adalah untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1 baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1" } ); const completion = await openai.chat.completions.create({ model: "qwen-plus", messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: "Who are you?" } ], }); console.log(completion.choices[0].message.content); } catch (error) { console.log(`Pesan kesalahan: ${error}`); console.log("Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); }Jalankan perintah berikut di baris perintah untuk mengirim permintaan API:
node hello_qwen.mjsCatatanPerintah dalam contoh ini harus dijalankan dari direktori tempat file
hello_qwen.mjsberada. Jika ingin menjalankannya dari lokasi lain, tentukan jalur file lengkap.Pastikan SDK diinstal di direktori yang sama dengan file
hello_qwen.mjs. Jika tidak, kesalahanCannot find package 'openai' imported from xxxakan dilaporkan.
Setelah perintah berhasil dijalankan, keluaran berikut akan dikembalikan:
Saya adalah model bahasa dari Alibaba Cloud. Nama saya adalah Qwen.
Java
Langkah 1: Siapkan lingkungan Java
Periksa versi Java Anda
Instal SDK
Langkah 2: Panggil API LLM
Jalankan kode berikut untuk memanggil API LLM.
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// URL berikut adalah untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("Who are you?")
.build();
GenerationParam param = GenerationParam.builder()
// Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Untuk mendapatkan kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models
.model("qwen-plus")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("Pesan kesalahan: "+e.getMessage());
System.out.println("Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}Setelah kode dijalankan, keluaran berikut akan dikembalikan:
Saya adalah model bahasa skala besar yang dikembangkan oleh Alibaba Cloud. Nama saya adalah Qwen.curl
Anda dapat memanggil model menggunakan HTTP yang kompatibel dengan OpenAI atau DashScope HTTP. Untuk daftar model, lihat Model dan harga.
Jika Anda belum mengonfigurasi variabel lingkungan, ganti -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ dengan -H "Authorization: Bearer sk-xxx" \.
HTTP yang kompatibel dengan OpenAI
URL dalam contoh kode adalah untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions.
Jalankan perintah berikut untuk mengirim permintaan API:
Setelah mengirim permintaan API, tanggapan berikut akan dikembalikan:
{
"choices": [
{
"message": {
"role": "assistant",
"content": "Saya adalah model bahasa besar dari Alibaba Cloud. Nama saya adalah Qwen."
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 22,
"completion_tokens": 16,
"total_tokens": 38
},
"created": 1728353155,
"system_fingerprint": null,
"model": "qwen-plus",
"id": "chatcmpl-39799876-eda8-9527-9e14-2214d641cf9a"
}DashScope HTTP
URL dalam contoh kode adalah untuk Wilayah Singapura. Jika Anda menggunakan model di Wilayah Tiongkok (Beijing), ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
Jalankan perintah berikut untuk mengirim permintaan API:
Setelah mengirim permintaan API, tanggapan berikut akan dikembalikan:
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "I am a large language model from Alibaba Cloud. My name is Qwen."
}
}
]
},
"usage": {
"total_tokens": 38,
"output_tokens": 16,
"input_tokens": 22
},
"request_id": "87f776d7-3c82-9d39-b238-d1ad38c9b6a9"
}Bahasa lainnya
Panggil API LLM
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
)
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
}
type RequestBody struct {
Model string `json:"model"`
Messages []Message `json:"messages"`
}
func main() {
// Buat klien HTTP.
client := &http.Client{}
// Konstruksi badan permintaan.
requestBody := RequestBody{
// Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models
Model: "qwen-plus",
Messages: []Message{
{
Role: "system",
Content: "Anda adalah asisten yang membantu.",
},
{
Role: "user",
Content: "Siapa Anda?",
},
},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
log.Fatal(err)
}
// Buat permintaan POST. URL berikut ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
req, err := http.NewRequest("POST", "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions", bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
// Atur header permintaan.
// Kunci API untuk wilayah Singapura dan China (Beijing) berbeda. Untuk mendapatkan Kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey := "sk-xxx"
apiKey := os.Getenv("DASHSCOPE_API_KEY")
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// Kirim permintaan.
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// Baca badan respons.
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
// Cetak isi respons.
fmt.Printf("%s\n", bodyText)
}
<?php
// URL berikut ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
$url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions';
// Kunci API untuk wilayah Singapura dan China (Beijing) berbeda. Untuk mendapatkan Kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: $apiKey = "sk-xxx";
$apiKey = getenv('DASHSCOPE_API_KEY');
// Atur header permintaan.
$headers = [
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json'
];
// Atur badan permintaan.
$data = [
"model" => "qwen-plus",
"messages" => [
[
"role" => "system",
"content" => "Anda adalah asisten yang membantu."
],
[
"role" => "user",
"content" => "Siapa Anda?"
]
]
];
// Inisialisasi sesi cURL.
$ch = curl_init();
// Atur opsi cURL.
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Eksekusi sesi cURL.
$response = curl_exec($ch);
// Periksa kesalahan.
if (curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
}
// Tutup sumber daya cURL.
curl_close($ch);
// Keluarkan respons.
echo $response;
?>using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main(string[] args)
{
// Kunci API untuk wilayah Singapura dan China (Beijing) berbeda. Untuk mendapatkan Kunci API, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: string? apiKey = "sk-xxx";
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("Kunci API tidak diatur. Pastikan bahwa variabel lingkungan 'DASHSCOPE_API_KEY' telah diatur.");
return;
}
// URL berikut ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
string url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions";
// Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models
string jsonContent = @"{
""model"": ""qwen-plus"",
""messages"": [
{
""role"": ""system"",
""content"": ""Anda adalah asisten yang membantu.""
},
{
""role"": ""user"",
""content"": ""Siapa Anda?""
}
]
}";
// Kirim permintaan dan dapatkan respons.
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
// Keluarkan hasil.
Console.WriteLine(result);
}
private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
{
using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
{
// Atur header permintaan.
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Kirim permintaan dan dapatkan respons.
HttpResponseMessage response = await httpClient.PostAsync(url, content);
// Proses respons.
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Permintaan gagal: {response.StatusCode}";
}
}
}
}Referensi API
Untuk detail parameter permintaan dan respons API Qwen, lihat Qwen.
Informasi lebih lanjut mengenai model lain tersedia di Model dan harga.
FAQ
Apa yang harus dilakukan jika kesalahan Model.AccessDenied dilaporkan setelah saya memanggil API LLM?
A: Kesalahan ini terjadi karena Anda menggunakan Kunci API dari sub-ruang kerja, dan sub-ruang kerja tersebut tidak memiliki izin untuk mengakses aplikasi atau model dalam ruang kerja default. Untuk menggunakan Kunci API dari sub-ruang kerja, administrator Akun Alibaba Cloud harus memberikan otorisasi model kepada sub-ruang kerja. Sebagai contoh, topik ini menggunakan model Qwen-Plus. Untuk informasi lebih lanjut, lihat Otorisasi sub-ruang kerja untuk memanggil model.
Apa yang harus dilakukan selanjutnya
Lihat lebih banyak model | Kode contoh menggunakan model qwen-plus. Alibaba Cloud Model Studio juga mendukung model Qwen lainnya dan model pihak ketiga seperti DeepSeek dan Kimi. Untuk informasi lebih lanjut tentang model yang didukung dan referensi API mereka, lihat Model dan harga. |
Pelajari tentang penggunaan tingkat lanjut | Kode contoh mengimplementasikan interaksi tanya jawab sederhana. Untuk mempelajari lebih lanjut tentang penggunaan tingkat lanjut dari API Qwen, seperti keluaran streaming, keluaran terstruktur, dan pemanggilan fungsi, lihat topik dalam bagian Ikhtisar model generasi teks. |
Coba model secara online | Untuk berinteraksi dengan model besar dalam kotak dialog, mirip dengan pengalaman di Qwen Chat, kunjungi Playground (Singapura atau Beijing). |











