Isi permintaan app_idstring(wajib) ID Aplikasi. Dapatkan ID aplikasi dari kartu aplikasi di halaman Manajemen Aplikasi.
Dalam SDK Java, ini adalah appId. Saat memanggil melalui HTTP, masukkan ID aplikasi aktual Anda di URL, menggantikan APP_ID.
promptstring(wajib) Masukan pengguna yang memandu aplikasi dalam menghasilkan respons.
Saat memanggil melalui HTTP, masukkan prompt dalam objek input.
session_idstring (opsional) Pengidentifikasi riwayat percakapan. Saat Anda meneruskan session_id, permintaan secara otomatis menyertakan riwayat percakapan yang disimpan di cloud. Dalam kasus ini, Anda harus meneruskan prompt. Kedaluwarsa setelah 1 jam tidak aktif.
Dalam SDK Java, ini adalah setSessionId. Saat memanggil melalui HTTP, masukkan session_id dalam objek input.
messagesarray(opsional) Konteks percakapan yang diteruskan ke model diatur secara kronologis. Saat menggunakan parameter messages untuk percakapan multi-putaran, Anda tidak perlu menyertakan prompt atau session_id. Jika Anda meneruskan session_id dan messages, model akan menggunakan konten dalam messages serta mengabaikan session_id dan prompt.
Saat memanggil melalui HTTP, masukkan messages dalam objek input.
Untuk menggunakan parameter ini, versi SDK Dashscope Python Anda minimal 1.20.14, dan versi SDK Dashscope Java Anda minimal 2.17.0.
Jenis pesan Pesan Sistemobject (opsional) Pesan sistem yang menetapkan peran, nada, tujuan tugas, atau batasan model. Biasanya ditempatkan pertama dalam array messages. Properti contentstring(wajib) Instruksi sistem yang menentukan peran, pedoman perilaku, gaya respons, dan batasan tugas model. rolestring(wajib) Peran pesan sistem, tetap sebagai system. Pesan Penggunaobject(wajib) Pesan pengguna yang meneruskan pertanyaan, instruksi, atau konteks ke model. Properti contentstring(wajib) Konten pesan. Properti textstring(wajib) Teks masukan. rolestring(wajib) Peran pesan pengguna, tetap sebagai user. Pesan Asistenobject (opsional) Respons model, biasanya digunakan sebagai konteks yang dikembalikan ke model dalam percakapan multi-putaran. Properti contentstring(wajib) Konten teks respons model. rolestring(wajib) Peran pesan asisten, tetap sebagai assistant. workspace string (opsional) Pengidentifikasi ruang bisnis. Dokumentasi terkait: Dapatkan ID Ruang Kerja. Anda hanya perlu meneruskan ID workspace saat memanggil aplikasi dalam sub-workspace.
Saat memanggil melalui HTTP, tentukan header X-DashScope-WorkSpace.
stream boolean (opsional) Nilai default adalah False Aktifkan keluaran streaming. Atur ke True untuk meningkatkan pengalaman membaca dan mengurangi risiko timeout. Nilai parameter:
False (default): Model mengembalikan semua konten sekaligus setelah generasi selesai.
True (direkomendasikan): Model mengeluarkan konten saat menghasilkan, mengembalikan potongan data setiap kali menghasilkan konten baru. Anda harus membaca potongan ini secara real-time untuk menyusun respons lengkap.
Untuk mengimplementasikan keluaran streaming dengan SDK Java, gunakan antarmuka streamCall. Untuk mengimplementasikan keluaran streaming melalui HTTP, atur header X-DashScope-SSE ke enable.
incremental_output boolean (opsional) Nilai default adalah False Aktifkan keluaran inkremental dalam mode streaming. Atur ke True untuk meningkatkan pengalaman membaca. Nilai parameter:
False (default): Setiap keluaran berisi seluruh urutan yang dihasilkan sejauh ini. Keluaran akhir adalah hasil lengkap.
I
I like
I like apple
I like apple.
True (direkomendasikan): Keluaran inkremental. Keluaran berikutnya tidak menyertakan konten yang telah dikeluarkan sebelumnya. Anda harus membaca segmen-segmen ini secara real-time untuk mendapatkan hasil lengkap.
I
like
apple
.
Dalam SDK Java, ini adalah incrementalOutput. Saat memanggil melalui HTTP, masukkan incremental_output dalam objek parameters.
flow_stream_mode string (opsional) Nilai default adalah full_thoughts Mode keluaran streaming untuk Workflow Application. Nilai parameter:
-
message_format (direkomendasikan):
Mengeluarkan hasil dari node yang ditentukan (baik node Output atau node End) dalam field message.
PentingDi aplikasi konsol, aktifkan sakelar Stream untuk node target agar mengembalikan hasil dalam mode streaming. Jika dinonaktifkan, hasil akhir node dikembalikan sekaligus.
Dalam SDK Java, ini adalah FlowStreamMode.MESSAGE_FORMAT.
-
full_thoughts (default):
Mengeluarkan hasil dari semua node dalam field thoughts.
PentingSaat menggunakan mode ini, Anda juga harus mengatur parameter has_thoughts ke True.
Dalam SDK Java, ini adalah FlowStreamMode.FULL_THOUGHTS.
-
agent_format:
Mengeluarkan hasil dari node yang ditentukan (node LLM atau node akhir) dalam field text.
Di aplikasi konsol, aktifkan sakelar Response untuk node target agar mengembalikan hasil dalam mode streaming.
PentingJangan gunakan mode ini dengan node paralel, karena dapat menyebabkan pencampuran konten. Pastikan node yang diaktifkan memiliki urutan eksekusi yang jelas.
Dalam SDK Java, ini adalah FlowStreamMode.AGENT_FORMAT.
Versi SDK Python Anda minimal 1.24.0, dan versi SDK Java Anda minimal 2.21.0. Saat memanggil melalui HTTP, masukkan flow_stream_mode dalam objek parameters.
biz_paramsobject (opsional) Gunakan field ini untuk meneruskan parameter saat aplikasi Anda menggunakan variabel kustom, node, atau plug-in.
Dalam SDK Java, ini adalah bizParams. Saat memanggil melalui HTTP, masukkan biz_params dalam objek input.
Untuk Workflow Application, teruskan variabel kustom untuk node awal secara langsung, contoh: biz_params = {"city": "Hangzhou"}
Untuk Agent Application, teruskan variabel prompt atau variabel plug-in menggunakan field berikut: Properti user_defined_params object (opsional) Informasi parameter plug-in kustom. Plug-in yang ditambahkan dalam aplikasi tidak boleh duplikat, maksimal 10 plug-in. Properti tool_idstring (opsional) ID Plug-in, tersedia di kartu plug-in. ${plugin_params}string (opsional) Objek paling dalam berisi beberapa pasangan kunci-nilai. Setiap pasangan kunci-nilai merepresentasikan nama parameter yang ditentukan pengguna dan nilainya. Contoh: "article_index": 2
Langkah penggunaan:
- Asosiasikan plug-in yang ditentukan dengan aplikasi Anda dan Publish aplikasi.
- Teruskan informasi plug-in melalui parameter ini selama pemanggilan API.
Anda dapat memberikan beberapa pasangan kunci-nilai, di mana setiap kunci adalah TOOL_ID plug-in dan nilai adalah objek parameter yang dibutuhkan plug-in tersebut. Contoh: "user_defined_params": {
"<TOOL_ID>": {
"article_index": 2},
"<TOOL_ID>": {
"article_index": 8}
}
user_defined_tokens object (opsional) Informasi otentikasi tingkat pengguna untuk plug-in kustom. Plug-in yang ditambahkan dalam aplikasi tidak boleh duplikat, maksimal 10 plug-in. Properti tool_idstring (opsional) ID Plug-in, tersedia di kartu plug-in. Teruskan melalui field <TOOL_ID>. user_token string (opsional) Teruskan informasi otentikasi pengguna yang dibutuhkan plug-in ini, seperti nilai aktual DASHSCOPE_API_KEY. Langkah penggunaan:
- Asosiasikan plug-in yang ditentukan dengan aplikasi Anda dan Publish aplikasi.
- Teruskan informasi otentikasi tingkat pengguna plug-in melalui parameter ini selama pemanggilan API.
Anda dapat memberikan beberapa pasangan kunci-nilai, di mana setiap kunci adalah TOOL_ID plug-in dan nilai adalah objek user_token. has_thoughts boolean (opsional) Nilai default adalah False Proses pemanggilan plug-in dan pengambilan basis pengetahuan, ditampilkan dalam field thoughts. Nilai parameter:
- True: Keluaran disertakan.
- False (default): Keluaran tidak disertakan.
Dalam SDK Java, ini adalah hasThoughts. Saat memanggil melalui HTTP, masukkan has_thoughts dalam objek parameters.
rag_options object (opsional) Digunakan untuk mengonfigurasi parameter terkait pengambilan, termasuk tetapi tidak terbatas pada mengambil basis pengetahuan atau dokumen tertentu. CatatanHanya Agent Application yang mendukung parameter ini.
Dalam SDK Java, ini adalah ragOptions. Saat memanggil melalui HTTP, masukkan rag_optionsdalam objek parameters.
Properti pipeline_ids array(wajib) Daftar yang berisi satu atau lebih ID basis pengetahuan. Maksimal 5. Mengambil semua dokumen dalam basis pengetahuan yang ditentukan. Cara mendapatkan:
- Basis Pengetahuan untuk mendapatkan ID basis pengetahuan;
- Atau melalui API CreateIndex (hanya mendukung basis pengetahuan tak terstruktur), yang mengembalikan
Data.Id.
Dalam SDK Java, ini adalah pipelineIds.
file_idsarray(opsional) Daftar yang berisi satu atau lebih ID dokumen tak terstruktur. Maksimal 5. Mengambil dokumen tak terstruktur dalam basis pengetahuan yang ditentukan. Saat meneruskan ID dokumen, Anda juga harus meneruskan ID basis pengetahuan yang dimiliki dokumen-dokumen ini dalam field pipeline_ids. Cara mendapatkan:
Dalam SDK Java, ini adalah fileIds.
metadata_filterobject (opsional) Digunakan untuk memfilter dokumen tak terstruktur berdasarkan metadata. Dengan menentukan satu atau lebih pasangan kunci-nilai, ambil dokumen tak terstruktur dalam basis pengetahuan yang ditentukan yang memiliki metadata ini. Prasyarat: Saat meneruskan metadata, Anda juga harus meneruskan ID basis pengetahuan yang dimiliki metadata ini dalam field pipeline_ids. Cara melihat:
- Kunjungi halaman Basis Pengetahuan, klik View DetailsMetadata Information di kartu basis pengetahuan untuk melihat.
- Atau melalui API ListChunks untuk mendapatkan.
Objek ini terdiri dari satu atau lebih pasangan kunci-nilai: Logika kombinasi: Kunci berbeda menggunakan logika "DAN". Misalnya, "author": "John.Doe", "source": ["internal_wiki", "public_docs"] berarti memfilter dokumen yang ditulis oleh "John.Doe" DAN bersumber dari "internal_wiki" ATAU "public_docs".
Dalam SDK Java, ini adalah metadataFilter.
tags array (opsional) Daftar yang berisi satu atau lebih tag untuk dokumen tak terstruktur. Anda dapat mengambil dokumen tak terstruktur dengan tag ini. Cara melihat: | Percakapan satu putaranPythonContoh permintaanimport os
from http import HTTPStatus
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
response = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID',# Ganti dengan ID aplikasi aktual Anda
prompt='Siapa kamu?')
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'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
else:
print(response.output.text)
JavaContoh permintaan// Kami merekomendasikan versi SDK dashscope >= 2.12.0
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.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void appCall()
throws ApiException, NoApiKeyException, InputRequiredException {
ApplicationParam param = ApplicationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("APP_ID")
.prompt("Siapa kamu?")
.build();
Application application = new Application();
ApplicationResult result = application.call(param);
System.out.printf("text: %s\n",
result.getOutput().getText());
}
public static void main(String[] args) {
try {
appCall();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("message: "+e.getMessage());
System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
HTTPcurlContoh permintaancurl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Siapa kamu?"
},
"parameters": {},
"debug": {}
}'
Ganti APP_ID dengan ID aplikasi aktual Anda.
PHPContoh permintaan<?php
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Siapa kamu?'
]
];
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel 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);
// Decode data respons
$response_data = json_decode($response, true);
// Tangani respons
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "No text in response.\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=Unknown error\n";}
}
?>
Node.jsInstal dependensi yang diperlukan:npm install axios
Contoh permintaanconst axios = require('axios');
async function callDashScope() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';// Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Siapa kamu?"
},
parameters: {},
debug: {}
};
try {
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
console.log(`${response.data.output.text}`);
} else {
console.log(`request_id=${response.headers['request_id']}`);
console.log(`code=${response.status}`);
console.log(`message=${response.data.message}`);
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
C#Contoh permintaanusing System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");
string appId = "APP_ID"; // Ganti dengan ID aplikasi aktual 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"": ""Siapa kamu?""
},
""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("Request successful:");
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
GoContoh permintaanpackage main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
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]string{
"prompt": "Siapa kamu?",
},
"parameters": map[string]interface{}{},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel 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("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
// Baca respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Failed to read response: %v\n", err)
return
}
// Tangani respons
if resp.StatusCode == http.StatusOK {
fmt.Println("Request successful:")
fmt.Println(string(body))
} else {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Percakapan multi-putaranAktifkan percakapan multi-putaran menggunakan session_id atau messages. PythonContoh permintaanimport os
from http import HTTPStatus
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
def call_with_session():
response = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID', # Ganti dengan ID aplikasi aktual Anda
prompt='Siapa kamu?')
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'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
return response
responseNext = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID', # Ganti dengan ID aplikasi aktual Anda
prompt='Apa saja kemampuanmu?',
session_id=response.output.session_id) # session_id dari respons sebelumnya
if responseNext.status_code != HTTPStatus.OK:
print(f'request_id={responseNext.request_id}')
print(f'code={responseNext.status_code}')
print(f'message={responseNext.message}')
print(f'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
else:
print('%s\n session_id=%s\n' % (responseNext.output.text, responseNext.output.session_id))
# print('%s\n' % (response.usage))
if __name__ == '__main__':
call_with_session()
JavaContoh permintaanimport com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import java.util.Arrays;
import java.util.List;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void callWithSession()
throws ApiException, NoApiKeyException, InputRequiredException {
ApplicationParam param = ApplicationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Ganti dengan ID aplikasi aktual Anda
.appId("APP_ID")
.prompt("Siapa kamu?")
.build();
Application application = new Application();
ApplicationResult result = application.call(param);
param.setSessionId(result.getOutput().getSessionId());
param.setPrompt("Apa saja kemampuanmu?");
result = application.call(param);
System.out.printf("%s\n session_id: %s\n",
result.getOutput().getText(), result.getOutput().getSessionId());
}
public static void main(String[] args) {
try {
callWithSession();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.printf("Exception: %s", e.getMessage());
System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
HTTPcurlContoh permintaan (putaran percakapan sebelumnya)curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Siapa kamu?"
},
"parameters": {},
"debug": {}
}'
Contoh permintaan (putaran berikutnya)curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Apa saja kemampuanmu?",
"session_id":"4f8ef7233dc641aba496cb201fa59f8c"
},
"parameters": {},
"debug": {}
}'
PHPContoh permintaan (putaran percakapan sebelumnya)<?php
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Siapa kamu?'
]
];
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel 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);
// Decode data respons
$response_data = json_decode($response, true);
// Tangani respons
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "No text in response.\n";
};
if (isset($response_data['output']['session_id'])) {
echo "session_id={$response_data['output']['session_id']}\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=Unknown error\n";}
}
?>
Contoh permintaan (putaran berikutnya)<?php
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Apa saja kemampuanmu?',
// Ganti dengan session_id aktual yang dikembalikan dari percakapan sebelumnya
'session_id' => '2e658bcb514f4d30ab7500b4766a8d43'
]
];
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel 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);
// Decode data respons
$response_data = json_decode($response, true);
// Tangani respons
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "No text in response.\n";
};
if (isset($response_data['output']['session_id'])) {
echo "session_id={$response_data['output']['session_id']}\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=Unknown error\n";}
}
?>
Node.jsInstal dependensi yang diperlukan:npm install axios
Contoh permintaan (percakapan sebelumnya)const axios = require('axios');
async function callDashScope() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';// Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Siapa kamu?"
},
parameters: {},
debug: {}
};
try {
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
console.log(`${response.data.output.text}`);
console.log(`session_id=${response.data.output.session_id}`);
} else {
console.log(`request_id=${response.headers['request_id']}`);
console.log(`code=${response.status}`);
console.log(`message=${response.data.message}`);
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
Contoh permintaan (putaran berikutnya)const axios = require('axios');
async function callDashScope() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';// Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
// Ganti session_id dengan session_id aktual dari percakapan sebelumnya
const data = {
input: {
prompt: "Apa saja kemampuanmu?",
session_id: 'fe4ce8b093bf46159ea9927a7b22f0d3',
},
parameters: {},
debug: {}
};
try {
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
console.log(`${response.data.output.text}`);
console.log(`session_id=${response.data.output.session_id}`);
} else {
console.log(`request_id=${response.headers['request_id']}`);
console.log(`code=${response.status}`);
console.log(`message=${response.data.message}`);
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
C#Contoh permintaan (putaran pertama)using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");
string appId = "APP_ID"; // Ganti dengan ID aplikasi aktual 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"": ""Siapa kamu?""
},
""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("Request successful:");
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
Contoh permintaan (putaran berikutnya)using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");
string appId = "APP_ID"; // Ganti dengan ID aplikasi aktual 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"": ""Apa saja kemampuanmu?"",
""session_id"": ""7b830e4cc8fe44faad0e648f9b71435f""
},
""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("Request successful:");
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
GoContoh permintaan (putaran percakapan sebelumnya)package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
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]string{
"prompt": "Siapa kamu?",
},
"parameters": map[string]interface{}{},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel 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("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
// Baca respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Failed to read response: %v\n", err)
return
}
// Tangani respons
if resp.StatusCode == http.StatusOK {
fmt.Println("Request successful:")
fmt.Println(string(body))
} else {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Contoh permintaan (putaran berikutnya)package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
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]string{
"prompt": "Apa saja kemampuanmu?",
"session_id": "f7eea37f0c734c20998a021b688d6de2", // Ganti dengan session_id aktual dari percakapan sebelumnya
},
"parameters": map[string]interface{}{},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel 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("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
// Baca respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Failed to read response: %v\n", err)
return
}
// Tangani respons
if resp.StatusCode == http.StatusOK {
fmt.Println("Request successful:")
fmt.Println(string(body))
} else {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Ganti APP_ID dengan ID aplikasi aktual Anda. Ganti nilai session_id pada parameter input putaran berikutnya dengan nilai session_id aktual yang dikembalikan dari percakapan sebelumnya.
Meneruskan parameterPass parameter kustom menggunakan biz_params. PythonContoh permintaanimport os
from http import HTTPStatus
# Kami merekomendasikan versi SDK dashscope >= 1.14.0
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
biz_params = {
# Pass parameter input plug-in kustom untuk aplikasi agent. Ganti <TOOL_ID> dengan ID plug-in kustom Anda.
"user_defined_params": {
"<TOOL_ID>": {
"article_index": 2}}}
response = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID',
prompt='Konten aturan 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'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
else:
print('%s\n' % (response.output.text)) # Proses untuk hanya menampilkan teks
# print('%s\n' % (response.usage))
JavaContoh permintaanimport 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 parameter input plug-in kustom untuk aplikasi agent. Ganti <TOOL_ID> dengan ID plug-in kustom Anda.
"{\"user_defined_params\":{\"<TOOL_ID>\":{\"article_index\":2}}}";
ApplicationParam param = ApplicationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("APP_ID")
.prompt("Konten aturan 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("Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
HTTPcurlContoh permintaancurl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Konten aturan asrama",
"biz_params":
{
"user_defined_params":
{
"<TOOL_ID>":
{
"article_index": 2
}
}
}
},
"parameters": {},
"debug":{}
}'
Ganti APP_ID dengan ID aplikasi aktual Anda. Ganti <TOOL_ID> dengan ID plug-in Anda.
PHPContoh permintaan<?php
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
//Ganti <TOOL_ID> dengan ID plug-in aktual Anda
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Konten aturan asrama',
'biz_params' => [
'user_defined_params' => [
'<TOOL_ID>' => [
'article_index' => 2
]
]
]
],
];
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel 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);
// Decode data respons
$response_data = json_decode($response, true);
// Tangani respons
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "No text in response.\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=Unknown error\n";}
}
?>
Node.jsInstal dependensi yang diperlukan:npm install axios
Contoh permintaanconst axios = require('axios');
async function callDashScope() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';// Ganti dengan ID aplikasi aktual Anda
const pluginCode = 'TOOL_ID';// Ganti dengan ID plug-in aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Konten aturan asrama",
biz_params: {
user_defined_params: {
[pluginCode]: {
// article_index adalah variabel untuk plug-in kustom. Ganti dengan variabel plug-in aktual Anda.
'article_index': 3
}
}
}
},
parameters: {},
debug: {}
};
try {
console.log("Sending request to 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("Request failed:");
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=Unknown error');
}
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
C#Contoh permintaanusing System.Text;
class Program
{
static async Task Main(string[] args)
{
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");;
string appId = "APP_ID";// Ganti dengan ID aplikasi aktual Anda
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("Make sure DASHSCOPE_API_KEY is set.");
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 = "TOOL_ID"; // Ganti TOOL_ID dengan ID plug-in aktual Anda
string jsonContent = $@"{{
""input"": {{
""prompt"": ""Konten aturan 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("Request successful:");
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
GoContoh permintaanpackage main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
pluginCode := "TOOL_ID" // Ganti dengan ID plug-in aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
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 aturan 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("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel 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("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
// Baca respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Failed to read response: %v\n", err)
return
}
// Tangani respons
if resp.StatusCode == http.StatusOK {
fmt.Println("Request successful:")
fmt.Println(string(body))
} else {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Keluaran streamingAktifkan keluaran streaming menggunakan stream. PythonContoh permintaanimport os
from http import HTTPStatus
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
responses = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID',
prompt='Siapa kamu?',
stream=True, # Keluaran streaming
incremental_output=True) # Keluaran inkremental
for response in responses:
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'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
else:
print(f'{response.output.text}\n') # Proses untuk hanya menampilkan teks
JavaContoh permintaan// Kami merekomendasikan versi SDK dashscope >= 2.15.0
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import io.reactivex.Flowable;// Keluaran streaming
// Implementasi keluaran streaming untuk panggilan aplikasi agent
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void streamCall() throws NoApiKeyException, InputRequiredException {
ApplicationParam param = ApplicationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Ganti dengan ID aplikasi aktual Anda
.appId("APP_ID")
.prompt("Siapa kamu?")
// Keluaran inkremental
.incrementalOutput(true)
.build();
Application application = new Application();
// .streamCall(): konten keluaran streaming
Flowable<ApplicationResult> result = application.streamCall(param);
result.blockingForEach(data -> {
System.out.printf("%s\n",
data.getOutput().getText());
});
}
public static void main(String[] args) {
try {
streamCall();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.printf("Exception: %s", e.getMessage());
System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
HTTPcurlContoh permintaancurl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-SSE: enable' \
--data '{
"input": {
"prompt": "Siapa kamu?"
},
"parameters": {
"incremental_output":true
},
"debug": {}
}'
Ganti APP_ID dengan ID aplikasi aktual Anda.
PHPContoh permintaan<?php
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Siapa kamu?'],
"parameters" => [
'incremental_output' => true]];// Keluaran inkremental
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel opsi cURL
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // Jangan mengembalikan data transfer
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function ($ch, $string) {
echo $string; // Tangani data streaming
return strlen($string);
});
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $api_key,
'X-DashScope-SSE: enable' // Keluaran streaming
]);
// 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);
if ($status_code != 200) {
echo "HTTP Status Code: $status_code\n";
echo "Request Failed.\n";
}
?>
Node.jsInstal dependensi yang diperlukan:npm install axios
Contoh permintaan1. Keluaran respons lengkap const axios = require('axios');
async function callDashScope() {
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';// Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Siapa kamu?"
},
parameters: {
'incremental_output' : 'true' // Keluaran inkremental
},
debug: {}
};
try {
console.log("Sending request to DashScope API...");
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
'X-DashScope-SSE': 'enable' // Keluaran streaming
},
responseType: 'stream' // Untuk menangani respons streaming
});
if (response.status === 200) {
// Tangani respons streaming
response.data.on('data', (chunk) => {
console.log(`Received chunk: ${chunk.toString()}`);
});
} else {
console.log("Request failed:");
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=Unknown error');
}
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
Perluas panel yang dapat dilipat untuk melihat konten spesifik: 2. Tampilkan hanya konten bidang teks const axios = require('axios');
const { Transform } = require('stream');
async function callDashScope() {
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: { prompt: "Siapa kamu?" },
parameters: { incremental_output: true }, // Keluaran inkremental
debug: {}
};
try {
console.log("Sending request to DashScope API...");
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
'X-DashScope-SSE': 'enable' // Keluaran streaming
},
responseType: 'stream' // Untuk menangani respons streaming
});
if (response.status === 200) {
// // Tangani transformasi aliran parsing protokol SSE respons streaming
const sseTransformer = new Transform({
transform(chunk, encoding, callback) {
this.buffer += chunk.toString();
// Pisahkan berdasarkan event SSE (dua baris baru)
const events = this.buffer.split(/\n\n/);
this.buffer = events.pop() || ''; // Simpan bagian yang tidak lengkap
events.forEach(eventData => {
const lines = eventData.split('\n');
let textContent = '';
// Parsing konten event
lines.forEach(line => {
if (line.startsWith('data:')) {
try {
const jsonData = JSON.parse(line.slice(5).trim());
if (jsonData.output?.text) {
textContent = jsonData.output.text;
}
} catch(e) {
console.error('JSON parsing error:', e.message);
}
}
});
if (textContent) {
// Tambahkan baris baru dan push
this.push(textContent + '\n');
}
});
callback();
},
flush(callback) {
if (this.buffer) {
this.push(this.buffer + '\n');
}
callback();
}
});
sseTransformer.buffer = '';
// Pemrosesan pipa
response.data
.pipe(sseTransformer)
.on('data', (textWithNewline) => {
process.stdout.write(textWithNewline); // Keluaran otomatis membungkus
})
.on('end', () => console.log(""))
.on('error', err => console.error("Pipe error:", err));
} else {
console.log("Request failed, status code:", response.status);
response.data.on('data', chunk => console.log(chunk.toString()));
}
} catch (error) {
console.error(`API call failed: ${error.message}`);
if (error.response) {
console.error(`Status code: ${error.response.status}`);
error.response.data.on('data', chunk => console.log(chunk.toString()));
}
}
}
callDashScope();
C#Contoh permintaanusing System.Net;
using System.Text;
class Program
{
static async Task Main(string[] args)
{
//Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");
string appId = "APP_ID"; // Ganti dengan ID aplikasi aktual Anda
string url = $"https://dashscope.aliyuncs.com/api/v1/apps/{appId}/completion";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
client.DefaultRequestHeaders.Add("X-DashScope-SSE", "enable");
string jsonContent = @"{
""input"": {
""prompt"": ""Siapa kamu""
},
""parameters"": {""incremental_output"": true},
""debug"": {}
}";
HttpContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
try
{
var request = new HttpRequestMessage(HttpMethod.Post, url);
request.Content = content;
HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Request successful:");
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
using (var stream = await response.Content.ReadAsStreamAsync())
using (var reader = new StreamReader(stream))
{
string? line; // Deklarasikan sebagai string nullable
while ((line = await reader.ReadLineAsync()) != null)
{
if (line.StartsWith("data:"))
{
string data = line.Substring(5).Trim();
Console.WriteLine(data);
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
}
}
}
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
GoContoh permintaanpackage main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"strings"
"time"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
return
}
url := fmt.Sprintf("https://dashscope.aliyuncs.com/api/v1/apps/%s/completion", appId)
// Buat badan permintaan, di mana incremental_output mengaktifkan respons streaming
requestBody := map[string]interface{}{
"input": map[string]string{
"prompt": "Siapa kamu?",
},
"parameters": map[string]interface{}{
"incremental_output": true,
},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel header permintaan, di mana X-DashScope-SSE diatur ke enable untuk respons streaming
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-DashScope-SSE", "enable")
// Kirim permintaan
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
return
}
// Tangani respons streaming
reader := io.Reader(resp.Body)
buf := make([]byte, 1024)
for {
n, err := reader.Read(buf)
if n > 0 {
data := string(buf[:n])
lines := strings.Split(data, "\n")
for _, line := range lines {
line = strings.TrimSpace(line)
if len(line) >= 5 && line[:5] == "data:" {
timestamp := time.Now().Format("2006-01-02 15:04:05.000")
fmt.Printf("%s: %s\n", timestamp, line[5:])
} else if len(line) > 0 {
fmt.Println(line)
}
}
}
if err != nil {
if err == io.EOF {
break
}
fmt.Printf("Error reading response: %v\n", err)
break
}
}
}
Pengambilan basis pengetahuanSaat memanggil Agent Application, gunakan rag_options untuk mengaktifkan pengambilan basis pengetahuan. PythonContoh permintaanimport os
from http import HTTPStatus
# Kami merekomendasikan versi SDK dashscope >= 1.20.11
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
response = Application.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='APP_ID', # Ganti APP_ID dengan ID aplikasi Anda
prompt='Tolong rekomendasikan ponsel di bawah 3000 yuan',
rag_options={
"pipeline_ids": ["PIPELINE_ID1","PIPELINE_ID2"], # Ganti dengan ID basis pengetahuan aktual Anda, dipisahkan koma untuk beberapa
}
)
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'Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code')
else:
print('%s\n' % (response.output.text)) # Proses untuk hanya menampilkan teks
# print('%s\n' % (response.usage))
JavaContoh permintaan// Kami merekomendasikan versi SDK dashscope >= 2.16.8;
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import java.util.Arrays;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void streamCall() throws NoApiKeyException, InputRequiredException {
ApplicationParam param = ApplicationParam.builder()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("APP_ID") // Ganti dengan ID aplikasi aktual Anda
.prompt("Tolong rekomendasikan ponsel sekitar 3000 yuan")
.ragOptions(RagOptions.builder()
// Ganti dengan ID basis pengetahuan aktual yang ditentukan, dipisahkan koma untuk beberapa
.pipelineIds(Arrays.asList("PIPELINES_ID1", "PIPELINES_ID2"))
.build())
.build();
Application application = new Application();
ApplicationResult result = application.call(param);
System.out.printf("%s\n",
result.getOutput().getText());// Proses untuk hanya menampilkan teks
}
public static void main(String[] args) {
try {
streamCall();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.printf("Exception: %s", e.getMessage());
System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
HTTPcurlContoh permintaancurl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/{APP_ID}/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "Tolong rekomendasikan ponsel di bawah 3000 yuan"
},
"parameters": {
"rag_options" : {
"pipeline_ids":["PIPELINE_ID1"]}
},
"debug": {}
}'
Ganti APP_ID dengan ID aplikasi aktual Anda dan PIPELINE_ID1 dengan ID basis pengetahuan yang ditentukan.
PHPContoh permintaan<?php
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan $api_key="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'APP_ID'; // Ganti dengan ID aplikasi aktual Anda
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Buat data permintaan
$data = [
"input" => [
'prompt' => 'Tolong rekomendasikan ponsel di bawah 3000 yuan'
],
"parameters" => [
'rag_options' => [
'pipeline_ids' => ['PIPELINE_ID1','PIPELINE_ID2']//Ganti dengan ID basis pengetahuan yang ditentukan, dipisahkan koma untuk beberapa
]
]
];
// Encode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("JSON encoding failed with error: " . json_last_error_msg());
}
// Inisialisasi sesi cURL
$ch = curl_init($url);
// Setel 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);
// Decode data respons
$response_data = json_decode($response, true);
// Tangani respons
if ($status_code == 200) {
if (isset($response_data['output']['text'])) {
echo "{$response_data['output']['text']}\n";
} else {
echo "No text in response.\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=Unknown error\n";}
}
?>
Node.jsInstal dependensi yang diperlukan:npm install axios
Contoh permintaanconst axios = require('axios');
async function callDashScope() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey='sk-xxx' menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'APP_ID';//Ganti dengan ID aplikasi aktual Anda
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
input: {
prompt: "Tolong rekomendasikan ponsel di bawah 3000 yuan"
},
parameters: {
rag_options:{
pipeline_ids:['PIPELINE_ID1','PIPELINE_ID2'] // Ganti dengan ID basis pengetahuan yang ditentukan, dipisahkan koma untuk beberapa
}
},
debug: {}
};
try {
const response = await axios.post(url, data, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (response.status === 200) {
console.log(`${response.data.output.text}`);
} else {
console.log(`request_id=${response.headers['request_id']}`);
console.log(`code=${response.status}`);
console.log(`message=${response.data.message}`);
}
} catch (error) {
console.error(`Error calling DashScope: ${error.message}`);
if (error.response) {
console.error(`Response status: ${error.response.status}`);
console.error(`Response data: ${JSON.stringify(error.response.data, null, 2)}`);
}
}
}
callDashScope();
C#Contoh permintaanusing System.Text;
class Program
{
static async Task Main(string[] args)
{
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey="sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("DASHSCOPE_API_KEY environment variable is not set.");;
string appId = "APP_ID";// Ganti dengan ID aplikasi aktual Anda
// Ganti PIPELINE_ID1 dengan ID basis pengetahuan yang ditentukan
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("Make sure DASHSCOPE_API_KEY is set.");
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 jsonContent = $@"{{
""input"": {{
""prompt"": ""Tolong rekomendasikan ponsel di bawah 3000 yuan""
}},
""parameters"": {{
""rag_options"" : {{
""pipeline_ids"":[""PIPELINE_ID1""]
}}
}},
""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(responseBody);
}
else
{
Console.WriteLine($"Request failed with status code: {response.StatusCode}");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error calling DashScope: {ex.Message}");
}
}
}
}
GoContoh permintaanpackage main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda. Namun, jangan hard code kunci API Anda langsung di kode untuk lingkungan produksi guna mengurangi risiko kebocoran kunci API.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "APP_ID" // Ganti dengan ID aplikasi aktual Anda
if apiKey == "" {
fmt.Println("Make sure DASHSCOPE_API_KEY is set.")
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]string{
"prompt": "Tolong rekomendasikan ponsel di bawah 3000 yuan",
},
"parameters": map[string]interface{}{
"rag_options": map[string]interface{}{
"pipeline_ids": []string{"PIPELINE_ID1"}, // Ganti dengan ID basis pengetahuan yang ditentukan
},
},
"debug": map[string]interface{}{},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
fmt.Printf("Failed to marshal JSON: %v\n", err)
return
}
// Buat permintaan POST HTTP
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Printf("Failed to create request: %v\n", err)
return
}
// Setel 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("Failed to send request: %v\n", err)
return
}
defer resp.Body.Close()
// Baca respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Failed to read response: %v\n", err)
return
}
// Tangani respons
if resp.StatusCode == http.StatusOK {
fmt.Println("Request successful:")
fmt.Println(string(body))
} else {
fmt.Printf("Request failed with status code: %d\n", resp.StatusCode)
fmt.Println(string(body))
}
}
Lihat informasi proses pengambilan: Tambahkan has_thoughts ke kode Anda dan atur ke True. Informasi proses pengambilan akan dikembalikan di field output pada field thoughts. |