Topik ini menjelaskan cara melewatkan parameter kustom saat memanggil aplikasi Model Studio. Fitur ini berlaku untuk parameter plugin kustom dan parameter node kustom.
Sebelum memulai, Anda harus memperoleh Kunci API dan mengatur Kunci API sebagai variabel lingkungan. Jika menggunakan SDK, Anda perlu menginstal SDK.
Parameter plugin kustom
Bagian ini menggunakan alat query konvensi asrama sebagai contoh untuk menunjukkan cara melewati parameter kustom untuk plugin kustom saat memanggil aplikasi melalui API.
Parameter plugin kustom dilewatkan melalui Agent Applications terkait atau melalui Node Plugin dari Workflow Applications.
Contoh berikut menunjukkan cara melewati parameter plugin kustom dalam Agent Application.
Cara menggunakan
Langkah 1: Buat alat plugin kustom
Jika Anda sudah membuat alat plugin atau mengimpor plugin, lewati langkah ini.
Buat plugin kustom: Pergi ke Plugin, klik Add Custom Plug-in, dan konfigurasikan informasi plugin. Jika diperlukan otentikasi, aktifkan Enable Authentication serta konfigurasikan informasi otentikasi.
https://domitorgreement-plugin-example-icohrkdjxy.cn-beijing.fcapp.run

Catatan: Plug-in Description adalah penjelasan singkat tentang tujuan plugin yang membantu model menentukan apakah tugas saat ini memerlukan plugin tersebut. Gunakan bahasa alami untuk deskripsi.
Buat alat: Isi informasi alat, konfigurasikan parameter input dan output. Catatan:
Tool Description membantu model lebih memahami fungsi dan skenario penggunaan alat. Gunakan bahasa alami dan berikan contoh jika memungkinkan.
Parameter Name harus bermakna untuk membantu model memahami informasi parameter yang perlu diidentifikasi.
Parameter Description menjelaskan tujuan parameter input. Harus ringkas dan akurat untuk membantu model memahami cara mendapatkan parameter tersebut.
Untuk parameter input, Passing Method harus menjadi Business Pass-through.
Dalam contoh ini,
article_indexdiatur sebagai parameter business pass-through.
Klik Test Tool, dan setelah berhasil dijalankan, klik Publish untuk menerbitkan plugin tersebut.
Langkah 2: Tambahkan plugin ke aplikasi agen
Alat plugin hanya dapat dikaitkan dengan Agent Applications di ruang kerja yang sama.
Klik Add to Agent pada kartu plugin yang telah dipublikasikan dan pilih aplikasi agen yang ingin dikaitkan.

Atau, klik + Plug-in di aplikasi untuk menambahkan plugin kustom.

Klik Publish untuk menerbitkan aplikasi tersebut.
Langkah 3: Gunakan API
Tanpa Otentikasi: Gunakan
user_defined_paramsdaribiz_paramsuntuk melewati informasi plugin kustom. Gantiyour_plugin_codedengan ID plugin sebenarnya, dan lewatkan pasangan nilai-kunci parameter input.Lihat ID plugin pada kartu plugin.
Dalam contoh ini, atur
article_indexmenjadi 2 untuk memeriksa artikel kedua dari konvensi, dan hasil yang benar akan dikembalikan.Python
Permintaan Contoh
import os from http import HTTPStatus # Versi dashscope SDK yang direkomendasikan >= 1.14.0 import dashscope from dashscope import Application dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { # Pass-through parameter input plugin kustom untuk aplikasi agen, ganti your_plugin_code dengan ID plugin kustom Anda "user_defined_params": { "your_plugin_code": { "article_index": 2}}} response = Application.call( # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', prompt='Konten konvensi asrama', biz_params=biz_params) if response.status_code != HTTPStatus.OK: print(f'request_id={response.request_id}') print(f'code={response.status_code}') print(f'message={response.message}') print(f'Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output.text)) # Proses output teks saja # print('%s\n' % (response.usage))Tanggapan Contoh
Aturan kedua dari konvensi asrama adalah sebagai berikut: "Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus." Ini menunjukkan bahwa di asrama, anggota harus menciptakan suasana positif untuk hidup dan belajar, membantu dan mendukung satu sama lain, sambil juga belajar memahami dan menghormati orang lain. Jika Anda perlu mengetahui ketentuan lain dari konvensi, silakan beri tahu saya!Java
Permintaan Contoh
import com.alibaba.dashscope.app.*; import com.alibaba.dashscope.exception.ApiException; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.JsonUtils; import com.alibaba.dashscope.utils.Constants; public class Main { static { Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1"; } public static void appCall() throws NoApiKeyException, InputRequiredException { String bizParams = // Pass-through parameter input plugin kustom untuk aplikasi agen, ganti {your_plugin_code} dengan ID plugin kustom Anda "{\"user_defined_params\":{\"{your_plugin_code}\":{\"article_index\":2}}}"; ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") .prompt("Konten konvensi asrama") .bizParams(JsonUtils.parse(bizParams)) .build(); Application application = new Application(); ApplicationResult result = application.call(param); System.out.printf("%s\n", result.getOutput().getText()); } public static void main(String[] args) { try { appCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Exception: %s", e.getMessage()); System.out.println("Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code"); } System.exit(0); } }Tanggapan Contoh
Aturan kedua dari konvensi asrama adalah sebagai berikut: Pasal 2: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Ini menekankan bahwa dalam lingkungan hidup bersama, teman sekamar harus menjaga hubungan yang positif, menciptakan suasana harmonis untuk hidup dan belajar melalui bantuan dan dukungan timbal balik. Jika Anda perlu mengetahui lebih banyak ketentuan spesifik, silakan beri tahu saya.HTTP
curl
Permintaan Contoh
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion \ --header "Authorization: Bearer $DASHSCOPE_API_KEY" \ --header 'Content-Type: application/json' \ --data '{ "input": { "prompt": "Konten konvensi asrama", "biz_params": { "user_defined_params": { "{your_plugin_code}": { "article_index": 2 } } } }, "parameters": {}, "debug":{} }'Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya Anda.
Tanggapan Contoh
{"output": {"finish_reason":"stop", "session_id":"e151267ffded4fbdb13d91439011d31e", "text":"Item kedua dari konvensi asrama adalah: \"Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus.\" Ini berarti bahwa dalam kehidupan asrama, semua orang harus saling mendukung dan bersama-sama menciptakan lingkungan hidup yang harmonis dan positif."}, "usage":{"models":[{"output_tokens":94,"model_id":"qwen-max","input_tokens":453}]}, "request_id":"a39fd2b5-7e2c-983e-84a1-1039f726f18a"}%PHP
Permintaan Contoh
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya Anda $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; //{your_plugin_code} harus diganti dengan ID plugin sebenarnya Anda // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Konten konvensi asrama', 'biz_params' => [ 'user_defined_params' => [ '{your_plugin_code}' => [ 'article_index' => 2 ] ] ] ], ]; // Enkode data sebagai JSON $dataString = json_encode($data); // Periksa apakah json_encode berhasil if (json_last_error() !== JSON_ERROR_NONE) { die("JSON encoding gagal dengan kesalahan: " . json_last_error_msg()); } // Inisialisasi sesi curl $ch = curl_init($url); // Set opsi curl curl_setopt($ch, curlOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, curlOPT_POSTFIELDS, $dataString); curl_setopt($ch, curlOPT_RETURNTRANSFER, true); curl_setopt($ch, curlOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $api_key ]); // Eksekusi permintaan $response = curl_exec($ch); // Periksa apakah eksekusi curl berhasil if ($response === false) { die("curl Error: " . curl_error($ch)); } // Dapatkan kode status HTTP $status_code = curl_getinfo($ch, curlINFO_HTTP_CODE); // Tutup sesi curl curl_close($ch); // Dekode data tanggapan $response_data = json_decode($response, true); // Proses tanggapan if ($status_code == 200) { if (isset($response_data['output']['text'])) { echo "{$response_data['output']['text']}\n"; } else { echo "Tidak ada teks dalam tanggapan.\n"; } }else { if (isset($response_data['request_id'])) { echo "request_id={$response_data['request_id']}\n";} echo "code={$status_code}\n"; if (isset($response_data['message'])) { echo "message={$response_data['message']}\n";} else { echo "message=Kesalahan tidak diketahui\n";} } ?>Tanggapan Contoh
Aturan kedua dari konvensi asrama menyatakan: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Ini untuk memastikan bahwa semua orang dapat hidup dan belajar dalam lingkungan yang harmonis dan ramah. Jika Anda perlu mengetahui lebih banyak ketentuan spesifik atau memiliki pertanyaan lain, jangan ragu untuk bertanya kepada saya!Node.js
Dependensi:
npm install axiosPermintaan Contoh
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi sebenarnya Anda const pluginCode = 'YOUR_PLUGIN_CODE';// Ganti dengan ID plugin sebenarnya Anda const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Konten konvensi asrama", biz_params: { user_defined_params: { [pluginCode]: { // article_index adalah variabel untuk plugin kustom, ganti dengan variabel plugin sebenarnya Anda 'article_index': 3 } } } }, parameters: {}, debug: {} }; try { console.log("Mengirim permintaan ke DashScope API..."); const response = await axios.post(url, data, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' } }); if (response.status === 200) { if (response.data.output && response.data.output.text) { console.log(`${response.data.output.text}`); } } else { console.log("Permintaan gagal:"); if (response.data.request_id) { console.log(`request_id=${response.data.request_id}`); } console.log(`code=${response.status}`); if (response.data.message) { console.log(`message=${response.data.message}`); } else { console.log('message=Kesalahan tidak diketahui'); } } } catch (error) { console.error(`Error memanggil DashScope: ${error.message}`); if (error.response) { console.error(`Status tanggapan: ${error.response.status}`); console.error(`Data tanggapan: ${JSON.stringify(error.response.data, null, 2)}`); } } } callDashScope();Tanggapan Contoh
Aturan ketiga dari konvensi asrama adalah sebagai berikut: Perhatikan keselamatan listrik dan hilangkan bahaya kebakaran. Dilarang keras menggunakan api terbuka, peralatan listrik tanpa izin, berbagai kompor dan barang-barang terlarang lainnya di asrama. Jangan menyimpan material peledak atau mudah terbakar atau menyambungkan sumber daya tanpa izin. Jika Anda perlu mengetahui lebih banyak peraturan, silakan beri tahu saya.C#
Permintaan Contoh
using System.Text; class Program { static async Task Main(string[] args) { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY tidak diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi sebenarnya Anda if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan bahwa DASHSCOPE_API_KEY telah diatur."); return; } string url = $"https://dashscope-intl.aliyuncs.com/api/v1/apps/{appId}/completion"; using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}"); string pluginCode = "{your_plugin_code}"; // Ganti {your_plugin_code} dengan ID plugin sebenarnya Anda string jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Konten konvensi asrama"", ""biz_params"": {{ ""user_defined_params"": {{ ""{pluginCode}"": {{ ""article_index"": 2 }} }} }} }}, ""parameters"": {{}}, ""debug"": {{}} }}"; HttpContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); try { HttpResponseMessage response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine("Permintaan berhasil:"); Console.WriteLine(responseBody); } else { Console.WriteLine($"Permintaan gagal dengan kode status: {response.StatusCode}"); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } catch (Exception ex) { Console.WriteLine($"Error memanggil DashScope: {ex.Message}"); } } } }Tanggapan Contoh
{ "output": { "finish_reason": "stop", "session_id": "237ca6187c814f3b9e7461090a5f8b74", "text": "Aturan kedua dari konvensi asrama adalah sebagai berikut: \"Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus.\" Ini menunjukkan bahwa di asrama, anggota perlu menjalin hubungan yang positif satu sama lain, menciptakan lingkungan hidup dan belajar yang harmonis melalui bantuan, kepedulian, dan dukungan timbal balik. Pada saat yang sama, mereka juga harus belajar memahami dan menerima perbedaan antar teman sekamar, dan berkomunikasi dengan sikap tulus. Jika ada ketentuan lain atau konten spesifik yang ingin Anda ketahui, silakan beri tahu saya!" }, "usage": { "models": [ { "output_tokens": 133, "model_id": "qwen-max", "input_tokens": 829 } ] }, "request_id": "64e8c359-d071-9d2e-bb94-187e86cc3a79" }Go
Permintaan Contoh
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "os" ) func main() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya Anda pluginCode := "YOUR_PLUGIN_CODE" // Ganti dengan ID plugin sebenarnya Anda if apiKey == "" { fmt.Println("Pastikan bahwa DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat badan permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Konten konvensi asrama", "biz_params": map[string]interface{}{ "user_defined_params": map[string]interface{}{ pluginCode: map[string]interface{}{ "article_index": 2, }, }, }, }, "parameters": map[string]interface{}{}, "debug": map[string]interface{}{}, } jsonData, err := json.Marshal(requestBody) if err != nil { fmt.Printf("Gagal mengubah JSON: %v\n", err) return } // Buat permintaan HTTP POST req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { fmt.Printf("Gagal membuat permintaan: %v\n", err) return } // Set header permintaan req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") // Kirim permintaan client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Printf("Gagal mengirim permintaan: %v\n", err) return } defer resp.Body.Close() // Baca tanggapan body, err := io.ReadAll(resp.Body) if err != nil { fmt.Printf("Gagal membaca tanggapan: %v\n", err) return } // Proses tanggapan if resp.StatusCode == http.StatusOK { fmt.Println("Permintaan berhasil:") fmt.Println(string(body)) } else { fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode) fmt.Println(string(body)) } }Tanggapan Contoh
{ "output": { "finish_reason": "stop", "session_id": "860d2a4c1f3649ac880298537993cb51", "text": "Aturan kedua dari konvensi asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Ini menekankan bahwa dalam kehidupan asrama, teman sekamar harus menjaga hubungan saling mendukung yang baik sambil juga saling menghormati. Apakah Anda ingin mengetahui ketentuan lainnya?" }, "usage": { "models": [ { "output_tokens": 84, "model_id": "qwen-max", "input_tokens": 876 } ] }, "request_id": "0a250055-90a4-992d-9276-e268ad35d1ab" }Dengan Otentikasi: Aktifkan Authentication dan konfigurasikan User-level Authentication untuk plugin tersebut.
Lihat ID plugin pada kartu plugin.
Gunakan
user_defined_paramsdaribiz_paramsuntuk meneruskan informasi plugin kustom. Gantiyour_plugin_codedengan ID plugin sebenarnya, dan lewatkan pasangan kunci-nilai parameter input.Gunakan
user_defined_tokensdaribiz_paramsuntuk melewati informasi terkait. Gantiyour_plugin_codedengan ID plugin sebenarnya, dan isi informasi otentikasi diuser_token, seperti nilai DASHSCOPE_API_KEY sebenarnya.Setelah otentikasi berhasil dilewati, item spesifik akan diperiksa dan dikembalikan berdasarkan nomor indeks.
Dalam contoh ini, atur
article_indexmenjadi 2, dan ganti nilai dariuser_tokendengan DASHSCOPE_API_KEY sebenarnya. Setelah otentikasi berhasil dilewati, konten konvensi kedua akan diperiksa dan dikembalikan.Python
Permintaan Contoh
from http import HTTPStatus import os # Versi dashscope SDK yang direkomendasikan >= 1.14.0 import dashscope from dashscope import Application dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { # Pass-through otentikasi plugin kustom untuk aplikasi agen, ganti your_plugin_code dengan ID plugin kustom Anda, ganti YOUR_TOKEN dengan informasi otentikasi Anda, seperti Kunci API "user_defined_params": { "your_plugin_code": { "article_index": 2}}, "user_defined_tokens": { "your_plugin_code": { "user_token": "YOUR_TOKEN"}}} response = Application.call( # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', prompt='Konten konvensi asrama', biz_params=biz_params) if response.status_code != HTTPStatus.OK: print(f'request_id={response.request_id}') print(f'code={response.status_code}') print(f'message={response.message}') print(f'Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output.text)) # Proses output teks saja # print('%s\n' % (response.usage))Tanggapan Contoh
Aturan kedua dari konvensi asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Jika Anda perlu mengetahui lebih banyak peraturan, silakan beri tahu saya.Java
Permintaan Contoh
import com.alibaba.dashscope.app.*; import com.alibaba.dashscope.exception.ApiException; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.JsonUtils; import com.alibaba.dashscope.utils.Constants; public class Main { static { Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1"; } public static void appCall() throws NoApiKeyException, InputRequiredException { String bizParams = // Ganti {your_plugin_code} dengan ID plugin sebenarnya Anda, ganti YOUR_TOKEN dengan Token sebenarnya Anda, seperti Kunci API "{\"user_defined_params\":{\"{your_plugin_code}\":{\"article_index\":2}},\"user_defined_tokens\":{\"{your_plugin_code}\":{\"user_token\":\"YOUR_TOKEN\"}}}"; ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") .prompt("Konten konvensi asrama") .bizParams(JsonUtils.parse(bizParams)) .build(); Application application = new Application(); ApplicationResult result = application.call(param); System.out.printf("%s\n", result.getOutput().getText()); } public static void main(String[] args) { try { appCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Exception: %s", e.getMessage()); System.out.println("Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code"); } System.exit(0); } }Tanggapan Contoh
Aturan kedua dari konvensi asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Jika Anda perlu memeriksa lebih banyak peraturan, silakan beri tahu saya.Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya Anda. Ganti your_plugin_code dengan ID plugin kustom Anda. Ganti YOUR_TOKEN dengan token otentikasi Anda.
HTTP
curl
Permintaan Contoh
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion \ --header "Authorization: Bearer $DASHSCOPE_API_KEY" \ --header 'Content-Type: application/json' \ --data '{ "input": { "prompt": "Konten konvensi asrama", "biz_params": { "user_defined_params": { "{your_plugin_code}": { "article_index": 2 } }, "user_defined_tokens": { "{your_plugin_code}": { "user_token": "YOUR_TOKEN" } } } }, "parameters": {}, "debug":{} }'Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya Anda. Ganti your_plugin_code dengan ID plugin kustom Anda. Ganti YOUR_TOKEN dengan token otentikasi Anda.
Tanggapan Contoh
{"output":{"finish_reason":"stop", "session_id":"d3b5c3e269dc40479255a7a02df5c630", "text":"Item kedua dari konvensi asrama adalah: \"Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus.\" Ini menekankan pentingnya hidup berdampingan secara harmonis dan kemajuan bersama di antara anggota dalam kehidupan asrama."}, "usage":{"models":[{"output_tokens":80,"model_id":"qwen-max","input_tokens":432}]}, "request_id":"1f77154c-edc3-9003-b622-816fa2f849cf"}%PHP
Permintaan Contoh
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya Anda $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Konten konvensi asrama', 'biz_params' => [ 'user_defined_params' => [ '{your_plugin_code}' => [//{your_plugin_code} harus diganti dengan ID plugin sebenarnya Anda 'article_index' => 2 ] ], 'user_defined_tokens' => [ '{your_plugin_code}' => [//{your_plugin_code} harus diganti dengan ID plugin sebenarnya Anda 'user_token' => 'YOUR_TOKEN'//Ganti dengan informasi otentikasi sebenarnya Anda, seperti Kunci API ] ] ] ], ]; // Enkode data sebagai JSON $dataString = json_encode($data); // Periksa apakah json_encode berhasil if (json_last_error() !== JSON_ERROR_NONE) { die("JSON encoding gagal dengan kesalahan: " . json_last_error_msg()); } // Inisialisasi sesi curl $ch = curl_init($url); // Set opsi curl curl_setopt($ch, curlOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, curlOPT_POSTFIELDS, $dataString); curl_setopt($ch, curlOPT_RETURNTRANSFER, true); curl_setopt($ch, curlOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $api_key ]); // Eksekusi permintaan $response = curl_exec($ch); // Periksa apakah eksekusi curl berhasil if ($response === false) { die("curl Error: " . curl_error($ch)); } // Dapatkan kode status HTTP $status_code = curl_getinfo($ch, curlINFO_HTTP_CODE); // Tutup sesi curl curl_close($ch); // Dekode data tanggapan $response_data = json_decode($response, true); // Proses tanggapan if ($status_code == 200) { if (isset($response_data['output']['text'])) { echo "{$response_data['output']['text']}\n"; } else { echo "Tidak ada teks dalam tanggapan.\n"; } }else { if (isset($response_data['request_id'])) { echo "request_id={$response_data['request_id']}\n";} echo "code={$status_code}\n"; if (isset($response_data['message'])) { echo "message={$response_data['message']}\n";} else { echo "message=Kesalahan tidak diketahui\n";} } ?>Tanggapan Contoh
Aturan kedua dari konvensi asrama adalah sebagai berikut: > Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Jika Anda perlu mengetahui lebih lanjut tentang konten konvensi atau informasi lainnya, jangan ragu untuk bertanya!Node.js
Dependensi:
npm install axiosPermintaan Contoh
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi sebenarnya Anda const pluginCode = 'YOUR_PLUGIN_CODE';// Ganti dengan ID plugin sebenarnya Anda const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Konten konvensi asrama", biz_params: { user_defined_params: { [pluginCode]: { // article_index adalah variabel untuk plugin kustom, ganti dengan variabel plugin sebenarnya Anda 'article_index': 6 } }, user_defined_tokens: { [pluginCode]: { // YOUR_TOKEN harus diganti dengan informasi otentikasi sebenarnya Anda, seperti Kunci API user_token: 'YOUR_TOKEN' } } } }, parameters: {}, debug: {} }; try { console.log("Mengirim permintaan ke DashScope API..."); const response = await axios.post(url, data, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' } }); if (response.status === 200) { if (response.data.output && response.data.output.text) { console.log(`${response.data.output.text}`); } } else { console.log("Permintaan gagal:"); if (response.data.request_id) { console.log(`request_id=${response.data.request_id}`); } console.log(`code=${response.status}`); if (response.data.message) { console.log(`message=${response.data.message}`); } else { console.log('message=Kesalahan tidak diketahui'); } } } catch (error) { console.error(`Error memanggil DashScope: ${error.message}`); if (error.response) { console.error(`Status tanggapan: ${error.response.status}`); console.error(`Data tanggapan: ${JSON.stringify(error.response.data, null, 2)}`); } } } callDashScope();Tanggapan Contoh
Aturan keenam dari konvensi asrama: Kembangkan kebiasaan hidup yang baik. Setiap anggota asrama memiliki hak untuk beristirahat dan kewajiban untuk memastikan hak istirahat orang lain. Jika Anda perlu mengetahui lebih banyak peraturan, harap tentukan lebih lanjut.C#
Permintaan Contoh
using System.Text; class Program { static async Task Main(string[] args) { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY tidak diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi sebenarnya Anda if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan bahwa DASHSCOPE_API_KEY telah diatur."); return; } string url = $"https://dashscope-intl.aliyuncs.com/api/v1/apps/{appId}/completion"; using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}"); string pluginCode = "your_plugin_code"; // your_plugin_code harus diganti dengan ID plugin sebenarnya Anda // YOUR_TOKEN harus diganti dengan Token sebenarnya Anda, seperti Kunci API string jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Konten konvensi asrama"", ""biz_params"": {{ ""user_defined_params"": {{ ""{pluginCode}"": {{ ""article_index"": 2 }} }}, ""user_defined_tokens"": {{ ""{pluginCode}"": {{ ""user_token"": ""YOUR_TOKEN"" }} }} }} }}, ""parameters"": {{}}, ""debug"": {{}} }}"; HttpContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); try { HttpResponseMessage response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine("Permintaan berhasil:"); Console.WriteLine(responseBody); } else { Console.WriteLine($"Permintaan gagal dengan kode status: {response.StatusCode}"); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } catch (Exception ex) { Console.WriteLine($"Error memanggil DashScope: {ex.Message}"); } } } }Tanggapan Contoh
{ "output": { "finish_reason": "stop", "session_id": "1a1913a9922a401f8eba36df8ea1a062", "text": "Aturan kedua dari konvensi asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, hormat, dan saling memperlakukan dengan tulus. Untuk konten konvensi yang lebih rinci, harap tentukan lebih lanjut." }, "usage": { "models": [ { "output_tokens": 66, "model_id": "qwen-max", "input_tokens": 802 } ] }, "request_id": "04bac806-c5e6-9fab-a846-a66641862be9" }Go
Permintaan Contoh
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "os" ) func main() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya Anda pluginCode := "YOUR_PLUGIN_CODE" // Ganti dengan ID plugin sebenarnya Anda if apiKey == "" { fmt.Println("Pastikan bahwa DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat badan permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Konten konvensi asrama", "biz_params": map[string]interface{}{ "user_defined_params": map[string]interface{}{ pluginCode: map[string]interface{}{ "article_index": 10, }, }, "user_defined_tokens": map[string]interface{}{ pluginCode: map[string]interface{}{ "user_token": "YOUR_USER_TOKEN", // Ganti dengan token otentikasi sebenarnya Anda, seperti Kunci API }, }, }, }, "parameters": map[string]interface{}{}, "debug": map[string]interface{}{}, } jsonData, err := json.Marshal(requestBody) if err != nil { fmt.Printf("Gagal mengubah JSON: %v\n", err) return } // Buat permintaan HTTP POST req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { fmt.Printf("Gagal membuat permintaan: %v\n", err) return } // Set header permintaan req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") // Kirim permintaan client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Printf("Gagal mengirim permintaan: %v\n", err) return } defer resp.Body.Close() // Baca tanggapan body, err := io.ReadAll(resp.Body) if err != nil { fmt.Printf("Gagal membaca tanggapan: %v\n", err) return } // Proses tanggapan if resp.StatusCode == http.StatusOK { fmt.Println("Permintaan berhasil:") fmt.Println(string(body)) } else { fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode) fmt.Println(string(body)) } }Tanggapan Contoh
{ "output": { "finish_reason": "stop", "session_id": "b8e051ba7e954ff8919208e7b84430fa", "text": "Aturan kesepuluh dari konvensi asrama menyatakan bahwa anggota asrama harus bekerja sama untuk menciptakan dan memelihara lingkungan asrama yang bersih, rapi, indah, dan berbudaya. Jika Anda perlu memahami konten konvensi asrama lengkap, Anda mungkin perlu memeriksa ketentuan lainnya atau langsung berkonsultasi dengan departemen manajemen asrama. Apakah ada bagian tertentu yang ingin Anda ketahui lebih lanjut?" }, "usage": { "models": [ { "output_tokens": 70, "model_id": "qwen-max", "input_tokens": 855 } ] }, "request_id": "0921ee34-2754-9616-a826-cea33a0e0a14" }
Parameter node kustom
Topik ini menggunakan kueri wilayah administratif kota sebagai contoh untuk menunjukkan cara melewati parameter node kustom saat memanggil aplikasi.
Parameter node kustom dilewatkan melalui node Mulai dari Workflow Application atau melalui Node Aplikasi dari Agent Orchestration Application.
Contoh berikut menunjukkan cara melewati parameter kustom ke node Mulai dari Workflow Application.
Cara menggunakan
Langkah 1: Parameter node kustom
Pergi ke My Applications. Pilih atau buat Workflow Application dan sesuaikan parameter dari Node Mulai.
Lihat contoh di bawah ini untuk melewati parameter kota. Di Node Mulai, atur variabel tipe String city, sisipkan variabel kota dan query di Prompt, dan klik Publish untuk menerbitkan aplikasi tersebut.

Langkah 2: Gunakan API
Saat memanggil, lewatkan kota melalui bidang biz_params dan lewatkan query melalui bidang prompt.
Python
Permintaan Contoh
import os
from http import HTTPStatus
import dashscope
from dashscope import Application
# Pass-through parameter kustom untuk aplikasi alur kerja dan orkestrasi agen
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
biz_params = {"city": "Hangzhou"}
response = Application.call(
# Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='YOUR_APP_ID', # Ganti dengan ID aplikasi sebenarnya Anda
prompt='Kueri divisi administratif kota ini',
biz_params=biz_params # Lewati parameter bisnis
)
if response.status_code != HTTPStatus.OK:
print(f'request_id={response.request_id}')
print(f'code={response.status_code}')
print(f'message={response.message}')
print(f'Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code')
else:
print(f'{response.output.text}') # Proses output teks sajaTanggapan Contoh
Hangzhou, sebagai ibu kota Provinsi Zhejiang, memiliki 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki karakteristik unik dan fokus pengembangan masing-masing.
- Distrik Shangcheng: Terletak di area pusat Hangzhou, ini adalah salah satu pusat politik, ekonomi, dan budaya Hangzhou.
- Distrik Gongshu: Dikenal dengan budaya kanal, memiliki banyak situs warisan budaya dan sejarah.
- Distrik Danau Barat: Area pemandangan terkenal Danau Barat terletak di distrik ini, menjadikannya tujuan wisata penting.
- Distrik Binjiang: Klaster industri teknologi tinggi, rumah bagi perusahaan seperti Alibaba.
- Distrik Xiaoshan: Distrik administratif di tenggara, dengan perkembangan ekonomi pesat, terutama di manufaktur.
- Distrik Yuhang: Berkembang pesat dalam beberapa tahun terakhir, terutama di sektor ekonomi internet, dengan kantor pusat Alibaba terletak di sini (Catatan: Kantor pusat Alibaba sebenarnya berada di Distrik Binjiang).
- Distrik Linping: Distrik administratif baru yang dibentuk, bertujuan untuk mendorong perkembangan ekonomi dan sosial komprehensif di wilayah tersebut.
- Distrik Qiantang: Juga hasil penyesuaian pembagian administratif baru-baru ini, menekankan kombinasi antara pengembangan inovatif dan perlindungan ekologis.
- Distrik Fuyang: Terletak di barat daya Hangzhou, dikenal dengan lanskap alam yang kaya dan sejarah serta budaya panjang.
- Distrik Lin'an: Terletak di barat Hangzhou, dikenal dengan ekologi yang indah dan warisan budaya yang mendalam.
Harap dicatat bahwa perencanaan kota tertentu dapat berubah seiring waktu, jadi merujuk pada informasi resmi terbaru.Java
Permintaan Contoh
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void appCall() throws NoApiKeyException, InputRequiredException {
String bizParams =
"{\"city\":\"Hangzhou\"}";
ApplicationParam param = ApplicationParam.builder()
// Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("YOUR_APP_ID")
.prompt("Kueri divisi administratif kota ini")
.bizParams(JsonUtils.parse(bizParams))
.build();
Application application = new Application();
ApplicationResult result = application.call(param);
System.out.printf("%s\n",
result.getOutput().getText());
}
public static void main(String[] args) {
try {
appCall();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.printf("Exception: %s", e.getMessage());
System.out.println("Silakan merujuk ke dokumentasi: https://www.alibabacloud.com/help/id/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}Tanggapan Contoh
Hangzhou adalah ibu kota Provinsi Zhejiang, dan pembagian administratifnya terutama mencakup 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki karakteristik dan fokus pengembangan masing-masing.
- Distrik Shangcheng: Terletak di pusat Hangzhou, dengan banyak situs warisan budaya dan sejarah.
- Distrik Gongshu: Terkenal dengan budaya Kanal Besar, dan juga merupakan area komersial dan perumahan penting.
- Distrik Danau Barat: Dikenal dengan pemandangan alam yang indah, termasuk area pemandangan terkenal Danau Barat.
- Distrik Binjiang: Dikenal dengan perkembangan industri teknologi tinggi, di mana Zona Pengembangan Industri Teknologi Tinggi Nasional Hangzhou berada.
- Distrik Xiaoshan: Perkembangan ekonomi pesat, terutama menonjol dalam manufaktur.
- Distrik Yuhang: Berkembang pesat dalam beberapa tahun terakhir dengan perkembangan perusahaan teknologi tinggi seperti Alibaba.
- Distrik Linping: Disesuaikan dari bagian Distrik Yuhang asli pada tahun 2021, berfokus pada konstruksi ekologis dan inovasi teknologi.
- Distrik Qiantang: Juga didirikan pada tahun 2021, diposisikan sebagai hub transportasi baru dan dataran pengembangan industri tinggi di timur Hangzhou.
- Distrik Fuyang: Kota bersejarah dan budaya dengan sejarah panjang, juga merupakan basis penting untuk industri kertas.
- Distrik Lin'an: Terletak di barat Hangzhou, dengan cakupan hutan tinggi dan lingkungan ekologi yang baik.
Area-area ini bersama-sama membentuk pola geografis unik Hangzhou dan struktur sosial-ekonomi. Jika Anda tertarik pada area tertentu atau memerlukan informasi lebih rinci, silakan beri tahu saya!HTTP
curl
Permintaan Contoh
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Kueri divisi administratif kota ini",
"biz_params": {
"city": "Hangzhou"}
},
"parameters": {}
}'
Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya Anda.
Tanggapan Contoh
{"output":{"finish_reason":"stop","session_id":"c211219896004b50a1f6f66f2ec5413e",
"text":"Hangzhou memiliki 10 distrik, 1 kabupaten, dan mengelola 2 kota tingkat kabupaten, yaitu:
Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an, Kabupaten Tonglu, Kabupaten Chun'an, Kota Jiande, dan Kota Zhuji.
Perhatikan bahwa Kota Zhuji secara langsung dikelola oleh Provinsi Zhejiang dan dikelola bersama oleh Hangzhou dan Shaoxing."},"usage":{},
"request_id":"02c3c9e1-7912-9505-91aa-248d04fb1f5d"}PHP
Permintaan Contoh
<?php
# Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Konstruksi data permintaan
$data = [
"input" => [
'prompt' => 'Kueri divisi administratif kota ini',
'biz_params' => [
'city' => 'Hangzhou'
]
],
];
// Enkode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding gagal dengan kesalahan: " . json_last_error_msg());
}
// Inisialisasi sesi curl
$ch = curl_init($url);
// Set opsi curl
curl_setopt($ch, curlOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, curlOPT_POSTFIELDS, $dataString);
curl_setopt($ch, curlOPT_RETURNTRANSFER, true);
curl_setopt($ch, curlOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $api_key
]);
// Eksekusi permintaan
$response = curl_exec($ch);
// Periksa apakah eksekusi curl berhasil
if ($response === false) {
die("curl Error: " . curl_error($ch));
}
// Dapatkan kode status HTTP
$status_code = curl_getinfo($ch, curlINFO_HTTP_CODE);
// Tutup sesi curl
curl_close($ch);
// Dekode data tanggapan
$response_data = json_decode($response, true);
// Proses tanggapan
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "Tidak ada teks dalam tanggapan.\n";
}
} else {
if (isset($response_data['request_id'])) {
echo "request_id={$response_data['request_id']}\n";
}
echo "code={$status_code}\n";
if (isset($response_data['message'])) {
echo "message={$response_data['message']}\n";
} else {
echo "message=Kesalahan tidak diketahui\n";
}
}Tanggapan Contoh
Hangzhou adalah ibu kota Provinsi Zhejiang, dan pembagian administratifnya terutama mencakup 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an.
Setiap distrik memiliki karakteristik dan fokus pengembangan masing-masing, misalnya:
- **Distrik Shangcheng** dan **Distrik Gongshu** terletak di pusat Hangzhou, dengan perdagangan yang ramai dan sejarah panjang.
- **Distrik Danau Barat** terkenal dengan pemandangan alam yang indah, termasuk area pemandangan terkenal Danau Barat.
- **Distrik Binjiang** dikenal dengan perkembangan industri teknologi tinggi.
- **Distrik Xiaoshan**, **Distrik Yuhang**, dan lainnya adalah area perkotaan baru atau zona pengembangan ekonomi yang muncul dengan cepat seiring dengan perkembangan kota dalam beberapa tahun terakhir.
- **Distrik Lin'an**, **Distrik Fuyang**, dan area lainnya mempertahankan lebih banyak lanskap alami dan fitur pedesaan.
Harap dicatat bahwa pembagian administratif Tiongkok dapat berubah sesuai dengan kebijakan nasional, jadi harap peroleh informasi terbaru melalui saluran resmi.Node.js
Dependensi:
npm install axiosPermintaan Contoh
const axios = require('axios');
async function callDashScope() {
// Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Kueri divisi administratif kota ini",
biz_params: {
'city': 'Hangzhou',
},
},
parameters: {},
debug: {},
};
try {
console.log("Mengirim permintaan ke DashScope API...");
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
if (response.data.output && response.data.output.text) {
console.log(`${response.data.output.text}`);
}
} else {
console.log("Permintaan gagal:");
if (response.data.request_id) {
console.log(`request_id=${response.data.request_id}`);
}
console.log(`code=${response.status}`);
if (response.data.message) {
console.log(`message=${response.data.message}`);
} else {
console.log('message=Kesalahan tidak diketahui');
}
}
} catch (error) {
console.error(`Error memanggil DashScope: ${error.message}`);
if (error.response) {
console.error(`Status tanggapan: ${error.response.status}`);
console.error(`Data tanggapan: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
Tanggapan Contoh
Hangzhou adalah ibu kota Provinsi Zhejiang, dan pembagian administratifnya mencakup 10 distrik. Secara spesifik:
1. Distrik Shangcheng (Shàngchéng Qū): Terletak di bagian tenggara Hangzhou, ini adalah salah satu area tertua dengan warisan budaya terdalam di Hangzhou.
2. Distrik Gongshu (Gǒngshù Qū): Distrik baru yang dibentuk dari penggabungan Distrik Xiacheng dan Gongshu asli, terletak di bagian utara Hangzhou.
3. Distrik Danau Barat (Xīhú Qū): Terkenal dengan situs Warisan Budaya Dunia Danau Barat, dengan lanskap alam dan budaya yang kaya.
4. Distrik Binjiang (Bīnjiāng Qū): Terletak di tepi selatan Sungai Qiantang, ini adalah klaster industri teknologi tinggi.
5. Distrik Xiaoshan (Xiāoshān Qū): Terletak di bagian timur Hangzhou, ini adalah salah satu basis manufaktur penting di Tiongkok.
6. Distrik Yuhang (Yúháng Qū): Dulunya adalah rumah bagi Linping, salah satu dari empat kota terkenal di Tiongkok, yang sekarang menjadi zona pengembangan ekonomi penting di Hangzhou.
7. Distrik Fuyang (Fùyáng Qū): Terletak di bagian barat daya Hangzhou, dinamai setelah Sungai Fuchun yang mengalir melewatinya.
8. Distrik Lin'an (Lín'ān Qū): Terletak di area pegunungan barat Hangzhou, dikenal dengan pemandangan alam yang indah.
9. Distrik Qiantang (Qiántáng Qū): Didirikan pada tahun 2021, dibentuk dari klaster industri Dajiang Timur dan bagian Distrik Xiaoshan, bertujuan untuk mendorong pengembangan timur Hangzhou.
10. Distrik Linping (Lín Píng Qū): Divisi administratif baru yang dipisahkan dari Distrik Yuhang, terutama mencakup area seperti Jalan Linping di Distrik Yuhang.
Informasi di atas mencerminkan situasi hingga pembaruan terakhir saya. Harap dicatat bahwa pembagian administratif dapat berubah, jadi silakan merujuk pada pengumuman resmi terbaru.C#
Permintaan Contoh
using System.Text;
class Program
{
static async Task Main(string[] args)
{
//Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY tidak diatur.");
string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi sebenarnya Anda
string url = $"https://dashscope-intl.aliyuncs.com/api/v1/apps/{appId}/completion";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
string jsonContent = @"{
""input"": {
""prompt"": ""Kueri divisi administratif kota ini"",
""biz_params"":{
""city"":""Hangzhou""
}
},
""parameters"": {},
""debug"": {}
}";
HttpContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
try
{
HttpResponseMessage response = await client.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Permintaan berhasil:");
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"Permintaan gagal dengan kode status: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error memanggil DashScope: {ex.Message}");
}
}
}
}Tanggapan Contoh
{
"output": {
"finish_reason": "stop",
"session_id": "7a9ff57eec7d475fa5d487de5f5178d2",
"text": "Hangzhou adalah ibu kota Provinsi Zhejiang, dan memiliki 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki lokasi geografis dan karakteristik pengembangan uniknya sendiri. Sebagai contoh, Distrik Danau Barat dikenal dengan pemandangan alam yang indah, terutama Danau Barat yang terkenal; sementara Distrik Binjiang lebih dikenal dengan perkembangan industri teknologi tinggi. Selain itu, seiring dengan perkembangan kota, pembagian administratif juga dapat disesuaikan, jadi harap perhatikan informasi terbaru yang dirilis oleh sumber resmi."
},
"usage": {
},
"request_id": "d2c2fcc9-f821-98c9-9430-8704a2a41225"
}Go
Permintaan Contoh
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, tidak disarankan untuk mengkode keras Kunci API langsung ke kode dalam lingkungan produksi untuk mengurangi risiko kebocoran Kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya Anda
if apiKey == "" {
fmt.Println("Pastikan bahwa DASHSCOPE_API_KEY telah diatur.")
return
}
url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId)
// Buat badan permintaan
requestBody := map[string]interface{}{
"input": map[string]interface{}{
"prompt": "Kueri divisi administratif kota ini",
"biz_params": map[string]interface{}{
"city": "Hangzhou",
},
},
"parameters": map[string]interface{}{},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Gagal mengubah JSON: %v\n", err)
return
}
// Buat permintaan HTTP POST
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Gagal membuat permintaan: %v\n", err)
return
}
// Set header permintaan
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// Kirim permintaan
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Gagal mengirim permintaan: %v\n", err)
return
}
defer resp.Body.Close()
// Baca tanggapan
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Gagal membaca tanggapan: %v\n", err)
return
}
// Proses tanggapan
if resp.StatusCode == http.StatusOK {
fmt.Println("Permintaan berhasil:")
fmt.Println(string(body))
} else {
fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Tanggapan Contoh
{
"output": {
"finish_reason": "stop",
"session_id": "2dc3e1a9dcd248c6bb9ca92bffc3e745",
"text": "Hangzhou, disingkat \"Hang\", adalah ibu kota Provinsi Zhejiang. Menurut penyesuaian pembagian administratif terbaru, Hangzhou sekarang memiliki 10 distrik, 2 kota tingkat kabupaten, dan 1 kabupaten, secara spesifik:
- Distrik (10): Distrik Shangcheng, Distrik Gongshu, Distrik Danau Barat, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, Distrik Lin'an.
- Kota tingkat kabupaten (2): Kota Jiande, Kabupaten Tonglu (perhatikan bahwa Tonglu sebenarnya diperlakukan sebagai kota tingkat kabupaten di sini, tetapi secara ketat sebenarnya adalah kabupaten).
- Kabupaten (1): Kabupaten Chun'an.
Harap dicatat bahwa wilayah administratif dapat berubah seiring waktu, jadi harap merujuk pada pengumuman resmi terbaru. Informasi di atas dikompilasi berdasarkan materi yang relatif baru. Untuk perubahan terbaru, disarankan untuk mengunjungi situs web resmi pemerintah untuk mendapatkan informasi yang paling akurat."
},
"usage": {
},
"request_id": "d3c8f368-b645-9446-bfe4-20ca51821a02"
}