Anda dapat mengintegrasikan aplikasi agen, alur kerja, atau orkestrasi agen dari Model Studio ke dalam sistem bisnis Anda melalui SDK DashScope atau HTTP.
Prasyarat
Anda telah memperoleh Kunci API.
Anda telah membuat Aplikasi Model Studio dan memperoleh ID aplikasi (APP_ID) di halaman Aplikasi Saya.
Gunakan SDK DashScope atau antarmuka HTTP untuk memanggil aplikasi Model Studio. Persiapkan lingkungan Anda sebelum melanjutkan.
Tidak peduli metode pemanggilan yang digunakan, kami sarankan Anda konfigurasikan Kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK DashScope, Anda juga harus instal SDK DashScope.
Cara menggunakan
Percakapan satu putaran
Kode contoh untuk SDK DashScope atau metode HTTP untuk mengimplementasikan percakapan satu putaran.
Python
Permintaan contoh
import 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 variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='YOUR_APP_ID',# Ganti dengan ID aplikasi yang sebenarnya
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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code')
else:
print(response.output.text)Tanggapan contoh
Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, bernama Qwen. Saya dirancang untuk membantu pengguna menghasilkan berbagai jenis teks, seperti artikel, cerita, puisi, cerita, dll., dan dapat disesuaikan serta dioptimalkan sesuai dengan skenario dan kebutuhan yang berbeda. Selain itu, saya juga dapat menjawab berbagai pertanyaan, memberikan informasi dan penjelasan, serta membantu dalam pembelajaran dan penelitian. Jika Anda memiliki kebutuhan apa pun, jangan ragu untuk bertanya kepada saya kapan saja!Java
Permintaan contoh
// Versi SDK dashscope yang direkomendasikan >= 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 variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("YOUR_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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}Tanggapan contoh
text: Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, bernama Qwen.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": "Siapa kamu?"
},
"parameters": {},
"debug": {}
}' Ganti YOUR_APP_ID dengan ID aplikasi yang sebenarnya.
Tanggapan contoh
{"output":{"finish_reason":"stop",
"session_id":"232ea2e9e6ef448db6b14465c06a9a56",
"text":"Saya adalah model bahasa berskala sangat besar yang dikembangkan oleh Alibaba Cloud, dan nama saya adalah Qwen. Saya adalah asisten AI yang dapat menjawab pertanyaan, membuat teks, menyatakan pendapat, dan bahkan menulis kode. Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk memberi tahu saya, dan saya akan melakukan yang terbaik untuk memberikan bantuan yang Anda butuhkan."},
"usage":{"models":[{"output_tokens":51,"model_id":"qwen-max","input_tokens":121}]},
"request_id":"661c9cad-e59c-9f78-a262-78eff243f151"}% PHP
Permintaan contoh
<?php
# Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan API Key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi Anda yang sebenarnya
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Konstruksi data permintaan
$data = [
"input" => [
'prompt' => 'Siapa kamu?'
]
];
// Enkode data sebagai JSON
$dataString = json_encode($data);
// Periksa apakah json_encode berhasil
if (json_last_error() !== JSON_ERROR_NONE) {
die("Pengkodean JSON 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
]);
// Jalankan permintaan
$response = curl_exec($ch);
// Periksa apakah eksekusi curl berhasil
if ($response === false) {
die("Kesalahan curl: " . 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);
// Tangani 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 dikenal\n";}
}
?>Tanggapan contoh
Saya adalah model bahasa berskala sangat besar yang dikembangkan oleh Alibaba Cloud, dan nama saya adalah Qwen.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'. Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi yang sebenarnya
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(`Kesalahan saat 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
Saya adalah model bahasa berskala besar yang dikembangkan oleh Alibaba Cloud, dan nama saya adalah Qwen.C#
Permintaan contoh
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
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 yang sebenarnya
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("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($"Kesalahan saat memanggil DashScope: {ex.Message}");
}
}
}
}Tanggapan contoh
{
"output": {
"finish_reason": "stop",
"session_id": "c274e14a58d9492f9baeffdc003a97c5",
"text": "Saya adalah model bahasa berskala sangat besar yang dikembangkan oleh Alibaba Cloud, dan nama saya adalah Qwen. Saya dirancang untuk membantu pengguna menghasilkan berbagai jenis teks, seperti artikel, cerita, puisi, dll., dan dapat beradaptasi serta berinovasi sesuai dengan skenario dan kebutuhan yang berbeda. Selain itu, saya mampu menjawab berbagai macam pertanyaan, memberikan informasi dan penjelasan, serta membantu pengguna memecahkan masalah dan mendapatkan pengetahuan. Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk memberi tahu saya kapan saja!"
},
"usage": {
"models": [
{
"output_tokens": 79,
"model_id": "qwen-plus",
"input_tokens": 74
}
]
},
"request_id": "5c4b86b1-cd2d-9847-8d00-3fba8f187bc6"
}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". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi yang sebenarnya
if apiKey == "" {
fmt.Println("Pastikan 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]string{
"prompt": "Siapa kamu?",
},
"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
}
// Atur 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": "6105c965c31b40958a43dc93c28c7a59",
"text": "Saya adalah Qwen, asisten AI yang dikembangkan oleh Alibaba Cloud. Saya dirancang untuk menjawab berbagai pertanyaan, memberikan informasi, dan terlibat dalam percakapan dengan pengguna. Apakah ada hal yang bisa saya bantu?"
},
"usage": {
"models": [
{
"output_tokens": 36,
"model_id": "qwen-plus",
"input_tokens": 74
}
]
},
"request_id": "f97ee37d-0f9c-9b93-b6bf-bd263a232bf9"
}Percakapan multi-putaran
Dalam percakapan multi-putaran, LLM dapat merujuk pada riwayat percakapan, sehingga lebih mirip dengan skenario komunikasi sehari-hari.
Saat ini, hanya aplikasi agen dan aplikasi alur kerja dialog yang mendukung percakapan multi-putaran.
Ketika Anda memasukkan
session_id, permintaan secara otomatis membawa riwayat percakapan yang disimpan di cloud.Ketika memasukkan
session_id,promptdiperlukan.Anda juga dapat memilih untuk memelihara array
messages. Tambahkan setiap putaran riwayat percakapan dan instruksi baru ke dalam arraymessages. Kemudian, lewatkan riwayat melaluimessages.Ketika memasukkan
messages,promptbersifat opsional. Jika keduanya dimasukkan,promptakan ditambahkan ke akhirmessagessebagai informasi tambahan.
Jika baiksession_idmaupunmessagesdimasukkan,messagesakan digunakan terlebih dahulu.
Penyimpanan awan (session_id)
Python
Permintaan contoh
import 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 variabel lingkungan tidak dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='YOUR_APP_ID', # Ganti dengan ID aplikasi aktual
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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code')
return response
responseNext = Application.call(
# Jika variabel lingkungan tidak dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='YOUR_APP_ID', # Ganti dengan ID aplikasi aktual
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: https://www.alibabacloud.com/help/en/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()Respons contoh
Saya memiliki beberapa kemampuan dan dapat membantu Anda dengan berbagai tugas. Berikut adalah beberapa kemampuan utama saya:
1. **Pengambilan informasi**: Menyediakan cuaca, berita, fakta sejarah, pengetahuan ilmiah, dan berbagai informasi lainnya.
2. **Pemrosesan bahasa**: Menerjemahkan teks, memperbaiki kesalahan tata bahasa, menghasilkan artikel dan cerita.
3. **Pemecahan masalah teknis**: Menjawab pertanyaan pemrograman, penggunaan perangkat lunak, pemecahan masalah teknis, dll.
4. **Bantuan pendidikan**: Membantu menjawab pertanyaan dalam mata pelajaran seperti matematika, fisika, kimia, dll.
5. **Saran kehidupan**: Memberikan saran tentang kesehatan, diet, perjalanan, belanja, dll.
6. **Interaksi hiburan**: Menceritakan lelucon, bermain game kata, terlibat dalam interaksi obrolan sederhana.
7. **Manajemen jadwal**: Mengingatkan tanggal penting, mengatur jadwal, menyetel pengingat.
8. **Analisis data**: Menjelaskan bagan data, memberikan saran analisis data.
9. **Dukungan emosional**: Mendengarkan perasaan Anda, memberikan kenyamanan dan dukungan.
Jika Anda memiliki kebutuhan atau pertanyaan tertentu, Anda bisa memberi tahu saya langsung, dan saya akan melakukan yang terbaik untuk membantu Anda!
session_id=98ceb3ca0c4e4b05a20a00f913050b42Java
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 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 variabel lingkungan tidak dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Ganti dengan ID aplikasi aktual
.appId("YOUR_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("Pengecualian: %s", e.getMessage());
System.out.println("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}Respons contoh
Saya memiliki beberapa kemampuan dan dapat memberikan berbagai jenis bantuan. Berikut adalah beberapa kemampuan utama saya:
1. **Pemahaman dan pembuatan multibahasa**: Saya dapat memahami dan menghasilkan teks dalam beberapa bahasa termasuk Cina dan Inggris.
2. **Pengambilan dan sintesis informasi**: Saya dapat mencari informasi relevan berdasarkan pertanyaan Anda dan mengorganisir serta meringkasnya.
3. **Bantuan penulisan**: Baik itu menulis artikel, laporan, atau penulisan kreatif, saya dapat memberikan dukungan.
4. **Asisten pemrograman**: Untuk programmer, saya dapat membantu menjawab pertanyaan terkait pemrograman, memberikan contoh kode, dll.
5. **Panduan pendidikan**: Saat menghadapi kesulitan dalam proses belajar, saya dapat bertindak sebagai asisten untuk memberikan bantuan, mencakup banyak bidang subjek dari matematika hingga sejarah.
6. **Saran kehidupan**: Saya juga dapat memberikan beberapa saran tentang masalah terkait pola makan sehat, perencanaan perjalanan, dll.
7. **Komunikasi emosional**: Meskipun saya adalah AI, saya berusaha untuk berkomunikasi dengan Anda dengan cara yang hangat dan mendukung.
Jika Anda memiliki kebutuhan atau ingin mempelajari lebih lanjut tentang aspek tertentu, jangan ragu untuk memberi tahu saya!
, session_id: f2e94a980a34424fa25be45a7048d77cHTTP
curl
Permintaan contoh (putaran 1)
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": "Siapa kamu?"
},
"parameters": {},
"debug": {}
}' Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "4f8ef7233dc641aba496cb201fa59f8c",
"text": "Saya adalah Qwen, asisten AI yang dikembangkan oleh Alibaba Cloud. Saya dirancang untuk menjawab berbagai pertanyaan, menyediakan informasi, dan terlibat dalam percakapan dengan pengguna. Apakah ada hal yang dapat saya bantu?"
},
"usage": {
"models": [
{
"output_tokens": 36,
"model_id": "qwen-plus",
"input_tokens": 75
}
]
},
"request_id": "e571b14a-423f-9278-8d1e-d86c418801e0"
}Permintaan contoh (putaran 2)
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": "Apa saja kemampuanmu?",
"session_id":"4f8ef7233dc641aba496cb201fa59f8c"
},
"parameters": {},
"debug": {}
}' Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "4f8ef7233dc641aba496cb201fa59f8c",
"text": "Sebagai asisten AI, saya memiliki beberapa kemampuan yang dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:
1. **Kueri pengetahuan**: Saya dapat membantu Anda menemukan informasi di berbagai bidang seperti sains, sejarah, budaya, teknologi, dll.
2. **Terjemahan bahasa**: Saya dapat membantu Anda menerjemahkan teks dalam berbagai bahasa, mendukung penerjemahan antara beberapa bahasa.
3. **Pembuatan teks**: Saya dapat menghasilkan artikel, cerita, puisi, siaran pers, dan berbagai jenis teks lainnya.
4. **Tanya jawab**: Baik itu pertanyaan akademik, pengetahuan umum, atau masalah teknis, saya dapat mencoba memberikan jawaban untuk Anda.
5. **Pertukaran percakapan**: Saya dapat berbicara dengan Anda secara alami dan lancar, memberikan dukungan emosional atau hiburan.
6. **Penulisan dan debugging kode**: Saya dapat membantu Anda menulis kode dan memecahkan masalah dalam pemrograman.
7. **Analisis data**: Saya dapat membantu Anda menganalisis data, memberikan hasil statistik dan saran visualisasi.
8. **Inspirasi kreatif**: Jika Anda membutuhkan inspirasi kreatif, seperti desain, salinan iklan, strategi pemasaran, dll., Saya juga dapat memberikan bantuan.
Jika Anda memiliki kebutuhan atau pertanyaan tertentu, jangan ragu untuk memberi tahu saya kapan saja!"
},
"usage": {
"models": [
{
"output_tokens": 208,
"model_id": "qwen-plus",
"input_tokens": 125
}
]
},
"request_id": "9de2c3ed-e1f0-9963-85f4-8f289203418b"
}PHP
Permintaan contoh (putaran 1)
<?php
# Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Konstruksi data permintaan
$data = [
"input" => [
'prompt' => 'Siapa kamu?'
]
];
// 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 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 "Tidak ada teks dalam respons.\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=Kesalahan tidak diketahui\n";
}
}
?>
Respons contoh
Saya adalah model bahasa besar dari Alibaba Cloud, nama saya adalah Qwen.
session_id=2e658bcb514f4d30ab7500b4766a8d43Permintaan contoh (putaran 2)
<?php
# Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Konstruksi data permintaan
$data = [
"input" => [
'prompt' => 'Apa saja kemampuanmu?',
// Ganti dengan session_id yang dikembalikan dari percakapan putaran sebelumnya
'session_id' => '2e658bcb514f4d30ab7500b4766a8d43'
]
];
// 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 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 "Tidak ada teks dalam respons.\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=Kesalahan tidak diketahui\n";
}
}
?>
Respons contoh
Saya memiliki beberapa kemampuan, termasuk tetapi tidak terbatas pada:
1. **Kemampuan multibahasa**: Saya dapat memahami dan menghasilkan konten teks dalam beberapa bahasa.
2. **Penulisan dan pembuatan**: Membantu menulis artikel, cerita, puisi, dan konten kreatif lainnya.
3. **Tanya jawab pengetahuan**: Menjawab pertanyaan umum dan profesional dari berbagai bidang.
4. **Penulisan dan pemahaman kode**: Dapat menulis kode program sederhana, dan membantu menjelaskan atau memperbaiki kode.
5. **Penalaran logis**: Memecahkan masalah dan teka-teki yang memerlukan pemikiran logis.
6. **Dukungan emosional**: Memberikan dukungan psikologis positif dan dorongan.
7. **Permainan dan hiburan**: Berpartisipasi dalam permainan kata atau bentuk lain dari aktivitas interaktif hiburan.
Tujuan saya adalah menjadi asisten Anda yang cakap, memberikan bantuan dan dukungan saat Anda membutuhkannya. Jika Anda memiliki kebutuhan atau fitur tertentu yang ingin Anda coba, jangan ragu untuk memberi tahu saya!
session_id=2e658bcb514f4d30ab7500b4766a8d43Node.js
Dependensi:
npm install axiosPermintaan contoh (putaran 1)
const axios = require('axios');
async function callDashScope() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi aktual
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();Respons contoh
Saya adalah Qwen, asisten kecerdasan buatan yang dikembangkan oleh Alibaba Cloud. Saya dapat menjawab berbagai pertanyaan, menyediakan informasi, dan terlibat dalam percakapan dengan pengguna. Apakah ada hal yang dapat saya bantu?
session_id=fe4ce8b093bf46159ea9927a7b22f0d3Permintaan contoh (putaran 2)
const axios = require('axios');
async function callDashScope() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi aktual
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();Respons contoh
Saya memiliki berbagai kemampuan yang dapat membantu Anda menangani tugas dan pertanyaan yang berbeda. Berikut adalah beberapa area kemampuan utama saya:
1. **Kueri informasi dan pengambilan**: Saya dapat membantu menemukan informasi, data, atau berita spesifik.
2. **Penulisan dan pembuatan**: Termasuk menulis artikel, cerita, puisi, laporan, dll.
3. **Terjemahan bahasa**: Dapat memberikan layanan terjemahan antara bahasa yang berbeda.
4. **Bimbingan pendidikan**: Menjawab pertanyaan akademik, membantu memahami konsep kompleks.
5. **Dukungan teknis**: Memecahkan masalah teknis yang dihadapi dalam penggunaan komputer.
6. **Saran kehidupan**: Memberikan saran tentang kesehatan, diet, perjalanan, dan aspek lainnya.
7. **Interaksi hiburan**: Menceritakan lelucon, bermain game kata, dan aktivitas santai lainnya.
Jika Anda memiliki kebutuhan spesifik atau ingin mempelajari lebih lanjut tentang aspek tertentu, silakan beri tahu saya!
session_id=fe4ce8b093bf46159ea9927a7b22f0d3C#
Permintaan contoh (putaran 1)
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");
string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi aktual
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("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 calling DashScope: {ex.Message}");
}
}
}
}Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "7b830e4cc8fe44faad0e648f9b71435f",
"text": "Saya adalah Qwen, asisten AI yang dikembangkan oleh Alibaba Cloud. Saya dirancang untuk menjawab berbagai pertanyaan, menyediakan informasi, dan terlibat dalam percakapan dengan pengguna. Apakah ada hal yang dapat saya bantu?"
},
"usage": {
"models": [
{
"output_tokens": 36,
"model_id": "qwen-plus",
"input_tokens": 75
}
]
},
"request_id": "53691ae5-be17-96c6-a830-8f0f92329028"
}Permintaan contoh (putaran 2)
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
//Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");
string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi aktual
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("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 calling DashScope: {ex.Message}");
}
}
}
}Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "7b830e4cc8fe44faad0e648f9b71435f",
"text": "Saya memiliki beberapa kemampuan dan dapat:
- Menjawab pertanyaan pengetahuan dari berbagai bidang
- Menyediakan sumber belajar dan saran
- Membantu dengan masalah teknis
- Berkomunikasi dalam beberapa bahasa
- Membantu merencanakan perjalanan dan aktivitas
- Memberikan saran praktis untuk kehidupan sehari-hari
Jika Anda memiliki kebutuhan atau pertanyaan tertentu, jangan ragu untuk memberi tahu saya!"
},
"usage": {
"models": [
{
"output_tokens": 70,
"model_id": "qwen-plus",
"input_tokens": 123
}
]
},
"request_id": "da5044ed-461e-9e91-8ca5-38a3c72a8306"
}Go
Permintaan contoh (putaran 1)
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual
if apiKey == "" {
fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.")
return
}
url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId)
// Buat body 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("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 respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Gagal membaca respons: %v\n", err)
return
}
// Proses respons
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))
}
}
Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "f7eea37f0c734c20998a021b688d6de2",
"text": "Saya adalah Qwen, asisten AI yang dikembangkan oleh Alibaba Cloud. Saya dirancang untuk menjawab berbagai pertanyaan, menyediakan informasi, dan terlibat dalam percakapan dengan pengguna. Apakah ada hal yang dapat saya bantu?"
},
"usage": {
"models": [
{
"output_tokens": 36,
"model_id": "qwen-plus",
"input_tokens": 75
}
]
},
"request_id": "fa65e14a-ab63-95b2-aa43-035bf5c51835"
}Permintaan contoh (putaran 2)
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual
if apiKey == "" {
fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.")
return
}
url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId)
// Buat body 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("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 respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Gagal membaca respons: %v\n", err)
return
}
// Proses respons
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))
}
}
Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "f7eea37f0c734c20998a021b688d6de2",
"text": "Saya memiliki beberapa kemampuan dan dapat:
- Menjawab berbagai pertanyaan pengetahuan di bidang seperti sains, sejarah, budaya, dll.
- Memberikan saran praktis, seperti tips perjalanan, tips kesehatan, metode belajar, dll.
- Membantu dengan pekerjaan teks, seperti menulis artikel, mengedit dokumen, menciptakan cerita atau puisi.
- Melakukan terjemahan multibahasa, mendukung terjemahan antara beberapa bahasa.
- Melakukan percakapan alami dan lancar dengan pengguna, menemani mereka, menjawab pertanyaan.
Jika Anda memiliki kebutuhan tertentu, jangan ragu untuk memberi tahu saya!"
},
"usage": {
"models": [
{
"output_tokens": 104,
"model_id": "qwen-plus",
"input_tokens": 125
}
]
},
"request_id": "badccade-9f54-986b-8d8c-75ef15e9616c"
}Ganti YOUR_APP_ID dengan ID aplikasi aktual. Untuk putaran 2, ganti session_id dengan session_id aktual yang dikembalikan dari putaran 1.Pengelolaan mandiri (messages)
Python
Permintaan contoh
# Versi SDK dashscope harus >= 1.20.14
import os
from http import HTTPStatus
from dashscope import Application
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'Anda adalah asisten yang membantu.'},
{'role': 'user', 'content': 'Siapa kamu?'},
{"role": "assistant","content": "Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen."},
{"role": "user","content": "Apa yang bisa kamu lakukan?"}
]
response = Application.call(
# Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
app_id='YOUR_APP_ID', # Ganti dengan ID aplikasi aktual
messages=messages)
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: https://www.alibabacloud.com/help/en/model-studio/error-code')
else:
print('%s\n' % (response.output.text))Respons contoh
Sebagai Qwen, saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:
1. Menjawab pertanyaan: Baik itu pengetahuan ilmiah, masalah teknis, atau pengetahuan umum, saya dapat memberikan informasi dan jawaban yang akurat.
2. Membuat teks: Seperti menulis cerita, puisi, artikel, dll., Menghasilkan konten kreatif berdasarkan kondisi yang diberikan.
3. Asisten pemrograman: Dapat membantu pembelajaran pemrograman, menjelaskan logika kode, membantu memperbaiki kesalahan program, dll.
4. Terjemahan bahasa: Mendukung layanan terjemahan antara beberapa bahasa.
5. Memberikan saran: Memberikan saran atau solusi saat menghadapi keputusan.
6. Komunikasi emosional: Terlibat dalam percakapan dengan pengguna, mendengarkan dan memberikan tanggapan serta dukungan positif.
Singkatnya, tujuan saya adalah menjadi asisten Anda yang cakap dalam pekerjaan dan kehidupan. Jika Anda memiliki kebutuhan tertentu, jangan ragu untuk memberi tahu saya!Java
Permintaan contoh
// Versi SDK dashscope harus >= 2.17.0
import java.util.ArrayList;
import java.util.List;
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void appCall()
throws ApiException, NoApiKeyException, InputRequiredException {
List messages = new ArrayList<>();
messages.add(Message.builder().role("system").content("Anda adalah asisten yang membantu.").build());
messages.add(Message.builder().role("user").content("Siapa kamu?").build());
messages.add(Message.builder().role("assistant").content("Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen.").build());
messages.add(Message.builder().role("user").content("Apa yang bisa kamu lakukan?").build());
ApplicationParam param = ApplicationParam.builder()
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.appId("YOUR_APP_ID")
.messages(messages)
.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: https://www.alibabacloud.com/help/en/model-studio/error-code");
}
System.exit(0);
}
}Respons contoh
text: Saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:
1. Menjawab pertanyaan: Baik itu pertanyaan akademik, pengetahuan umum, atau pertanyaan di bidang profesional, saya akan berusaha memberikan jawaban yang akurat.
2. Membuat teks: Seperti menulis cerita, dokumen resmi, email, skrip, dll., Cukup berikan saya beberapa informasi dasar dan persyaratan.
3. Pemrosesan tabel: Dapat membantu Anda mengatur data, menghasilkan atau memodifikasi tabel.
4. Penulisan kode: Mendukung penulisan dan penjelasan kode dalam beberapa bahasa pemrograman.
5. Terjemahan multibahasa: Dapat menerjemahkan antara bahasa yang berbeda.
6. Percakapan simulasi: Dapat memainkan peran yang berbeda untuk terlibat dalam percakapan simulasi dengan pengguna.
Jika Anda memiliki kebutuhan tertentu, jangan ragu untuk memberi 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": {
"messages":[
{
"role": "system",
"content": "Anda adalah asisten yang membantu."
},
{
"role": "user",
"content": "Siapa kamu?"
},
{
"role": "assistant",
"content": "Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen."
},
{
"role": "user",
"content": "Apa yang bisa kamu lakukan?"
}
]
},
"parameters": {},
"debug": {}
}' Respons contoh
{"output":
{"finish_reason":"stop","session_id":"990ca89d89794826976d7499ad10cddb",
"text":"Saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:\n\n1. Menjawab pertanyaan: Baik itu pengetahuan akademik, tips praktis, atau pertanyaan pengetahuan umum, saya akan berusaha memberikan jawaban yang akurat.\n2. Membuat teks: Seperti menulis cerita, dokumen resmi, email, skrip, dll., Selama Anda memberi tahu saya kebutuhan spesifik Anda, saya dapat membantu Anda menulisnya.\n3. Menyatakan pendapat: Untuk beberapa pertanyaan subjektif, saya juga dapat memberikan pandangan saya sendiri dan mendiskusikannya dengan Anda.\n4. Permainan dan hiburan: Kita dapat bermain game kata bersama, atau saya dapat menceritakan lelucon untuk membantu Anda bersantai.\n\nSingkatnya, apa pun yang terkait dengan bahasa, Anda dapat meminta bantuan saya!"},"usage":{"models":[{"output_tokens":126,"model_id":"qwen-max","input_tokens":86}]},"request_id":"3908c4a3-8d7a-9e51-81a5-0fc366582990"}% PHP
Permintaan contoh
<?php
# Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key.
$api_key = getenv("DASHSCOPE_API_KEY");
$application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual
$url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion";
// Konstruksi data permintaan
$data = [
"input" => [
"messages" => [
[
"role" => "system",
"content" => "Anda adalah asisten yang membantu."
],
[
"role" => "user",
"content" => "Siapa kamu?"
],
[
"role" => "assistant",
"content" => "Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, dan nama saya adalah Qwen."
],
[
"role" => "user",
"content" => "Apa yang bisa kamu lakukan?"
]
]
]
];
// 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 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 "Tidak ada teks dalam respons.\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";
}
}
?>
Respons contoh
Saya dapat membantu Anda menyelesaikan berbagai tugas, seperti:
1. Menjawab pertanyaan: Baik itu pertanyaan akademik, pengetahuan praktis, atau gosip hiburan, saya akan berusaha memberikan jawaban yang akurat.
2. Membuat teks: Termasuk tetapi tidak terbatas pada menulis cerita, dokumen resmi, email, dll.
3. Memberikan saran: Seperti saran perjalanan, metode belajar, perencanaan karier, dan panduan serta saran lainnya.
4. Terlibat dalam percakapan: Kita bisa mengobrol, berbagi perasaan, dan bahkan memiliki diskusi menarik.
Jika Anda membutuhkan bantuan untuk apa pun, cukup beri tahu saya!Node.js
Dependensi:
npm install axiosPermintaan contoh
const axios = require('axios');
async function callDashScope() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
const apiKey = process.env.DASHSCOPE_API_KEY;
const appId = 'YOUR_APP_ID';//Ganti dengan ID aplikasi aktual
const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`;
const data = {
"input": {
"messages":[
{
"role": "system",
"content": "Anda adalah asisten yang membantu."
},
{
"role": "user",
"content": "Siapa kamu?"
},
{
"role": "assistant",
"content": "Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen."
},
{
"role": "user",
"content": "Apa yang bisa kamu lakukan?"
}
]
},
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();Respons contoh
Saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:
1. Menjawab pertanyaan: Baik itu pengetahuan akademik, informasi praktis, atau pertanyaan pengetahuan umum, saya akan berusaha memberikan jawaban yang akurat.
2. Membuat teks: Seperti menulis cerita, dokumen resmi, email, skrip, dll., Selama Anda memberikan cukup informasi latar belakang dan persyaratan, saya dapat membantu Anda menulisnya.
3. Memberikan saran: Jika Anda memerlukan saran tentang keputusan tertentu, seperti pemilihan tujuan perjalanan, pemilihan hadiah, metode belajar, dll., Saya juga dapat memberikan saran berdasarkan deskripsi Anda.
4. Terjemahan bahasa: Mendukung terjemahan teks antara beberapa bahasa.
5. Penulisan dan penjelasan kode: Untuk pertanyaan terkait pemrograman, saya dapat membantu menulis program sederhana atau menjelaskan konsep kompleks.
6. Terlibat dalam percakapan: Selain fungsi-fungsi di atas, saya juga dapat melakukan komunikasi sehari-hari dengan pengguna, berbagi ide.
Jika Anda memiliki kebutuhan tertentu, jangan ragu untuk memberi tahu saya!C#
Permintaan contoh
using System.Text;
class Program
{
static async Task Main(string[] args)
{
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");;
string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi aktual
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("Pastikan 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 jsonContent = $@"{{
""input"": {{
""messages"": [
{{
""role"": ""system"",
""content"": ""Anda adalah asisten yang membantu.""
}},
{{
""role"": ""user"",
""content"": ""Siapa kamu?""
}},
{{
""role"": ""assistant"",
""content"": ""Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen.""
}},
{{
""role"": ""user"",
""content"": ""Apa yang bisa kamu lakukan?""
}}
]
}},
""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(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 calling DashScope: {ex.Message}");
}
}
}
}Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "a6d041ca3d084a7ca9eff1c456afad70",
"text": "Sebagai Qwen, saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:\n\n1. Menjawab pertanyaan: Memberikan jawaban untuk berbagai pertanyaan berbasis pengetahuan.\n2. Pembuatan teks: Menulis artikel, cerita, puisi, dan konten teks lainnya.\n3. Terjemahan bahasa: Melakukan pekerjaan terjemahan antara bahasa yang berbeda.\n4. Pertukaran percakapan: Melakukan percakapan alami dan lancar dengan pengguna.\n5. Memberikan saran: Menawarkan saran atau solusi berdasarkan kebutuhan pengguna.\n\nJika Anda memiliki kebutuhan tertentu, beri tahu saya, dan saya akan berusaha membantu Anda."
},
"usage": {
"models": [
{
"output_tokens": 102,
"model_id": "qwen-max",
"input_tokens": 87
}
]
},
"request_id": "27fb8a01-70d5-974f-bb0a-e9408a9c1772"
}Go
Permintaan contoh
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
// Jika variabel lingkungan tidak dikonfigurasikan, Anda dapat mengganti baris berikut dengan apiKey := "sk-xxx". Namun, tidak disarankan untuk menuliskan API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual
if apiKey == "" {
fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.")
return
}
url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId)
// Buat body permintaan
requestBody := map[string]interface{}{
"input": map[string]interface{}{
"messages": []interface{}{
map[string]string{
"role": "system",
"content": "Anda adalah asisten yang membantu.",
},
map[string]string{
"role": "user",
"content": "Siapa kamu?",
},
map[string]string{
"role": "assistant",
"content": "Saya adalah model bahasa besar yang dikembangkan oleh Alibaba Cloud, nama saya adalah Qwen.",
},
map[string]string{
"role": "user",
"content": "Apa yang bisa kamu lakukan?",
},
},
},
"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 respons
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Gagal membaca respons: %v\n", err)
return
}
// Proses respons
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))
}
}
Respons contoh
{
"output": {
"finish_reason": "stop",
"session_id": "2ae51a5eac3b4b269834cf0695330a05",
"text": "Saya dapat membantu Anda menyelesaikan berbagai tugas, termasuk tetapi tidak terbatas pada:\n\n1. Menjawab pertanyaan: Memberikan jawaban untuk pertanyaan berbasis pengetahuan di berbagai bidang.\n2. Pembuatan teks: Menulis cerita, artikel, puisi, dll.\n3. Asisten pemrograman: Memberikan panduan dan contoh kode untuk pemrograman.\n4. Obrolan percakapan: Melakukan percakapan sehari-hari, menemani Anda.\n5. Layanan terjemahan: Memberikan dukungan terjemahan antara beberapa bahasa.\n6. Kueri informasi: Menemukan berita, prakiraan cuaca, data sejarah, dan informasi lainnya.\n7. Panduan belajar: Membantu menjawab pertanyaan dalam proses belajar, memberikan saran belajar.\n\nJika Anda memiliki kebutuhan atau pertanyaan tertentu, Anda bisa memberi tahu saya, dan saya akan berusaha membantu Anda!"
},
"usage": {
"models": [
{
"output_tokens": 132,
"model_id": "qwen-max",
"input_tokens": 87
}
]
},
"request_id": "1289eb09-e4ed-9f9e-98ca-805c83b333a1"
}Pass parameter kustom
Untuk menyesuaikan agen atau alur kerja yang sama dengan skenario bisnis yang berbeda, Anda dapat mengonfigurasi parameter kustom untuk plugin atau node, dan meneruskan parameter melalui biz_params saat memanggil aplikasi. Untuk mengetahui cara mengonfigurasi parameter tersebut, lihat Penerusan parameter aplikasi. Contoh kode:
Plugin kustom parameter: Teruskan melalui Agent Application terkait atau melalui Plug-in Node dari Workflow Application terkait.
Anda dapat meneruskan parameter dan informasi otentikasi tingkat pengguna untuk plugin kustom:
Parameter:
user_defined_params.Otentikasi tingkat pengguna:
user_defined_tokens.user_tokenadalah informasi otentikasi yang diperlukan oleh plugin, seperti DASHSCOPE_API_KEY.
Berikut ini adalah contoh Agent Application yang membutuhkan parameter
indexdan informasi otentikasi tingkat pengguna dari plugin terkait.Alat plugin hanya dapat dikaitkan dengan Agent Applications di ruang kerja yang sama.
Ganti
your_plugin_codedengan ID alat plugin terkait yang ditampilkan pada kartu plugin, dan teruskan pasangan nilai-kunci dari parameter input. Dalam contoh ini,article_indexdengan nilai 2.Penerusan parameter
Python
Contoh permintaan
import os from http import HTTPStatus # Versi SDK dashscope yang direkomendasikan >= 1.14.0 from dashscope import Application import dashscope dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { # Penerusan 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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', prompt='Isi 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'Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output.text)) # Proses output teks saja # print('%s\n' % (response.usage))Contoh tanggapan
Aturan kedua Konvensi Asrama menyatakan: "Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain." Ini menunjukkan bahwa di dalam asrama, anggota harus menciptakan suasana positif untuk hidup dan belajar, mendukung dan membantu satu sama lain, serta belajar untuk memahami dan menghormati satu sama lain. Jika Anda perlu mengetahui tentang klausul lain dari konvensi, silakan beri tahu saya!Java
Contoh permintaan
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 = // Penerusan 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"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") .prompt("Isi 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("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Pasal Dua Konvensi Asrama menetapkan: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Ini menekankan bahwa dalam lingkungan hidup bersama, teman sekamar harus menjaga hubungan positif dan menciptakan suasana harmonis untuk hidup dan belajar melalui bantuan dan dukungan bersama. Jika Anda perlu mengetahui lebih lanjut tentang klausul spesifik, silakan beri tahu saya.HTTP
curl
Contoh permintaan
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": "Isi konvensi asrama", "biz_params": { "user_defined_params": { "{your_plugin_code}": { "article_index": 2 } } } }, "parameters": {}, "debug":{} }'Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya.
Contoh tanggapan
{"output": {"finish_reason":"stop", "session_id":"e151267ffded4fbdb13d91439011d31e", "text":"Aturan kedua Konvensi Asrama menyatakan: "Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain." Ini menyiratkan bahwa dalam kehidupan asrama, semua orang harus mendukung satu sama lain 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
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, ganti dengan Dashscope API Key: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Ganti {your_plugin_code} dengan ID plugin sebenarnya // Buat data permintaan $data = [ "input" => [ 'prompt' => 'Isi 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 failed with error: " . 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); // Tangani 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=Unknown error\n";} } ?>Contoh tanggapan
Pasal Dua Konvensi Asrama menetapkan: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Ini menekankan bahwa dalam lingkungan hidup bersama, teman sekamar harus menjaga hubungan positif dan menciptakan suasana harmonis untuk hidup dan belajar melalui bantuan dan dukungan bersama. Jika Anda perlu mengetahui lebih lanjut tentang klausul spesifik, silakan beri tahu saya.Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi sebenarnya const pluginCode = 'YOUR_PLUGIN_CODE';// Ganti dengan ID plugin sebenarnya const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Isi konvensi asrama", biz_params: { user_defined_params: { [pluginCode]: { // article_index adalah variabel untuk plugin kustom, ganti dengan variabel plugin sebenarnya 'article_index': 3 } } } }, parameters: {}, debug: {} }; try { console.log("Mengirim permintaan ke API DashScope..."); 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=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();Contoh tanggapan
Aturan ketiga Konvensi Asrama adalah sebagai berikut: Perhatikan keselamatan listrik, dan hilangkan bahaya kebakaran. Penggunaan nyala api terbuka, peralatan listrik yang tidak sah, berbagai kompor, dan barang-barang terlarang lainnya secara ketat dilarang di asrama. Juga dilarang menyimpan bahan peledak atau mudah terbakar dan menghubungkan daya secara pribadi. Jika Anda perlu mengetahui lebih banyak peraturan, silakan beri tahu saya.C#
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi sebenarnya if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan Anda telah mengatur DASHSCOPE_API_KEY."); 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 string jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Isi 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 calling DashScope: {ex.Message}"); } } } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "237ca6187c814f3b9e7461090a5f8b74", "text": "Aturan kedua Konvensi Asrama adalah sebagai berikut: "Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain.\" Ini menunjukkan bahwa di dalam asrama, anggota perlu menjalin hubungan positif dan menciptakan lingkungan hidup dan belajar yang harmonis melalui bantuan, kepedulian, dan dukungan bersama. Penting juga untuk memahami dan menerima perbedaan di antara teman sekamar dan berkomunikasi dengan tulus. Jika ada klausul 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
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya pluginCode := "YOUR_PLUGIN_CODE" // Ganti dengan ID plugin sebenarnya if apiKey == "" { fmt.Println("Pastikan Anda telah mengatur DASHSCOPE_API_KEY.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Isi 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)) } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "860d2a4c1f3649ac880298537993cb51", "text": "Aturan kedua Konvensi Asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Ini menekankan bahwa dalam kehidupan asrama, teman sekamar harus menjaga bantuan yang baik sambil juga saling menghormati. Apakah Anda ingin mengetahui tentang klausul lain?" }, "usage": { "models": [ { "output_tokens": 84, "model_id": "qwen-max", "input_tokens": 876 } ] }, "request_id": "0a250055-90a4-992d-9276-e268ad35d1ab" }Otentikasi tingkat pengguna
Python
Contoh permintaan
from http import HTTPStatus import os # Versi SDK dashscope yang direkomendasikan >= 1.14.0 from dashscope import Application import dashscope dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { # Penerusan otentikasi plugin kustom untuk aplikasi agen, ganti your_plugin_code dengan ID plugin kustom Anda, dan YOUR_TOKEN dengan informasi otentikasi, seperti API key "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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', prompt='Isi 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'Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output.text)) # Proses output teks saja # print('%s\n' % (response.usage))Contoh tanggapan
Aturan kedua Konvensi Asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Jika Anda memerlukan informasi lebih lanjut tentang aturan tambahan, silakan beri tahu saya.Java
Contoh permintaan
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, YOUR_TOKEN dengan Token sebenarnya, seperti API key "{\"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"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") .prompt("Isi 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("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Aturan kedua Konvensi Asrama menyatakan: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Jika Anda memerlukan informasi lebih lanjut tentang aturan tambahan, silakan beri tahu saya.HTTP
curl
Contoh permintaan
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": "Isi 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.
Contoh tanggapan
{"output":{"finish_reason":"stop", "session_id":"d3b5c3e269dc40479255a7a02df5c630", "text":"Pasal kedua Konvensi Asrama menyatakan: "Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain." Ini menyiratkan bahwa dalam kehidupan asrama, semua orang harus mendukung satu sama lain dan bersama-sama menciptakan lingkungan hidup yang harmonis dan positif."}, "usage":{"models":[{"output_tokens":80,"model_id":"qwen-max","input_tokens":432}]}, "request_id":"1f77154c-edc3-9003-b622-816fa2f849cf"}%PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, ganti dengan Dashscope API Key: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Buat data permintaan $data = [ "input" => [ 'prompt' => 'Isi konvensi asrama', 'biz_params' => [ 'user_defined_params' => [ '{your_plugin_code}' => [// Ganti {your_plugin_code} dengan ID plugin sebenarnya 'article_index' => 2 ] ], 'user_defined_tokens' => [ '{your_plugin_code}' => [// Ganti {your_plugin_code} dengan ID plugin sebenarnya 'user_token' => 'YOUR_TOKEN'// Ganti dengan informasi otentikasi sebenarnya, seperti API key ] ] ] ], ]; // Enkode 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); // 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); // Tangani 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=Unknown error\n";} } ?>Contoh tanggapan
Aturan kedua Konvensi Asrama adalah sebagai berikut: > Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Jika Anda memerlukan informasi lebih lanjut tentang konvensi atau detail lainnya, jangan ragu untuk memberi tahu saya!Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi sebenarnya const pluginCode = 'YOUR_PLUGIN_CODE';// Ganti dengan ID plugin sebenarnya const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Isi konvensi asrama", biz_params: { user_defined_params: { [pluginCode]: { // article_index adalah variabel untuk plugin kustom, ganti dengan variabel plugin sebenarnya 'article_index': 6 } }, user_defined_tokens: { [pluginCode]: { // Ganti YOUR_TOKEN dengan informasi otentikasi sebenarnya, seperti API key user_token: 'YOUR_TOKEN' } } } }, parameters: {}, debug: {} }; try { console.log("Mengirim permintaan ke API DashScope..."); 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=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();Contoh tanggapan
Aturan keenam Konvensi Asrama menetapkan: Budayakan kebiasaan baik terkait rutinitas sehari-hari; setiap anggota asrama memiliki hak untuk istirahat dan tanggung jawab untuk memastikan hak orang lain untuk beristirahat. Jika Anda memerlukan informasi lebih lanjut tentang peraturan, silakan beri tahu saya.C#
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi sebenarnya if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan Anda telah mengatur DASHSCOPE_API_KEY."); 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 // Ganti YOUR_TOKEN dengan Token sebenarnya, seperti API key string jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Isi 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 calling DashScope: {ex.Message}"); } } } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "1a1913a9922a401f8eba36df8ea1a062", "text": "Aturan kedua Konvensi Asrama adalah sebagai berikut: Anggota asrama harus saling membantu, saling peduli, saling belajar, dan bersama-sama meningkatkan; bersikap toleran, rendah hati, saling menghormati, dan bersikap tulus satu sama lain. Jika ada klausul lain atau konten spesifik yang ingin Anda ketahui, silakan beri tahu saya!" }, "usage": { "models": [ { "output_tokens": 66, "model_id": "qwen-max", "input_tokens": 802 } ] }, "request_id": "04bac806-c5e6-9fab-a846-a66641862be9" }Go
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya pluginCode := "YOUR_PLUGIN_CODE" // Ganti dengan ID plugin sebenarnya if apiKey == "" { fmt.Println("Pastikan Anda telah mengatur DASHSCOPE_API_KEY.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Isi 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, seperti API key }, }, }, }, "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)) } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "b8e051ba7e954ff8919208e7b84430fa", "text": "Aturan kesepuluh Konvensi Asrama menyatakan bahwa anggota asrama harus bekerja sama untuk menciptakan dan memelihara lingkungan asrama yang bersih, rapi, estetis, dan kaya budaya. Jika Anda perlu memahami isi lengkap Konvensi Asrama, Anda mungkin perlu memeriksa klausul lain atau langsung berkonsultasi dengan departemen manajemen asrama. Apakah ada konten lebih spesifik yang ingin Anda ketahui?" }, "usage": { "models": [ { "output_tokens": 70, "model_id": "qwen-max", "input_tokens": 855 } ] }, "request_id": "0921ee34-2754-9616-a826-cea33a0e0a14" }Parameter node kustom: Teruskan melalui Workflow Application's Start Node, atau melalui Agent Orchestration Application's Application Node.
Pada contoh berikut, Workflow Application mendefinisikan parameter
citydi Start Node. Masukkan variabelcitydanquerydi Prompt, lalu Publish aplikasi tersebut.
Saat memanggil, teruskan
citymelaluibiz_paramsdan teruskanquerymelaluiprompt.Python
Contoh permintaan
import os from http import HTTPStatus from dashscope import Application import dashscope dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' # Penerusan parameter kustom untuk aplikasi alur kerja dan orkestrasi agen biz_params = {"city": "Hangzhou"} response = Application.call( # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', # Ganti dengan ID aplikasi sebenarnya prompt='Kueri pembagian administratif kota ini', biz_params=biz_params # Teruskan 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'Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print(f'{response.output.text}') # Proses output teks sajaContoh tanggapan
Kota Hangzhou, sebagai ibu kota Provinsi Zhejiang, memiliki pembagian administratif yang terdiri dari 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki karakteristik dan fokus pengembangan uniknya sendiri. - Distrik Shangcheng: Terletak di area pusat Hangzhou, ini adalah salah satu pusat politik, ekonomi, dan budaya kota. - Distrik Gongshu: Terkenal dengan budaya kanalnya, fitur banyak situs warisan budaya dan sejarah. - Distrik Xihu: Terkenal dengan area pemandangan Danau Barat, tujuan penting untuk pariwisata. - Distrik Binjiang: Pusat industri teknologi tinggi, dengan perusahaan terkenal seperti Alibaba yang berlokasi di sini. - Distrik Xiaoshan: Distrik administratif di tenggara, mengalami pertumbuhan ekonomi pesat, terutama di sektor manufaktur. - Distrik Yuhang: Telah berkembang pesat dalam beberapa tahun terakhir, terutama di bidang ekonomi internet; markas besar Alibaba juga berlokasi di sini (Catatan: Markas besar Alibaba sebenarnya berada di Distrik Binjiang). - Distrik Linping: Distrik baru yang bertujuan untuk mendorong perkembangan ekonomi dan sosial komprehensif di wilayah tersebut. - Distrik Qiantang: Juga hasil penyesuaian administratif baru-baru ini, berfokus pada integrasi inovasi dan perlindungan ekologi. - Distrik Fuyang: Terletak di barat daya Hangzhou, dikenal dengan lanskap alam yang kaya dan sejarah serta budaya panjangnya. - Distrik Lin'an: Terletak di barat Hangzhou, terkenal dengan lingkungan ekologi yang indah dan warisan budaya yang mendalam. Harap dicatat bahwa perencanaan kota dapat berubah seiring waktu, dan disarankan untuk merujuk ke informasi resmi terbaru.Java
Contoh permintaan
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"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") .prompt("Kueri pembagian 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("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Kota Hangzhou adalah ibu kota Provinsi Zhejiang dan pembagian administrasinya terutama mencakup 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki karakteristik dan fokus pengembangan uniknya sendiri. - Distrik Shangcheng: Terletak di pusat kota Hangzhou, menampung banyak situs warisan budaya dan sejarah. - Distrik Gongshu: Dikenal dengan budaya Kanal Besar, juga merupakan area komersial dan residensial penting. - Distrik Xihu: Terkenal dengan pemandangan alamnya yang indah, termasuk area pemandangan Danau Barat yang terkenal. - Distrik Binjiang: Pusat industri teknologi tinggi, rumah bagi Zona Pengembangan Industri Teknologi Tinggi Nasional Hangzhou. - Distrik Xiaoshan: Mengalami pertumbuhan ekonomi pesat, terutama menonjol di sektor manufaktur. - Distrik Yuhang: Telah bangkit pesat dalam beberapa tahun terakhir mengikuti pengembangan perusahaan teknologi tinggi seperti Alibaba. - Distrik Linping: Dibentuk pada tahun 2021 dari bagian Distrik Yuhang sebelumnya, berfokus pada konstruksi ekologis dan inovasi teknologi. - Distrik Qiantang: Juga didirikan sebagai distrik baru pada tahun 2021, diposisikan sebagai hub transportasi timur dan area pengembangan industri baru Hangzhou. - Distrik Fuyang: Kota budaya dengan sejarah panjang dan salah satu basis penting untuk industri kertas. - Distrik Lin'an: Terletak di bagian barat Hangzhou, terkenal dengan cakupan hutan yang tinggi dan lingkungan ekologi yang baik. Distrik-distrik ini bersama-sama membentuk tata letak geografis dan struktur sosial-ekonomi unik kota Hangzhou. Jika Anda tertarik pada distrik tertentu atau membutuhkan informasi lebih rinci, silakan beri tahu saya!HTTP
curl
Contoh permintaan
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 pembagian administratif kota ini", "biz_params": { "city": "Hangzhou"} }, "parameters": {} }'Ganti YOUR_APP_ID dengan ID aplikasi sebenarnya.
Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "c211219896004b50a1f6f66f2ec5413e", "text": "Kota Hangzhou memiliki yurisdiksi atas 10 distrik, 1 kabupaten, dan mengelola 2 kota tingkat kabupaten, sebagai berikut: Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an, Kabupaten Tonglu, Kabupaten Chun'an, Kota Jiande, Kota Zhuji. Perhatikan bahwa Kota Zhuji secara langsung berada di bawah administrasi Provinsi Zhejiang dan dikelola bersama oleh kota Hangzhou dan Shaoxing." }, "usage": {}, "request_id": "02c3c9e1-7912-9505-91aa-248d04fb1f5d" }PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Buat data permintaan $data = [ "input" => [ 'prompt' => 'Kueri pembagian administratif kota ini', 'biz_params' => [ 'city' => 'Hangzhou' ] ], ]; // Enkode data ke 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); // 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); // Tangani 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=Unknown error\n"; } }Contoh tanggapan
Hangzhou adalah ibu kota Provinsi Zhejiang dan pembagian administrasinya terutama mencakup 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki karakteristik dan fokus pengembangan uniknya sendiri, seperti: - **Distrik Shangcheng** dan **Distrik Gongshu** terletak di pusat Hangzhou, dikenal dengan perdagangan yang ramai dan sejarah yang kaya. - **Distrik Xihu** terkenal dengan pemandangan alam yang indah, termasuk area pemandangan Danau Barat yang terkenal. - **Distrik Binjiang** terkenal dengan pengembangan industri teknologi tinggi. - **Distrik Xiaoshan** dan **Distrik Yuhang**, di antara lainnya, telah muncul pesat sebagai distrik perkotaan baru atau zona pengembangan ekonomi akibat pertumbuhan kota baru-baru ini. - **Distrik Lin'an** dan **Distrik Fuyang** telah mempertahankan lebih banyak pemandangan alam dan daya tarik pedesaan. Harap dicatat bahwa pembagian administratif Tiongkok dapat berubah berdasarkan kebijakan nasional, jadi harap merujuk ke pengumuman resmi terbaru untuk informasi terkini.Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi sebenarnya const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Kueri pembagian administratif kota ini", biz_params: { 'city': 'Hangzhou', }, }, parameters: {}, debug: {}, }; try { console.log("Mengirim permintaan ke API DashScope..."); 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=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();Contoh tanggapan
Hangzhou adalah ibu kota Provinsi Zhejiang, dan pembagian administrasinya mencakup 10 distrik, secara spesifik: 1. **Distrik Shangcheng (Shàngchéng Qū)**: Terletak di bagian selatan pusat Hangzhou, ini adalah salah satu area paling bersejarah dan signifikan secara budaya di kota tersebut. 2. **Distrik Gongshu (Gōngshù Qū)**: Awalnya dibentuk dari penggabungan Distrik Xiacheng dan Distrik Gongshu, terletak di bagian utara Hangzhou. 3. **Distrik Xihu (Xīhú Qū)**: Dikenal dengan Situs Warisan Dunia Danau Barat, menampilkan banyak pemandangan alam dan budaya yang melimpah. 4. **Distrik Binjiang (Bīnjiāng Qū)**: Terletak di tepi selatan Sungai Qiantang, ini adalah pusat industri teknologi tinggi. 5. **Distrik Xiaoshan (Xiāoshān Qū)**: Terletak di bagian timur Hangzhou, ini adalah salah satu basis manufaktur utama di Tiongkok. 6. **Distrik Yuhang (Yúháng Qū)**: Dulunya merupakan rumah bagi Linping, salah satu dari empat kota kuno terkenal di Tiongkok, kini telah berkembang menjadi zona pengembangan ekonomi penting di Hangzhou. 7. **Distrik Fuyang (Fùyáng Qū)**: Terletak di barat daya Hangzhou, dinamai berdasarkan Sungai Fuchun yang mengalir melewatinya. 8. **Distrik Lin'an (Lín'ān Qū)**: Berada di area pegunungan barat Hangzhou, dikenal dengan pemandangan alamnya yang indah. 9. **Distrik Qiantang (Qiántáng Qū)**: Didirikan pada tahun 2021, dibentuk dari Klaster Industri Dajiangdong sebelumnya dan bagian dari Distrik Xiaoshan, bertujuan untuk mendorong perkembangan di wilayah timur Hangzhou. 10. **Distrik Linping (Lín Píng Qū)**: Divisi administratif baru yang dipisahkan dari Distrik Yuhang, terutama mencakup area seperti Jalan Linping yang dulunya merupakan bagian dari Distrik Yuhang. Informasi ini mencerminkan situasi hingga pembaruan terakhir saya. Harap dicatat bahwa pembagian administratif dapat berubah, jadi silakan merujuk ke pengumuman resmi terbaru untuk informasi terkini.C#
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur."); string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi sebenarnya 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 pembagian 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 calling DashScope: {ex.Message}"); } } } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "7a9ff57eec7d475fa5d487de5f5178d2", "text": "Hangzhou adalah ibu kota Provinsi Zhejiang, dan memiliki yurisdiksi atas 10 distrik: Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, dan Distrik Lin'an. Setiap distrik memiliki lokasi geografis unik dan fitur pengembangan. Sebagai contoh, Distrik Xihu terkenal dengan pemandangan alamnya yang indah, terutama Danau Barat yang terkenal; sementara Distrik Binjiang lebih dikenal dengan pengembangan industri teknologi tinggi. Selain itu, dengan pertumbuhan kota, pembagian administratif dapat mengalami penyesuaian. Silakan merujuk ke pengumuman resmi terbaru untuk informasi paling mutakhir." }, "usage": { }, "request_id": "d2c2fcc9-f821-98c9-9430-8704a2a41225" }Go
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi sebenarnya if apiKey == "" { fmt.Println("Pastikan Anda telah mengatur DASHSCOPE_API_KEY.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Kueri pembagian 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)) } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "2dc3e1a9dcd248c6bb9ca92bffc3e745", "text": "Hangzhou, disingkat sebagai 'Hang,' adalah ibu kota Provinsi Zhejiang. Menurut penyesuaian pembagian administratif terbaru, Hangzhou saat ini mengawasi 10 distrik, 2 kota tingkat kabupaten, dan 1 kabupaten, secara spesifik: - Distrik (10): Distrik Shangcheng, Distrik Gongshu, Distrik Xihu, Distrik Binjiang, Distrik Xiaoshan, Distrik Yuhang, Distrik Linping, Distrik Qiantang, Distrik Fuyang, Distrik Lin'an. - Kota Tingkat Kabupaten (2): Kota Jiande, Kabupaten Tonglu (Catatan bahwa Tonglu sebenarnya diperlakukan sebagai kota tingkat kabupaten di sini, tetapi lebih akuratnya, itu adalah kabupaten). - Kabupaten (1): Kabupaten Chun'an. Harap diingat bahwa wilayah administratif dapat berubah seiring waktu, jadi harap merujuk ke pengumuman resmi terbaru untuk informasi paling mutakhir. Informasi di atas dikompilasi berdasarkan data relatif terbaru; untuk perubahan terbaru, kunjungi situs web resmi pemerintah untuk informasi paling akurat." }, "usage": { }, "request_id": "d3c8f368-b645-9446-bfe4-20ca51821a02" }
Keluaran Streaming
Dalam mode keluaran streaming, model menghasilkan hasil perantara, dan hasil akhir terbentuk dengan menggabungkan hasil perantara ini. Anda dapat membaca keluaran model saat dihasilkan, sehingga mempersingkat waktu tunggu untuk tanggapan model. Tergantung pada metode pemanggilan, Anda dapat mengatur parameter untuk mengimplementasikan keluaran streaming:
Python SDK: Atur
streamke True.Java SDK: Panggil melalui antarmuka
streamCall.HTTP: Tentukan
X-DashScope-SSEsebagaienabledi Header.
keluaran streaming inkrementalincremental_output(incrementalOutputuntuk Java) ketrue. Untuk HTTP, aturincremental_outputke true dan letakkan dalam objek parameter.
Contoh:
Untuk Agent Application:
Python
Permintaan Contoh
import 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 variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_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/en/model-studio/developer-reference/error-code') else: print(f'{response.output.text}\n') # Proses untuk mengeluarkan hanya teksTanggapan Contoh
Saya adalah Alibaba Cloud model bahasa skala besar, nama saya adalah Qwen.Java
Permintaan Contoh
// Versi dashscope SDK yang direkomendasikan >= 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 aplikasi agen untuk hasil keluaran streaming 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 variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: .apiKey("sk-xxx"). Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) // Ganti dengan ID aplikasi aktual .appId("YOUR_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("Pengecualian: %s", e.getMessage()); System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Tanggapan Contoh
Saya adalah Cloud model bahasa skala besar, nama saya adalah Qwen .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' \ --header 'X-DashScope-SSE: enable' \ --data '{ "input": { "prompt": "Siapa kamu?" }, "parameters": { "incremental_output":true }, "debug": {} }'Ganti YOUR_APP_ID dengan ID aplikasi aktual.
Tanggapan Contoh
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":"Saya"},"usage":{"models":[{"input_tokens":203,"output_tokens":1,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":"adalah"},"usage":{"models":[{"input_tokens":203,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":" Alibaba"},"usage":{"models":[{"input_tokens":203,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":" Cloud"},"usage":{"models":[{"input_tokens":203,"output_tokens":4,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":"'s large-scale language"},"usage":{"models":[{"input_tokens":203,"output_tokens":8,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":" model, my name is"},"usage":{"models":[{"input_tokens":203,"output_tokens":12,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":" Qwen"},"usage":{"models":[{"input_tokens":203,"output_tokens":16,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"null","text":"."},"usage":{"models":[{"input_tokens":203,"output_tokens":17,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"} id:9 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"70ac158ae65f4764b9228a52951f3711","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":203,"output_tokens":17,"model_id":"qwen-max"}]},"request_id":"f66273ce-1a4d-9107-9c8a-da2a0f7267b5"}PHP
Permintaan Contoh
<?php // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: $api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Siapa kamu?'], "parameters" => [ 'incremental_output' => true]];// Keluaran inkremental // 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, false); // Jangan kembalikan data yang ditransfer curl_setopt($ch, curlOPT_WRITEFUNCTION, function ($ch, $string) { echo $string; // Proses 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("Kesalahan curl: " . 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 "Kode Status HTTP: $status_code\n"; echo "Permintaan Gagal.\n"; } ?>Tanggapan Contoh
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":"Saya adalah Alibaba"},"usage":{"models":[{"input_tokens":58,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":" Cloud"},"usage":{"models":[{"input_tokens":58,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":"'s"},"usage":{"models":[{"input_tokens":58,"output_tokens":4,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":" a large-scale language"},"usage":{"models":[{"input_tokens":58,"output_tokens":8,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":" model, my name is"},"usage":{"models":[{"input_tokens":58,"output_tokens":12,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":" Qwen"},"usage":{"models":[{"input_tokens":58,"output_tokens":16,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"null","text":"."},"usage":{"models":[{"input_tokens":58,"output_tokens":17,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"232f8a3622774c5182997c6f262c59f9","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":58,"output_tokens":17,"model_id":"qwen-max"}]},"request_id":"e682ec04-28a5-9957-ac48-76f87693cab5"}Node.js
Dependensi:
npm install axiosPermintaan Contoh
Perluas panel untuk melihat kode contoh:
Tanggapan Contoh
1. Keluaran respons lengkap
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"bb9fb75687104983ae47fc1f34ef36a1","finish_reason":"null","text":"Halo!"},"usage":{"models":[{"input_tokens":56,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"d96ec7e0-5ad8-9f19-82c1-9c87f86e12b8"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"bb9fb75687104983ae47fc1f34ef36a1","finish_reason":"null","text":" Apakah ada"},"usage":{"models":[{"input_tokens":56,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"d96ec7e0-5ad8-9f19-82c1-9c87f86e12b8"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"bb9fb75687104983ae47fc1f34ef36a1","finish_reason":"null","text":" sesuatu yang bisa saya bantu?"},"usage":{"models":[{"input_tokens":56,"output_tokens":7,"model_id":"qwen-max"}]},"request_id":"d96ec7e0-5ad8-9f19-82c1-9c87f86e12b8"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"bb9fb75687104983ae47fc1f34ef36a1","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":56,"output_tokens":7,"model_id":"qwen-max"}]},"request_id":"d96ec7e0-5ad8-9f19-82c1-9c87f86e12b8"}2. Keluaran hanya bidang teks
Saya adalah Cloud model bahasa skala besar, saya disebut Qwen.C#
Permintaan Contoh
using System.Net; using System.Text; class Program { static async Task Main(string[] args) { // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: apiKey="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur."); string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi aktual string url = $"https://dashscope-intl.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("Permintaan berhasil:"); 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($"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
2025-02-14 16:22:08:482 Permintaan berhasil: 2025-02-14 16:22:09:098 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":"I"},"usage":{"models":[{"input_tokens":51,"output_tokens":1,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:099 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" am"},"usage":{"models":[{"input_tokens":51,"output_tokens":2,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:172 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" Alibaba"},"usage":{"models":[{"input_tokens":51,"output_tokens":3,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:172 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" Cloud's large-scale language"},"usage":{"models":[{"input_tokens":51,"output_tokens":7,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:463 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" model, my name is"},"usage":{"models":[{"input_tokens":51,"output_tokens":11,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:618 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" Qwen"},"usage":{"models":[{"input_tokens":51,"output_tokens":15,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:777 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":". I am your AI"},"usage":{"models":[{"input_tokens":51,"output_tokens":19,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:09:932 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" assistant,"},"usage":{"models":[{"input_tokens":51,"output_tokens":23,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:091 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" I can answer questions,"},"usage":{"models":[{"input_tokens":51,"output_tokens":27,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:244 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" create text, such as"},"usage":{"models":[{"input_tokens":51,"output_tokens":31,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:389 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" writing stories, writing"},"usage":{"models":[{"input_tokens":51,"output_tokens":35,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:525 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" documents, writing"},"usage":{"models":[{"input_tokens":51,"output_tokens":39,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:662 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" emails, writing scripts"},"usage":{"models":[{"input_tokens":51,"output_tokens":43,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:10:902 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":", and I can also express"},"usage":{"models":[{"input_tokens":51,"output_tokens":47,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:11:062 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":" opinions, play games, etc"},"usage":{"models":[{"input_tokens":51,"output_tokens":51,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:11:233 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"null","text":"."},"usage":{"models":[{"input_tokens":51,"output_tokens":52,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:11:309 {"output":{"session_id":"c2265dd99e4b40e0b5b3638824f21dd9","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":51,"output_tokens":52,"model_id":"qwen-plus"}]},"request_id":"2d40821d-98bb-960e-999d-c456af8bc9e9"} 2025-02-14 16:22:11:388Go
Contoh permintaan
package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "os" "strings" "time" ) func main() { // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey := "sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi yang sebenarnya if apiKey == "" { fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat badan permintaan, di mana incremental_output menunjukkan apakah akan mengaktifkan tanggapan aliran 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("Gagal membuat 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 } // Atur header permintaan, di mana X-DashScope-SSE diaktifkan menunjukkan mengaktifkan tanggapan aliran 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("Gagal mengirim permintaan: %v\n", err) return } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode) body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) return } // Proses tanggapan aliran 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("Kesalahan membaca tanggapan: %v\n", err) break } } }Contoh tanggapan
id:1 event:result :HTTP_STATUS/200 2025-02-13 18:21:09.050: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":"Saya adalah"},"usage":{"models":[{"input_tokens":262,"output_tokens":1,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:2 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.016: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" Tong"},"usage":{"models":[{"input_tokens":262,"output_tokens":2,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:3 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.016: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":"yi"},"usage":{"models":[{"input_tokens":262,"output_tokens":3,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:4 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.016: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" Qianwen, dikembangkan oleh"},"usage":{"models":[{"input_tokens":262,"output_tokens":7,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:5 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.017: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" Alibaba Cloud"},"usage":{"models":[{"input_tokens":262,"output_tokens":11,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:6 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.017: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":", sebuah asisten AI. Saya"},"usage":{"models":[{"input_tokens":262,"output_tokens":15,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:7 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.017: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" dirancang untuk menjawab"},"usage":{"models":[{"input_tokens":262,"output_tokens":19,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:8 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.018: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" berbagai pertanyaan, memberikan"},"usage":{"models":[{"input_tokens":262,"output_tokens":23,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:9 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.102: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" informasi dan terlibat"},"usage":{"models":[{"input_tokens":262,"output_tokens":27,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:10 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.257: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" dalam percakapan. Butuh"},"usage":{"models":[{"input_tokens":262,"output_tokens":31,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:11 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.414: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"null","text":" bantuan?"},"usage":{"models":[{"input_tokens":262,"output_tokens":34,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"} id:12 event:result :HTTP_STATUS/200 2025-02-13 18:21:10.481: {"output":{"session_id":"830189188149488794708ae012f4c595","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":262,"output_tokens":34,"model_id":"qwen-plus"}]},"request_id":"2563953d-914c-9256-ae1a-b62beb957112"}Workflow Application menyediakan dua mode keluaran streaming, ditentukan oleh nilai dari
flow_stream_mode.Nilai parameter dan metode penggunaan:
full_thoughts(nilai default):Deskripsi: Hasil streaming dari semua node akan dikeluarkan di bidang
thoughts.Persyaratan: Anda juga harus mengatur
has_thoughtske True.
agent_format:Deskripsi: Mode keluaran yang sama dengan aplikasi agen.
Efek: Di konsol, Anda dapat mengaktifkan sakelar Response untuk node tertentu, dan hasil streaming dari node tersebut akan disertakan dalam bidang
textdarioutput.Skenario: Cocok untuk skenario di mana Anda hanya peduli pada keluaran node perantara tertentu.
Sakelar Response hanya tersedia di node transformasi teks, node LLM, dan node akhir (sakelar ini dihidupkan secara default untuk node akhir). Node yang tidak mendukung keluaran streaming akan mengeluarkan kontennya sekaligus.
Contoh:
full_thoughts
Ini adalah dipublikasikan Workflow Application dengan keluaran streaming.

Python
Permintaan Contoh
import os from http import HTTPStatus from dashscope import Application import dashscope dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { "city": "Hangzhou"} responses = Application.call( # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: api_key="sk-xxx". Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), # Ganti dengan ID aplikasi aktual app_id='YOUR_APP_ID', prompt='Halo', biz_params=biz_params, # Aktifkan keluaran streaming stream=True, # incremental_output=true mengaktifkan keluaran inkremental, false menonaktifkannya, defaultnya adalah false jika tidak ditentukan incremental_output=True, # Perlu mengatur has_thoughts ke True has_thoughts=True) 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/en/model-studio/developer-reference/error-code') else: print(f'{response.output.thoughts}\n') # Proses keluaran untuk mengembalikan hanya thoughts; informasi proses dikembalikan di bidang thoughts dari outputTanggapan Contoh
[ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_99FA","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_99FA"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"Dongpo\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_99FA"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\" Pork, West Lake Vinegar Fish,\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_99FA"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\" Longjing Shrimp, Hangzhou Pa\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_99FA"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"stry, Beggar\'s Chicken\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_qkYJ","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_qkYJ"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_2","nodeResult":"{\\"result\\":\\"West Lake,\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_qkYJ"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_2","nodeResult":"{\\"result\\":\\" Lingyin Temple, Xixi\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_qkYJ"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_2","nodeResult":"{\\"result\\":\\" National Wetland Park, Hefang\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_qkYJ"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_2","nodeResult":"{\\"result\\":\\" Street, Hangzhou Botanical Garden\\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_qkYJ"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)] [ApplicationThought(thought=None, action_type=None, response='{"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_1","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_99FA","nodeExecTime":"1027ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"LLM_2","nodeResult":"{\\"result\\":\\"\\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_qkYJ","nodeExecTime":"1048ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None), ApplicationThought(thought=None, action_type=None, response='{"nodeName":"End","nodeResult":"{\\"result\\":\\"What do you think about our recommendation?\\"}","nodeType":"End","nodeStatus":"success","nodeId":"End_DrQn7F","nodeExecTime":"0ms"}', action_name=None, action=None, action_input_stream=None, action_input=None, observation=None)]Java
Permintaan Contoh
// Versi dashscope SDK yang direkomendasikan >= 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 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 streamCall() throws NoApiKeyException, InputRequiredException { String bizParams = "{\"city\":\"Hangzhou\"}"; ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan: .apiKey("sk-xxx"). Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") // Ganti dengan ID aplikasi aktual .prompt("Halo") .bizParams(JsonUtils.parse(bizParams)) .incrementalOutput(true) // Keluaran inkremental .hasThoughts(true) // Untuk aplikasi alur kerja untuk mengimplementasikan keluaran streaming, parameter ini harus diatur ke true, dan hasil dapat dilihat di bidang thoughts .build(); Application application = new Application(); Flowable<ApplicationResult> result = application.streamCall(param); // Implementasi keluaran streaming result.blockingForEach(data -> { System.out.printf("%s\n",data.getOutput().getThoughts());// Proses keluaran untuk menampilkan hanya bidang thoughts }); } public static void main(String[] args) { try { streamCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Pengecualian: %s", e.getMessage()); System.out.println("Lihat dokumentasi: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Tanggapan Contoh
[ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Ilo9","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_Ilo9"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"West Lake Fish in Vinegar Sauce\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_Ilo9"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\",\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_Ilo9"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"Dongpo Pork,Zhiwei Steamed\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_Ilo9"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\",Longjing Shrimp\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_Ilo9"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\",Beggar's Chicken\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_vQDv","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_vQDv"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_kBgf","nodeResult":"{\"result\":\"West Lake,\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_vQDv"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_kBgf","nodeResult":"{\"result\":\"Ling\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_vQDv"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_kBgf","nodeResult":"{\"result\":\"yin Temple,Songcheng\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_vQDv"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_kBgf","nodeResult":"{\"result\":\",Xixi Wetland,Thousand Island Lake\"}","nodeType":"LLM","nodeStatus":"executing","nodeId":"LLM_vQDv"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)] [ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"Start","nodeType":"Start","nodeStatus":"success","nodeId":"Start_bYxoRU","nodeExecTime":"0ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_Bsvj","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_Ilo9","nodeExecTime":"1486ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"LLM_kBgf","nodeResult":"{\"result\":\"\"}","nodeType":"LLM","nodeStatus":"success","nodeId":"LLM_vQDv","nodeExecTime":"855ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null), ApplicationOutput.Thought(thought=null, actionType=null, response={"nodeName":"End","nodeResult":"{\"result\":\"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Thousand Island Lake\"}","nodeType":"End","nodeStatus":"success","nodeId":"End_DrQn7F","nodeExecTime":"5ms"}, actionName=null, action=null, actionInputStream=null, actionInput=null, observation=null)]HTTP
curl
Permintaan Contoh
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion \ --header 'X-DashScope-SSE: enable' \ --header "Authorization: Bearer $DASHSCOPE_API_KEY" \ --header 'Content-Type: application/json' \ --data '{ "input": { "prompt": "Halo", "biz_params": { "city": "Hangzhou"} }, "parameters": { "has_thoughts": true, "incremental_output": true }, "debug": {} }'Ganti YOUR_APP_ID dengan ID aplikasi aktual.
Tanggapan Contoh
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_j45e\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake Fish in Vinegar Sauce,Long\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":5,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"jing Shrimp,Dongpo Pork,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":13,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"Beggar's Chicken,Song\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":18,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"cheng Fish Soup\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2Km9\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:9 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"Ling\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:10 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"yin Temple,Songcheng,Xixi\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":11,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:11 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\" National Wetland Park,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"} id:12 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"Hangzhou Zoo\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_2Km9\",\"nodeExecTime\":\"1137ms\"}"},{"response":"{\"nodeName\":\"End\",\"nodeResult\":\"{\\\"result\\\":\\\"Dear, are you satisfied with my introduction\\\"}\",\"nodeType\":\"End\",\"nodeStatus\":\"success\",\"nodeId\":\"End_DrQn7F\",\"nodeExecTime\":\"1ms\"}"}],"session_id":"6035ee0814b64a9fb88346ecaf8b44bf","finish_reason":"stop","text":"Halo, apakah Anda puas dengan perkenalan saya"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":17,"model_id":"qwen-max"}]},"request_id":"64825069-b3aa-93a7-bcf1-c66fe57111fd"}PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi yang sebenarnya $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Membuat data permintaan $data = [ "input" => [ 'prompt' => 'Halo', 'biz_params' => [ 'city' => 'Hangzhou' ] ], "parameters" => [ 'has_thoughts' => true, // Untuk aplikasi alur kerja dan aplikasi orkestrasi, parameter ini harus diatur ke true, dan informasi proses dikembalikan dalam thoughts 'incremental_output' => true // Keluaran bertahap ] ]; // Enkode data sebagai JSON $dataString = json_encode($data); // Periksa apakah json_encode berhasil if (json_last_error() !== JSON_ERROR_NONE) { die("Pengodean JSON gagal dengan kesalahan: " . json_last_error_msg()); } // Inisialisasi sesi curl $ch = curl_init($url); // Atur opsi curl curl_setopt($ch, curlOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, curlOPT_POSTFIELDS, $dataString); curl_setopt($ch, curlOPT_RETURNTRANSFER, false); // Jangan kembalikan data yang ditransfer curl_setopt($ch, curlOPT_WRITEFUNCTION, function ($ch, $string) { echo $string; // Proses data streaming return strlen($string); }); curl_setopt($ch, curlOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $api_key, 'X-DashScope-SSE: enable' // Parameter tetap untuk keluaran streaming ]); // Eksekusi permintaan $response = curl_exec($ch); // Periksa apakah eksekusi curl berhasil if ($response === false) { die("Kesalahan curl: " . 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 "Kode Status HTTP: $status_code\n"; echo "Permintaan Gagal.\n"; } ?>Contoh tanggapan
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Ilo9\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_Ilo9\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake Fish in Vinegar Sauce\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_Ilo9\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\",\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_Ilo9\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"Dongpo Pork,Zhiwei Steamed\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_Ilo9\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\",Longjing Shrimp\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_Ilo9\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"requestid:7 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\",Beggar's Chicken\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"},{"response":"{\"nodeName\":\"LLM_vQDv\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_vQDv\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:9 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"},{"response":"{\"nodeName\":\"LLM_kBgf\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,Lingyin\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_vQDv\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:10 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"},{"response":"{\"nodeName\":\"LLM_kBgf\",\"nodeResult\":\"{\\\"result\\\":\\\" Temple,Songcheng\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_vQDv\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:11 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"},{"response":"{\"nodeName\":\"LLM_kBgf\",\"nodeResult\":\"{\\\"result\\\":\\\",Xixi Wetland\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_vQDv\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"null"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"} id:12 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_Bsvj\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_Ilo9\",\"nodeExecTime\":\"1486ms\"}"},{"response":"{\"nodeName\":\"LLM_kBgf\",\"nodeResult\":\"{\\\"result\\\":\\\",Hangzhou Tower\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_vQDv\",\"nodeExecTime\":\"899ms\"}"},{"response":"{\"nodeName\":\"End\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Hangzhou Tower\\\"}\",\"nodeType\":\"End\",\"nodeStatus\":\"success\",\"nodeId\":\"End_DrQn7F\",\"nodeExecTime\":\"0ms\"}"}],"session_id":"a3b73a6db84d444d8efdab2b2e754f52","finish_reason":"stop","text":"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Hangzhou Tower"},"usage":{},"request_id":"795e98eb-5de3-969f-a9b5-5983d1b6d955"}Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan: apiKey='sk-xxx' menggunakan Model Studio API Key. Namun, tidak disarankan untuk menuliskan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi yang sebenarnya const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "hello", biz_params:{ 'city':'Hangzhou' } }, parameters: { 'incremental_output' : 'true', 'has_thoughts':'true'// Parameter ini perlu diatur untuk aplikasi alur kerja dan aplikasi orkestrasi agen untuk mengimplementasikan keluaran streaming }, debug: {} }; try { console.log("Mengirim permintaan ke API DashScope..."); const response = await axios.post(url, data, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json', 'X-DashScope-SSE': 'enable' }, responseType: 'stream' // Digunakan untuk menangani tanggapan streaming }); if (response.status === 200) { console.log("Permintaan berhasil:"); // Menangani tanggapan streaming response.data.on('data', (chunk) => { console.log(`Menerima chunk: ${chunk.toString()}`); }); response.data.on('end', () => { console.log("Aliran berakhir."); }); response.data.on('error', (error) => { console.error(`Kesalahan aliran: ${error.message}`); }); } 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 dikenal'); } } } catch (error) { console.error(`Kesalahan memanggil DashScope: ${error.message}`); if (error.response) { console.error(`Status respons: ${error.response.status}`); console.error(`Data respons: ${JSON.stringify(error.response.data, null, 2)}`); } } } callDashScope();Contoh tanggapan
/opt/homebrew/bin/node ./index.js Mengirim permintaan ke API DashScope... Permintaan berhasil: Menerima chunk: id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:2 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:3 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake Fish\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:4 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\" in Vinegar Sauce,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:5 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Longjing Shrimp\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:6 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Dongpo Pork\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:7 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Zhiwei\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:8 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\" Steamed Buns,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:9 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Beggar's Chicken\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:10 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:11 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Lingyin\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:12 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\" Temple,Songcheng,Xixi Wetland\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:13 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Thousand Island Lake\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"null"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Menerima chunk: id:14 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"2180ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_5ZzA\",\"nodeExecTime\":\"855ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Thousand Island Lake\\\"}\",\"nodeType\":\"End\",\"nodeStatus\":\"success\",\"nodeId\":\"End_DrQn7F\",\"nodeExecTime\":\"1ms\"}"}],"session_id":"7e9fcc8be3294954815c1a0a956d5e55","finish_reason":"stop","text":"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Thousand Island Lake"},"usage":{},"request_id":"e52dce21-16a4-9a3d-ad6c-88e8921e927f"} Aliran berakhir.C#
Permintaan contoh
using System.Net; using System.Text; class Program { static async Task Main(string[] args) { // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey="sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY") ?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur."); string appId = "YOUR_APP_ID"; // Ganti dengan ID aplikasi yang sebenarnya string url = $"https://dashscope-intl.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"": ""Hello"", ""biz_params"":{ ""city"":""Hangzhou"" } }, ""parameters"": { ""incremental_output"": true, ""has_thoughts"": 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("Permintaan berhasil:"); 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($"Permintaan gagal dengan kode status: {response.StatusCode}"); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } catch (Exception ex) { Console.WriteLine($"Kesalahan memanggil DashScope: {ex.Message}"); } } } }Tanggapan contoh
2025-02-14 16:55:28:670 Permintaan berhasil: 2025-02-14 16:55:28:980 {"output":{"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:28:980 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:28:980 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_j45e\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:29:178 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake Fish in Vinegar Sauce,Long\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":5,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:29:780 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"jing Shrimp,Dongpo Pork,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":13,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:29:979 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"Zhiwei Steamed Buns,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_j45e\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":18,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:30:179 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"Beggar's Chicken\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1315ms\"}"},{"response":"{\"nodeName\":\"LLM_2Km9\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:30:379 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1315ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:30:986 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1315ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"Lingyin Temple,Song\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":7,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:31:180 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1315ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"cheng,Xixi Wetland,Thousand Island Lake\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_2Km9\",\"nodeExecTime\":\"1008ms\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"null"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":16,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:31:382 {"output":{"thoughts":[{"response":"{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1315ms\"}"},{"response":"{\"nodeName\":\"LLM_2\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_2Km9\",\"nodeExecTime\":\"1008ms\"}"},{"response":"{\"nodeName\":\"End\",\"nodeResult\":\"{\\\"result\\\":\\\"Dear, are you satisfied with my introduction\\\"}\",\"nodeType\":\"End\",\"nodeStatus\":\"success\",\"nodeId\":\"End_DrQn7F\",\"nodeExecTime\":\"0ms\"}"}],"session_id":"1a3f45d95e654534bb01bdbf59e9b732","finish_reason":"stop","text":"Dear, are you satisfied with my introduction"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":16,"model_id":"qwen-max"}]},"request_id":"520d48fd-d7e8-9632-87e2-1ff866da1151"} 2025-02-14 16:55:31:751Go
Contoh permintaan
package main import ( "bufio" "bytes" "encoding/json" "fmt" "net/http" "os" ) func main() { apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi yang sebenarnya 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) requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "hello", "biz_params": map[string]interface{}{ "city": "Hangzhou", }, }, "parameters": map[string]interface{}{ "incremental_output": true, "has_thoughts": true, }, "debug": map[string]interface{}{}, } jsonData, err := json.Marshal(requestBody) if err != nil { fmt.Printf("Gagal mengonversi JSON: %v\n", err) return } req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { fmt.Printf("Gagal membuat permintaan: %v\n", err) return } req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") req.Header.Set("X-DashScope-SSE", "enable") client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Printf("Gagal mengirim permintaan: %v\n", err) return } defer resp.Body.Close() scanner := bufio.NewScanner(resp.Body) for scanner.Scan() { line := scanner.Text() fmt.Println(line) } if err := scanner.Err(); err != nil { fmt.Printf("Kesalahan membaca tanggapan: %v\n", err) } if resp.StatusCode != http.StatusOK { fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode) } }Contoh tanggapan
Permintaan berhasil: id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake Vinegar\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Fish,\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Longjing Shrimp\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Dongpo Pork\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Zhiwei Small\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Basket,Beggar's\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_S78u\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:9 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Chicken\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:10 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,Lingyin\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:11 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"Temple,Songcheng\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:12 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Xixi Wetland\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:13 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\",Qiandao Lake\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_5ZzA\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:14 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_5ZzA\",\"nodeExecTime\":\"1760ms\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"null"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"} id:15 event:result :HTTP_STATUS/200 data:{"output":{"thoughts":[{"response":"{\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_S78u\",\"nodeExecTime\":\"1680ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_5ZzA\",\"nodeExecTime\":\"1760ms\"}"},{"response":"{\"nodeResult\":\"{\\\"result\\\":\\\"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Qiandao Lake\\\"}\",\"nodeType\":\"End\",\"nodeStatus\":\"success\",\"nodeId\":\"End_DrQn7F\",\"nodeExecTime\":\"1ms\"}"}],"session_id":"f3f5c63ec17d44b2a2e9aa18f0e6a22c","finish_reason":"stop","text":"West Lake,Lingyin Temple,Songcheng,Xixi Wetland,Qiandao Lake"},"usage":{},"request_id":"dfea28e9-801b-9c10-a4e7-c8fef790d34f"}Setiap item dalam
thoughtsadalah detail eksekusi dari sebuah node. Berikut adalah contoh hasil node LLM.id:7 event:result :HTTP_STATUS/200 data: { "output": { "thoughts": [ { "response": "{\"nodeName\":\"Start\",\"nodeType\":\"Start\",\"nodeStatus\":\"success\",\"nodeId\":\"Start_bYxoRU\",\"nodeExecTime\":\"0ms\"}" }, { "response": "{\"nodeName\":\"LLM_1\",\"nodeResult\":\"{\\\"result\\\":\\\"Songcheng Fish Soup\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"success\",\"nodeId\":\"LLM_j45e\",\"nodeExecTime\":\"1167ms\"}" }, { "response": "{\"nodeName\":\"LLM_2Km9\",\"nodeResult\":\"{\\\"result\\\":\\\"\\\"}\",\"nodeType\":\"LLM\",\"nodeStatus\":\"executing\",\"nodeId\":\"LLM_2Km9\"}" } ], "session_id": "6035ee0814b64a9fb88346ecaf8b44bf", "finish_reason": "null" }, "usage": { "models": [ { "input_tokens": 25, "output_tokens": 21, "model_id": "qwen-max" } ] }, "request_id": "64825069-b3aa-93a7-bcf1-c66fe57111fd" }Jika Anda tertarik pada hasil streaming dari node LLM (menggunakan LLM_j45e dalam contoh di atas), Anda dapat fokus pada keluaran node dengan nodeId LLM_j45e di setiap push dari
thoughts.Jika sebuah node gagal, seluruh tugas juga akan gagal.
agent_format
Ini adalah dipublikasikan Workflow Application. Sakelar Response hanya menyala untuk LLM Node pertama, yang berfokus hanya pada hasil dari node ini.

Python
Contoh permintaan
import os from http import HTTPStatus from dashscope import Application import dashscope dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' biz_params = { "city": "Hangzhou"} responses = Application.call( # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: api_key="sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), # Ganti dengan ID aplikasi yang sebenarnya app_id='YOUR_APP_ID', prompt='Halo', biz_params=biz_params, # Aktifkan keluaran streaming stream=True, # Aktifkan mode kompatibilitas untuk mengeluarkan hasil streaming dari node tertentu flow_stream_mode="agent_format", # incremental_output=true mengaktifkan keluaran tambahan, false menonaktifkannya, default adalah false jika tidak ditentukan incremental_output=True) 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'Silakan merujuk pada dokumentasi: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print(f'{response.output.text}\n') # Proses teks keluaran, hasil dikembalikan dalam teksContoh tanggapan
Danau Barat Ikan dalam Saus Cuka, Udang Longjing ,Dongpo Babi ,Bakpao Kecil Zhiwei ,Ayam PengemisHTTP
curl
Contoh permintaan
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion \ --header 'X-DashScope-SSE: enable' \ --header "Authorization: Bearer $DASHSCOPE_API_KEY" \ --header 'Content-Type: application/json' \ --data '{ "input": { "prompt": "Halo", "biz_params": { "city": "Hangzhou"} }, "parameters": { "incremental_output": true, "flow_stream_mode": "agent_format" }, "debug": {} }'Contoh tanggapan
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":"Danau Barat"},"usage":{"models":[{"input_tokens":25,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":" Ikan dalam Saus Cuka"},"usage":{"models":[{"input_tokens":25,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":" Saus"},"usage":{"models":[{"input_tokens":25,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":",Udang Longjing,Dongpo"},"usage":{"models":[{"input_tokens":25,"output_tokens":11,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":" Babi,Zhiwei"},"usage":{"models":[{"input_tokens":25,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":" Bakpao Kecil,Ayam Pengemis"},"usage":{"models":[{"input_tokens":25,"output_tokens":19,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"null","text":" Ayam"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"4f99497fdde14ac88799cf1f3209b952","finish_reason":"stop","text":"Tuan, apakah Anda puas dengan perkenalan saya"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"942a4e9f-1976-9615-ac43-c3a0a1ec58fc"}PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi yang sebenarnya $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Halo', 'biz_params' => [ 'city' => 'Hangzhou' ] ], "parameters" => [ 'flow_stream_mode' => 'agent_format', // Untuk aplikasi alur kerja keluaran streaming mode kompatibilitas, atur parameter ini ke agent_format 'incremental_output' => true // Keluaran tambahan ] ]; // 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, false); // Jangan kembalikan data yang ditransfer curl_setopt($ch, curlOPT_WRITEFUNCTION, function ($ch, $string) { echo $string; // Proses data streaming return strlen($string); }); curl_setopt($ch, curlOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $api_key, 'X-DashScope-SSE: enable' // Parameter tetap untuk keluaran streaming ]); // Eksekusi permintaan $response = curl_exec($ch); // Periksa apakah eksekusi curl berhasil if ($response === false) { die("Kesalahan curl: " . 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 "Kode Status HTTP: $status_code\n"; echo "Permintaan Gagal.\n"; } ?>Contoh tanggapan
id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"8ef1ff3df37646ef9c7b8522e8cba912","finish_reason":"null","text":"Danau Barat"},"usage":{"models":[{"input_tokens":25,"output_tokens":1,"model_id":"qwen-max"}]},"request_id":"9cf6539f-32id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"8ef1ff3df37646ef9c7b8522e8cba912","finish_reason":"null","text":" Ikan dalam Saus Cuka,Udang Longjing,Dongpo Babi,"},"usage":{"models":[{"input_tokens":25,"output_tokens":13,"model_id":"qwen-max"}]},"request_id":"9cf6539f-32a0-960b-bdfb-1823545edb5f"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"8ef1ff3df37646ef9c7b8522e8cba912","finish_reason":"null","text":"Bakpao Kecil Zhiwei,"},"usage":{"models":[{"input_tokens":25,"output_tokens":18,"model_id":"qwen-max"}]},"request_id":"9cf6539f-32a0-960b-bdfb-1823545edb5f"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"8ef1ff3df37646ef9c7b8522e8cba912","finish_reason":"null","text":"Ayam Pengemis"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"9cf6539f-32a0-960b-bdfb-1823545edb5f"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"8ef1ff3df37646ef9c7b8522e8cba912","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"9cf6539f-32a0-960b-bdfb-1823545edb5f"}Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';// Ganti dengan ID aplikasi yang sebenarnya const url = `https://dashscope-intl.aliyuncs.com/api/v1/apps/${appId}/completion`; const data = { input: { prompt: "Halo", biz_params:{ 'city':'Hangzhou' } }, parameters: { 'incremental_output' : 'true', "flow_stream_mode" : "agent_format" }, debug: {} }; try { console.log("Mengirim permintaan ke API DashScope..."); const response = await axios.post(url, data, { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json', 'X-DashScope-SSE': 'enable' }, responseType: 'stream' // Untuk menangani tanggapan streaming }); if (response.status === 200) { console.log("Permintaan berhasil:"); // Proses tanggapan streaming response.data.on('data', (chunk) => { console.log(`Menerima chunk: ${chunk.toString()}`); }); response.data.on('end', () => { console.log("Stream berakhir."); }); response.data.on('error', (error) => { console.error(`Kesalahan stream: ${error.message}`); }); } 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 dikenal'); } } } catch (error) { console.error(`Kesalahan 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();Contoh tanggapan
Mengirim permintaan ke API DashScope... Permintaan berhasil: Menerima chunk: id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":"Danau Barat"},"usage":{"models":[{"input_tokens":25,"output_tokens":2,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":" Ikan dalam Saus Cuka"},"usage":{"models":[{"input_tokens":25,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":",Udang Longjing"},"usage":{"models":[{"input_tokens":25,"output_tokens":7,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":",Dongpo Babi"},"usage":{"models":[{"input_tokens":25,"output_tokens":11,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":",Ayam Pengemis"},"usage":{"models":[{"input_tokens":25,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:6 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":",Zhiwei Steamed"},"usage":{"models":[{"input_tokens":25,"output_tokens":19,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:7 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"null","text":" Bakpao"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Menerima chunk: id:8 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"688dbfb307194b6fa4df7346e7c9eded","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"8f179fcf-b2d2-90a2-97e8-ce0b4fdc8819"} Stream berakhir.C#
Contoh permintaan
using System.Net; using System.Text; class Program { static async Task Main(string[] args) { // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey="sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. 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 yang sebenarnya string url = $"https://dashscope-intl.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"": ""Halo"", ""biz_params"":{ ""city"":""Hangzhou"" } }, ""parameters"": { ""incremental_output"": true, ""flow_stream_mode"": ""agent_format"" }, ""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("Permintaan berhasil:"); 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($"Permintaan gagal dengan kode status: {response.StatusCode}"); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } catch (Exception ex) { Console.WriteLine($"Kesalahan memanggil DashScope: {ex.Message}"); } } } }Contoh tanggapan
2025-02-14 17:17:09:408 Permintaan berhasil: 2025-02-14 17:17:10:256 {"output":{"session_id":"37b12773b63944a5b18e352a9c2cef7d","finish_reason":"null","text":"Danau Barat"},"usage":{"models":[{"input_tokens":25,"output_tokens":1,"model_id":"qwen-max"}]},"request_id":"aee133b1-9b5e-9658-a91f-380938c4162c"} 2025-02-14 17:17:10:257 {"output":{"session_id":"37b12773b63944a5b18e352a9c2cef7d","finish_reason":"null","text":" Ikan dalam Saus Cuka,Udang Longjing,"},"usage":{"models":[{"input_tokens":25,"output_tokens":9,"model_id":"qwen-max"}]},"request_id":"aee133b1-9b5e-9658-a91f-380938c4162c"} 2025-02-14 17:17:10:449 {"output":{"session_id":"37b12773b63944a5b18e352a9c2cef7d","finish_reason":"null","text":"Ayam Pengemis,Dongpo"},"usage":{"models":[{"input_tokens":25,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"aee133b1-9b5e-9658-a91f-380938c4162c"} 2025-02-14 17:17:10:650 {"output":{"session_id":"37b12773b63944a5b18e352a9c2cef7d","finish_reason":"null","text":" Babi,Zhiwei Steamed Buns"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"aee133b1-9b5e-9658-a91f-380938c4162c"} 2025-02-14 17:17:10:850 {"output":{"session_id":"37b12773b63944a5b18e352a9c2cef7d","finish_reason":"stop","text":"Tuan, apakah Anda puas dengan perkenalan saya"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"aee133b1-9b5e-9658-a91f-380938c4162c"}Go
Contoh permintaan
package main import ( "bufio" "bytes" "encoding/json" "fmt" "net/http" "os" ) func main() { // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey := "sk-xxx". Namun, tidak disarankan untuk mengkodekan API Key secara langsung ke dalam kode di lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi yang sebenarnya if apiKey == "" { fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body permintaan requestBody := map[string]interface{}{ "input": map[string]interface{}{ "prompt": "Halo", "biz_params": map[string]interface{}{ "city": "Hangzhou", // Pengiriman parameter }, }, "parameters": map[string]interface{}{ "incremental_output": true, // Mengatur parameter ini ke true mengaktifkan keluaran tambahan dari hasil "flow_stream_mode": "agent_format", // Untuk aplikasi alur kerja untuk menerapkan keluaran streaming dalam mode kompatibilitas, parameter ini perlu diatur ke agent_format }, "debug": map[string]interface{}{}, } jsonData, err := json.Marshal(requestBody) if err != nil { fmt.Printf("Gagal melakukan marshal 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 } // Atur header permintaan req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") req.Header.Set("X-DashScope-SSE", "enable") // Permintaan keluaran streaming perlu mengatur parameter ini ke enable // 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 scanner := bufio.NewScanner(resp.Body) for scanner.Scan() { line := scanner.Text() fmt.Println(line) } if err := scanner.Err(); err != nil { fmt.Printf("Kesalahan membaca tanggapan: %v\n", err) return } // Proses tanggapan if resp.StatusCode == http.StatusOK { fmt.Println("Permintaan berhasil:") } else { fmt.Printf("Permintaan gagal dengan kode status: %d\n", resp.StatusCode) } }Contoh tanggapan
Permintaan berhasil: id:1 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":"Danau Barat"},"usage":{"models":[{"input_tokens":25,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:2 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":" Ikan dalam Saus Cuka"},"usage":{"models":[{"input_tokens":25,"output_tokens":3,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:3 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":",Udang Longjing"},"usage":{"models":[{"input_tokens":25,"output_tokens":7,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:4 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":",Dongpo Babi"},"usage":{"models":[{"input_tokens":25,"output_tokens":11,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:5 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":",Zhiwei"},"usage":{"models":[{"input_tokens":25,"output_tokens":15,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:6 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":" Bakpao Kecil,Ayam Pengemis"},"usage":{"models":[{"input_tokens":25,"output_tokens":19,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:7 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"null","text":" Ayam"},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"} id:8 event:result :HTTP_STATUS/200 data:{"output":{"session_id":"ec54aef85e8a462396ecf5fce5074ce8","finish_reason":"stop","text":""},"usage":{"models":[{"input_tokens":25,"output_tokens":21,"model_id":"qwen-max"},{"input_tokens":23,"output_tokens":16,"model_id":"qwen-max"}]},"request_id":"1c4955e2-5d0e-9344-a9a7-6b86000eb5da"}
Ambil basis pengetahuan
Basis Pengetahuan adalah kemampuan RAG dari Model Studio. Ini dapat secara efektif melengkapi model dengan pengetahuan pribadi dan terbaru. Anda dapat menentukan ruang lingkup pengambilan saat memanggil Agent Applications untuk meningkatkan akurasi jawaban.
Sebelum Anda mulai
Di konsol Model Studio, aktifkan Knowledge Base Retrieval Augmentation untuk Agent Application Anda. Kemudian, Publish aplikasi tersebut.
Lewati prasyarat ini untuk RAG Applications.
Tentukan ruang lingkup pengambilan
Untuk mengambil basis pengetahuan yang ditentukan, pilih salah satu metode berikut:
Di konsol, klik Configure Knowledge Base di aplikasi dan pilih basis pengetahuan yang ditentukan. Lalu, Publish aplikasi tersebut.
Jangan asosiasikan basis pengetahuan yang ditentukan di konsol. Kirim ID basis pengetahuan melalui
rag_optionssaat melakukan panggilan API;Asosiasikan basis pengetahuan yang ditentukan di konsol, dan kirim ID basis pengetahuan melalui
rag_optionssaat melakukan panggilan API.Dalam hal ini, hanya basis pengetahuan yang dikirim selama pemanggilan yang akan diambil. Sebagai contoh, sebuah Agent Application diasosiasikan dengan basis pengetahuan A. Namun, Anda menentukan basis pengetahuan B saat melakukan panggilan API. Maka, basis pengetahuan A tidak akan diambil, hanya basis pengetahuan B yang akan diambil.
Untuk mendapatkan ID basis pengetahuan (pipeline_ids): Anda bisa mendapatkannya di halaman Knowledge Base Index, atau gunakan
Data.Idyang dikembalikan oleh CreateIndex API. CreateIndex hanya mendukung basis pengetahuan tidak terstruktur.Spesifikasi Telepon Bailian.docx digunakan dalam sampel berikut sebagai basis pengetahuan tidak terstruktur.
Python
Contoh permintaan
import os from http import HTTPStatus # Versi SDK dashscope yang direkomendasikan >= 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 variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', # Ganti YOUR_APP_ID dengan ID aplikasi prompt='Tolong rekomendasikan telepon seluler di bawah 3000 yuan', rag_options={ "pipeline_ids": ["YOUR_PIPELINE_ID1,YOUR_PIPELINE_ID2"], # Ganti dengan ID basis pengetahuan aktual, pisahkan beberapa ID dengan koma } ) 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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output.text)) # Proses keluaran teks saja # print('%s\n' % (response.usage))Contoh tanggapan
Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan, yang sesuai dengan anggaran Anda. Fiturnya mencakup desain layar ringan 6,4 inci 1080 x 2340 piksel, dipadukan dengan penyimpanan 128GB dan RAM 6GB, cocok untuk penggunaan sehari-hari. Selain itu, ia memiliki baterai 4000mAh dan lensa yang mendukung zoom digital 30×, yang dapat memenuhi kebutuhan fotografi dan masa pakai baterai Anda. Jika Anda mencari ponsel yang tipis, portabel, dan memiliki fitur lengkap, Bailian Zephyr Z9 akan menjadi pilihan yang baik.Java
Contoh permintaan
// Versi SDK dashscope yang direkomendasikan >= 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.Collections; 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 streamCall() throws NoApiKeyException, InputRequiredException { ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") // Ganti dengan ID aplikasi aktual .prompt("Tolong rekomendasikan ponsel sekitar 3000 yuan") .ragOptions(RagOptions.builder() // Ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa dengan koma .pipelineIds(List.of("PIPELINES_ID1", "PIPELINES_ID2")) .build()) .build(); Application application = new Application(); ApplicationResult result = application.call(param); System.out.printf("%s\n", result.getOutput().getText());// Proses keluaran teks saja } public static void main(String[] args) { try { streamCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Exception: %s", e.getMessage()); System.out.println("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Dalam anggaran 3000 yuan Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499 dan 2799, yang sangat cocok dengan anggaran Anda. Fiturnya mencakup: - **Desain ringan**: Layar 6,4 inci berukuran sedang, nyaman untuk operasi satu tangan. - **Kinerja seimbang**: Dilengkapi dengan penyimpanan 128GB dan RAM 6GB, yang cukup untuk penggunaan sehari-hari. - **Daya tahan baterai**: Memiliki baterai 4000mAh yang dapat memenuhi kebutuhan penggunaan normal sepanjang hari. - **Kemampuan fotografi**: Memiliki lensa dengan zoom digital 30×, cocok untuk menangkap pemandangan jauh. Jika Anda lebih fokus pada pengalaman bermain game atau memiliki persyaratan khusus lainnya, beri tahu saya sehingga saya dapat memberikan rekomendasi yang lebih personal!HTTP
curl
Contoh Permintaan
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": "Tolong rekomendasikan ponsel di bawah 3000 yuan" }, "parameters": { "rag_options" : { "pipeline_ids":["YOUR_PIPELINE_ID1"]} }, "debug": {} }'Ganti YOUR_APP_ID dengan ID aplikasi aktual, dan YOUR_PIPELINE_ID1 dengan ID basis pengetahuan yang ditentukan.
Contoh Tanggapan
{"output":{"finish_reason":"stop","session_id":"d1208af96f9a4d8390e9b29e86f0623c", "text":"Untuk anggaran di bawah 3000 yuan, saya merekomendasikan Bailian Zephyr Z9. Ponsel ini dibanderol antara 2499 dan 2799 yuan, yang sesuai dengan persyaratan anggaran Anda. Fiturnya mencakup desain layar ringan 6,4 inci 1080 x 2340 piksel, dipadukan dengan penyimpanan 128GB dan RAM 6GB, cukup untuk menangani berbagai aplikasi dan multitasking dalam penggunaan sehari-hari. Selain itu, ia dilengkapi dengan baterai 4000mAh, memastikan penggunaan sepanjang hari, dan dilengkapi dengan lensa zoom digital 30×, memungkinkan Anda menangkap detail dalam hidup Anda. Secara keseluruhan, Bailian Zephyr Z9 adalah pilihan yang baik dalam hal nilai uang, desain, dan fungsi."}, "usage":{"models":[{"output_tokens":158,"model_id":"qwen-max","input_tokens":1025}]}, "request_id":"eb2d40f7-bede-9d48-88dc-08abdcdd0351"}%PHP
Contoh Permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Tolong rekomendasikan smartphone di bawah 3000 yuan.' ], "parameters" => [ 'rag_options' => [ 'pipeline_ids' => ['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'] // Ganti dengan ID basis pengetahuan yang ditentukan; gunakan koma untuk memisahkan beberapa ID ] ] ]; // 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 error: " . 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); // Tangani 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=Error tidak dikenal\n"; } } ?>Contoh Tanggapan
Untuk anggaran di bawah 3000 yuan, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan, yang sempurna untuk anggaran Anda. Fiturnya mencakup desain ringan dengan layar 6,4 inci 1080 x 2340 piksel, penyimpanan 128GB dan RAM 6GB, yang dapat memenuhi kebutuhan penggunaan sehari-hari. Selain itu, baterai 4000mAh-nya memastikan penggunaan tanpa khawatir sepanjang hari, dan dilengkapi dengan lensa zoom digital 30× untuk menangkap detail dari kejauhan, menjadikannya pilihan yang tipis namun kuat.Node.js
Dependensi:
npm install axiosContoh Permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';//Ganti dengan ID aplikasi aktual 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:['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'] // Ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa dengan koma } }, 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 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();Contoh Tanggapan
Untuk anggaran di bawah 3000 yuan, saya merekomendasikan Anda mempertimbangkan **Bailian Zephyr Z9**. Ponsel ini memiliki harga referensi 3999-4299 yuan, tetapi jika Anda bisa menangkap promosi atau diskon, mungkin akan masuk dalam anggaran Anda. ### Bailian Zephyr Z9 - Seni Portabilitas Ringan - **Layar**: 6,4 inci 1080 x 2340 piksel - **Penyimpanan dan RAM**: 128GB penyimpanan / 6GB RAM - **Baterai**: 4000mAh - **Kamera**: Lensa zoom digital 30× Ponsel ini menampilkan desain yang tipis dan portabel, sangat nyaman untuk penggunaan sehari-hari, dan memiliki daya tahan baterai yang baik. Jika Anda lebih peduli tentang nilai uang dan pengalaman pengguna sehari-hari, Bailian Zephyr Z9 adalah pilihan yang baik. Jika anggaran Anda sangat ketat, saya sarankan untuk mengamati aktivitas promosi di platform e-commerce, atau mempertimbangkan ponsel merek lain dalam rentang harga yang sama. Semoga saran-saran ini membantu!C#
Contoh Permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi aktual // YOUR_PIPELINE_ID1 ganti dengan ID basis pengetahuan yang ditentukan if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan 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 jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Tolong rekomendasikan ponsel di bawah 3000 yuan"" }}, ""parameters"": {{ ""rag_options"" : {{ ""pipeline_ids"":[""YOUR_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($"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}"); } } } }Contoh Tanggapan
{ "output": { "finish_reason": "stop", "session_id": "2344ddc540ec4c5fa110b92d813d3807", "text": "Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini memiliki harga referensi antara 2499-2799 yuan, yang sesuai dengan persyaratan anggaran Anda. Fiturnya mencakup layar 6,4 inci 1080 x 2340 piksel, penyimpanan 128GB dan RAM 6GB, yang cukup untuk penggunaan sehari-hari. Selain itu, baterai 4000mAh memastikan penggunaan normal sepanjang hari, sementara lensa zoom digital 30× dapat memenuhi kebutuhan Anda untuk menangkap pemandangan jauh. Ini adalah pilihan yang tipis, portabel, dan kaya fitur." }, "usage": { "models": [ { "output_tokens": 121, "model_id": "qwen-max", "input_tokens": 1841 } ] }, "request_id": "99fceedf-2034-9fb0-aaad-9c837136801f" }Go
Contoh Permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual if apiKey == "" { fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body 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{"YOUR_PIPELINE_ID1"}, // Ganti dengan ID basis pengetahuan yang ditentukan }, }, "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)) } }Contoh Tanggapan
{ "output": { "finish_reason": "stop", "session_id": "fadbb4d1fe094ade88985620363506e6", "text": "Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan, yang sangat cocok untuk anggaran di bawah 3000 yuan. Fiturnya mencakup desain layar ringan 6,4 inci 1080 x 2340 piksel, dipadukan dengan penyimpanan 128GB dan RAM 6GB, yang dapat memenuhi kebutuhan penggunaan sehari-hari. Pada saat yang sama, baterai 4000mAh memastikan penggunaan tanpa khawatir sepanjang hari, sementara lensa zoom digital 30× dapat menangkap detail dari kejauhan, menjadikannya pilihan yang sangat hemat biaya." }, "usage": { "models": [ { "output_tokens": 119, "model_id": "qwen-max", "input_tokens": 1055 } ] }, "request_id": "3a755dd7-58a0-9a5e-8a07-b85b1db838a6" }Ambil dokumen tak terstruktur yang ditentukan: Kirim ID basis pengetahuan, ID dokumen, tag, atau metadata (pasangan kunci-nilai) dalam
rag_options.ID dokumen, tag, dan metadata hanya efektif untuk dokumen tak terstruktur.
Bagaimana cara mendapatkannya:
ID Dokumen (file_ids): Anda bisa menemukannya di halaman Data Aplikasi, atau gunakan ID yang dikembalikan oleh AddFile API saat mengimpor dokumen.
Tag Dokumen: Anda bisa menemukan tag di halaman Data Aplikasi, atau dapatkan dari DescribeFile API.
Metadata Dokumen: Di halaman Basis Pengetahuan, klik View untuk masuk ke basis pengetahuan. Lalu, klik Metadata Information.
Anda dapat menentukan beberapa ID dokumen, tetapi dokumen tersebut harus sudah termasuk dalam indeks pengetahuan.
Saat menentukan ID dokumen, Anda juga harus menentukan ID basis pengetahuan tempat dokumen tersebut berada.
Hanya dokumen yang ditentukan yang akan diambil. Sebagai contoh, sebuah Agent Application mengasosiasikan basis pengetahuan A, tetapi pemanggilan API menentukan dokumen dari basis pengetahuan B. Maka, dokumen dari A tidak akan diambil, hanya dokumen dari B yang akan diambil.
Spesifikasi Telepon Bailian.docx digunakan dalam sampel berikut sebagai basis pengetahuan tidak terstruktur.
Python
Contoh permintaan
import os from http import HTTPStatus # Versi SDK dashscope yang direkomendasikan >= 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 variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', # Ganti YOUR_APP_ID dengan ID aplikasi prompt='Tolong rekomendasikan ponsel di bawah 3000 yuan', rag_options={ "pipeline_ids": ["YOUR_PIPELINE_ID1", "YOUR_PIPELINE_ID2"], # Ganti dengan ID basis pengetahuan aktual, pisahkan beberapa dengan koma "file_ids": ["YOUR_FILE_ID1", "YOUR_FILE_ID2"], # Ganti dengan ID dokumen tidak terstruktur aktual, pisahkan beberapa dengan koma "metadata_filter": { # Pasangan kunci-nilai metadata dokumen, pisahkan beberapa dengan koma "key1": "value1", "key2": "value2" }, "tags": ["tag1", "tag2"] # Tag dokumen, pisahkan beberapa dengan koma } ) 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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output))Contoh tanggapan
{ "text": "Dalam anggaran di bawah 3000 yuan, saya merekomendasikan Anda mempertimbangkan **Bailian Zephyr Z9**. Ponsel ini memiliki fitur berikut: - **Layar**: 6,4 inci 1080 x 2340 piksel, cocok untuk penggunaan sehari-hari dan hiburan. - **Memori dan penyimpanan**: RAM 6GB + ruang penyimpanan 128GB, yang dapat memenuhi kebutuhan kehalusan dan penyimpanan sebagian besar pengguna. - **Kapasitas baterai**: 4000mAh, memberikan jaminan penggunaan sepanjang hari. - **Fungsi kamera**: Dilengkapi lensa dengan zoom digital 30×, mampu menangkap detail dari jarak lebih jauh. - **Fitur lainnya**: Desain ringan dan portabel, mudah dibawa. Harga referensi adalah antara 2499 dan 2799 yuan, yang sangat sesuai dengan persyaratan anggaran Anda dan menawarkan nilai uang yang baik. Semoga saran-saran ini membantu!", "finish_reason": "stop", "session_id": "10bdea3d1435406aad8750538b701bee", "thoughts": null, "doc_references": null }Java
Contoh permintaan
// Versi SDK dashscope yang direkomendasikan >= 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 com.google.gson.JsonObject; 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 streamCall() throws NoApiKeyException, InputRequiredException { JsonObject metadataFilter = new JsonObject(); metadataFilter.addProperty("key1", "value1"); // Pasangan kunci-nilai metadata metadataFilter.addProperty("key2", "value2"); // Untuk beberapa, panggil addProperty berulang kali ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") // Ganti dengan ID aplikasi aktual .prompt("Tolong rekomendasikan ponsel sekitar 3000 yuan") .ragOptions(RagOptions.builder() .pipelineIds(List.of("PIPELINES_ID1","PIPELINES_ID2")) // Ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa dengan koma .fileIds(List.of("FILE_ID1", "FILE_ID2")) // Ganti dengan ID dokumen tidak terstruktur yang ditentukan, pisahkan beberapa dengan koma .tags(List.of("tags1", "tags2")) // Ganti dengan ID tag dokumen yang ditentukan, pisahkan beberapa dengan koma .metadataFilter(metadataFilter) .build()) .build(); Application application = new Application(); ApplicationResult result = application.call(param); System.out.printf("%s\n", result.getOutput().getText());// Proses keluaran teks saja } public static void main(String[] args) { try { streamCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Exception: %s", e.getMessage()); System.out.println("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan, yang sangat cocok dengan rentang anggaran sekitar 3000 yuan Anda. ### Sorotan produk Bailian Zephyr Z9: - **Layar**: 6,4 inci, 1080 x 2340 piksel, memberikan pengalaman visual yang jelas dan detail. - **Penyimpanan dan RAM**: Ruang penyimpanan 128GB dan RAM 6GB, cukup untuk memenuhi kebutuhan penggunaan sehari-hari. - **Baterai**: Kapasitas baterai 4000mAh dapat memastikan penggunaan normal sepanjang hari. - **Kamera**: Mendukung lensa zoom digital 30×, mampu menangkap detail dari kejauhan. - **Desain**: Ringan dan portabel, cocok untuk pengguna yang mengejar gaya dan kenyamanan. Ponsel ini tidak hanya berharga moderat tetapi juga memiliki konfigurasi seimbang dan desain penampilan yang sangat baik, menjadikannya pilihan yang sangat baik dalam rentang harga ini. Semoga saran-saran ini membantu! Jika Anda memiliki persyaratan atau pertanyaan lain, jangan ragu untuk memberi tahu saya.HTTP
curl
Contoh permintaan
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": "Tolong rekomendasikan ponsel sekitar 3000 yuan" }, "parameters": { "rag_options" : { "pipeline_ids":["YOUR_PIPELINE_ID1"], "file_ids":["YOUR_FILE_ID1"], "metadata_filter":{ "name":"Zhang San"}, "tags":"ponsel" } }, "debug": {} }'Ganti YOUR_APP_ID dengan ID aplikasi aktual, YOUR_PIPELINE_ID1 dengan ID basis pengetahuan yang ditentukan, YOUR_FILE_ID1 dengan ID dokumen tidak terstruktur yang ditentukan, dan pasangan kunci-nilai dalam metadata_filter dengan metadata aktual.
Contoh tanggapan
{"output":{"finish_reason":"stop","session_id":"f2f114864dd24a458f923aab0ec99a1d", "text":"Berdasarkan anggaran Anda, saya merekomendasikan Anda mempertimbangkan \"Tongyi Vivid 7\". Ini memiliki layar penuh 6,5 inci 1080 x 2400 piksel, dengan kemampuan fotografi AI cerdas yang memungkinkan Anda mengambil foto dengan warna dan detail tingkat profesional. Konfigurasi perangkat kerasnya mencakup RAM 8GB dan ruang penyimpanan 128GB, memastikan pengalaman operasi yang lancar; kapasitas baterai 4500mAh juga memenuhi kebutuhan penggunaan sehari-hari dengan baik. Selain itu, desain kunci sidik jari samping yang nyaman dan aman. Harga referensi adalah antara 2999 dan 3299 yuan, yang sesuai dengan rentang anggaran Anda."}, "usage":{"models":[{"output_tokens":141,"model_id":"qwen-plus","input_tokens":1610}]}, "request_id":"d815d3d1-8cef-95e2-b895-89fc8d0e0f84"}%PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Tolong bantu saya merekomendasikan smartphone di bawah 3000 yuan.' ], "parameters" => [ 'rag_options' => [ 'pipeline_ids' => ['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'], // Ganti dengan ID basis pengetahuan yang ditentukan; gunakan koma untuk memisahkan beberapa ID 'file_ids' => ['YOUR_FILE_ID1','YOUR_FILE_ID2'], // Ganti dengan ID dokumen aktual; gunakan koma untuk memisahkan beberapa ID "metadata_filter" => [ // Pasangan kunci-nilai metadata "key1" => "value1", "key2" => "value2" ], "tags" => ["Tag1", "Tag2"] // Tag dokumen ] ] ]; // 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 error: " . 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); // Tangani 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=Error tidak dikenal\n"; } } ?>Contoh tanggapan
Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini memiliki harga referensi antara 2499-2799 yuan, yang sempurna untuk persyaratan di bawah 3000 yuan. Fiturnya mencakup desain ringan 6,4 inci 1080 x 2340 piksel, dipadukan dengan penyimpanan 128GB dan RAM 6GB, yang dapat memenuhi kebutuhan penggunaan sehari-hari Anda. Selain itu, ia dilengkapi dengan baterai 4000mAh untuk memastikan penggunaan tanpa khawatir sepanjang hari, dan memiliki lensa zoom digital 30× untuk menangkap detail dari kejauhan, menjadikannya pilihan tipis namun kuat.Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan: apiKey='sk-xxx' menggunakan API Key Model Studio. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID';//Ganti dengan ID aplikasi aktual 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:['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'], // Ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa ID dengan koma file_ids:['YOUR_FILE_ID1','YOUR_FILE_ID2'], // Ganti dengan ID file yang ditentukan, pisahkan beberapa ID dengan koma metadata_filter:{ // Pasangan kunci-nilai metadata, pisahkan beberapa pasangan dengan koma 'key1':'value1', 'key2':'value2' }, tags: ['tag1', 'tag2'] // Tag dokumen, pisahkan beberapa tag dengan koma } }, 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 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();Contoh tanggapan
Dalam anggaran di bawah 3000 yuan, saya merekomendasikan Anda mempertimbangkan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan dan menampilkan desain tipis dan portabel dengan layar 6,4 inci 1080 × 2340 piksel, penyimpanan 128GB, dan RAM 6GB, yang dapat memenuhi kebutuhan penggunaan sehari-hari Anda. Baterai 4000mAh-nya memastikan penggunaan sepanjang hari, sementara lensa zoom digital 30× membantu menangkap detail dari jarak lebih jauh. Secara keseluruhan, ini adalah pilihan bernilai tinggi.C#
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi aktual // YOUR_PIPELINE_ID1 ganti dengan ID basis pengetahuan yang ditentukan, YOUR_FILE_ID1 ganti dengan ID dokumen tidak terstruktur yang ditentukan if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan 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 jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Tolong rekomendasikan ponsel di bawah 3000 yuan"" }}, ""parameters"": {{ ""rag_options"" : {{ ""pipeline_ids"":[""YOUR_PIPELINE_ID1""], ""file_ids"":[""YOUR_FILE_ID1""], ""metadata_filter"":{{ ""name"":""Zhang San"" }}, ""tags"":""ponsel"" }} }}, ""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($"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}"); } } } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "be9b5a1964fe41c9bbfd8674226bd238", "text": "Berdasarkan anggaran Anda, saya merekomendasikan **Bailian Zephyr Z9**. Ponsel ini dibanderol antara 2499-2799 yuan, yang sangat cocok untuk anggaran di bawah 3000 yuan. ### Sorotan produk - **Desain ringan**: Menampilkan layar 6,4 inci dengan resolusi 1080 x 2340 piksel, dengan penampilan yang indah dan mudah dibawa. - **Kinerja seimbang**: Dilengkapi dengan RAM 6GB dan ruang penyimpanan 128GB, mampu memenuhi kebutuhan penggunaan sehari-hari. - **Baterai tahan lama**: Baterai internal 4000mAh memastikan penggunaan normal sepanjang hari tidak terganggu. - **Fotografi unggul**: Mendukung fungsi zoom digital 30×, dengan mudah menangkap pemandangan jauh atau detail. Jika Anda tidak memiliki persyaratan khusus yang tinggi untuk fotografi atau gaming, maka Bailian Zephyr Z9 akan menjadi pilihan yang baik." }, "usage": { "models": [ { "output_tokens": 180, "model_id": "qwen-max", "input_tokens": 1055 } ] }, "request_id": "d0811195-0b3f-931e-90b8-323a65053d9c" }Go
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual if apiKey == "" { fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body 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{"YOUR_PIPELINE_ID1"}, // Ganti dengan ID basis pengetahuan tidak terstruktur yang ditentukan "file_ids": []string{"YOUR_FILE_ID1"}, // Ganti dengan ID dokumen tidak terstruktur yang ditentukan "metadata_filter": map[string]string{ "name": "Zhang San", // Pasangan kunci-nilai metadata }, "tags": "ponsel", // Tag dokumen data tidak terstruktur }, }, "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)) } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "9de268b3d84748b5ac6321aba72b6ecd", "text": "Berdasarkan anggaran Anda, saya merekomendasikan Anda mempertimbangkan **Bailian Zephyr Z9**. Ponsel ini memiliki harga referensi 2499-2799 yuan, yang sangat cocok untuk kebutuhan di bawah 3000 yuan. Ini memiliki fitur berikut: - Desain layar ringan 6,4 inci 1080 x 2340 piksel. - Dipadukan dengan penyimpanan 128GB dan RAM 6GB, mampu memenuhi kebutuhan penggunaan sehari-hari. - Dilengkapi dengan baterai 4000mAh, memastikan penggunaan normal sepanjang hari. - Kamera belakang mendukung lensa zoom digital 30×, mampu menangkap detail dari kejauhan. Jika Anda tidak memiliki persyaratan yang sangat tinggi untuk fotografi atau gaming, maka Bailian Zephyr Z9 harus menjadi pilihan yang baik." }, "usage": { "models": [ { "output_tokens": 156, "model_id": "qwen-max", "input_tokens": 1055 } ] }, "request_id": "8940b597-92e1-9471-b4eb-896e563c479d" }
Ambil data yang ditentukan dari dokumen terstruktur: Kirim ID basis pengetahuan dan pasangan "header data terstruktur + nilai" dalam
rag_options.Dapatkan pasangan kunci-nilai data terstruktur (structured_filter): Di halaman Basis Pengetahuan, klik View untuk masuk ke basis pengetahuan. Selanjutnya, klik View Index.
Python
Contoh permintaan
import os from http import HTTPStatus # Versi SDK dashscope yang direkomendasikan >= 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 variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. api_key=os.getenv("DASHSCOPE_API_KEY"), app_id='YOUR_APP_ID', # Ganti YOUR_APP_ID dengan ID aplikasi prompt='Tolong rekomendasikan ponsel di bawah 3000 yuan', rag_options={ "pipeline_ids": ["YOUR_PIPELINE_ID1", "YOUR_PIPELINE_ID2"], # Ganti dengan ID basis pengetahuan aktual, pisahkan beberapa dengan koma "structured_filter": { # Pasangan kunci-nilai data terstruktur, sesuai dengan data terstruktur, pisahkan beberapa dengan koma "key1": "value1", "key2": "value2" } } ) 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: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code') else: print('%s\n' % (response.output))Contoh tanggapan
{ "text": "Saya merekomendasikan ponsel \"Bailian\", yang dibanderol 2999 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda ingin mengetahui informasi lebih lanjut, seperti performa, penampilan, dll., silakan beri tahu saya.", "finish_reason": "stop", "session_id": "80a3b868b5ce42c8a12f01dccf8651e2", "thoughts": null, "doc_references": null }Java
Contoh permintaan
// Versi SDK dashscope yang direkomendasikan >= 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 com.google.gson.JsonObject; 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 streamCall() throws NoApiKeyException, InputRequiredException { JsonObject structureFilter = new JsonObject(); structureFilter.addProperty("key1", "value1"); // Pasangan kunci-nilai data terstruktur structureFilter.addProperty("key2", "value2"); // Untuk beberapa, panggil addProperty berulang kali ApplicationParam param = ApplicationParam.builder() // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan .apiKey("sk-xxx"). Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. .apiKey(System.getenv("DASHSCOPE_API_KEY")) .appId("YOUR_APP_ID") // Ganti dengan ID aplikasi aktual .prompt("Tolong rekomendasikan ponsel sekitar 3000 yuan") .ragOptions(RagOptions.builder() .pipelineIds(List.of("PIPELINE_ID1","PIPELINE_ID2")) // Ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa dengan koma .structuredFilter(structureFilter) .build()) .build(); Application application = new Application(); ApplicationResult result = application.call(param); System.out.printf("%s\n", result.getOutput().getText());// Proses keluaran teks saja } public static void main(String[] args) { try { streamCall(); } catch (ApiException | NoApiKeyException | InputRequiredException e) { System.out.printf("Exception: %s", e.getMessage()); System.out.println("Lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code"); } System.exit(0); } }Contoh tanggapan
Saya merekomendasikan ponsel "Bailian", yang dibanderol 2999.0 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda ingin mengetahui informasi lebih lanjut tentang ponsel ini, seperti konfigurasi, performa, dll., silakan beri tahu saya, dan saya akan memberikan informasi lebih rinci kepada Anda.HTTP
curl
Contoh permintaan
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": "Tolong rekomendasikan ponsel sekitar 3000 yuan" }, "parameters": { "rag_options" : { "pipeline_ids":["YOUR_PIPELINE_ID1"], "structured_filter":{ "price":"2999"} } }, "debug": {} }'Ganti YOUR_APP_ID dengan ID aplikasi aktual, YOUR_PIPELINE_ID1 dengan ID basis pengetahuan yang ditentukan.
Contoh tanggapan
{"output":{"finish_reason":"stop","session_id":"d6bc4206f9cc4d368d534f8aa4e502bc", "text":"Saya merekomendasikan ponsel dengan harga mendekati 3000 yuan:\n\n- **Ponsel Bailian**, dibanderol 2999 yuan. \n\nPonsel ini menawarkan nilai uang yang baik dan memenuhi persyaratan anggaran Anda. Jika Anda membutuhkan informasi lebih rinci tentang ponsel ini atau memiliki persyaratan khusus lainnya (seperti performa kamera, model prosesor, dll.), silakan beri tahu saya, dan saya akan mencoba memberikan informasi yang lebih komprehensif."}, "usage":{"models":[{"output_tokens":73,"model_id":"qwen-max","input_tokens":235}]},"request_id":"934e1258-219c-9ef1-8982-fc1bcefb8f11"}%PHP
Contoh permintaan
<?php # Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan API key Anda: $api_key="sk-xxx". Namun, tidak disarankan untuk mengkode keras API key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API key. $api_key = getenv("DASHSCOPE_API_KEY"); $application_id = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual $url = "https://dashscope-intl.aliyuncs.com/api/v1/apps/$application_id/completion"; // Konstruksi data permintaan $data = [ "input" => [ 'prompt' => 'Tolong bantu saya merekomendasikan smartphone di bawah 3000 yuan.' ], "parameters" => [ 'rag_options' => [ 'pipeline_ids' => ['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'], // Ganti dengan ID basis pengetahuan yang ditentukan; gunakan koma untuk memisahkan beberapa ID "structured_filter" => [ // Pasangan kunci-nilai data terstruktur; gunakan koma untuk memisahkan beberapa entri "key1" => "value1", "key2" => "value2" ] ] ] ]; // 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 error: " . 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); // Tangani 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=Error tidak dikenal\n"; } } ?>Contoh tanggapan
Saya merekomendasikan ponsel "Bailian", yang dibanderol 2999 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda ingin mengetahui informasi lebih lanjut tentang ponsel ini, silakan beri tahu saya.Node.js
Dependensi:
npm install axiosContoh permintaan
const axios = require('axios'); async function callDashScope() { // Jika variabel lingkungan belum dikonfigurasi, Anda dapat mengganti baris berikut dengan apiKey='sk-xxx'. Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. const apiKey = process.env.DASHSCOPE_API_KEY; const appId = 'YOUR_APP_ID'; // Ganti dengan ID aplikasi aktual // YOUR_PIPELINE_ID1 ganti dengan ID basis pengetahuan yang ditentukan, pisahkan beberapa ID basis pengetahuan dengan koma 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:['YOUR_PIPELINE_ID1','YOUR_PIPELINE_ID2'], structured_filter:{ 'key1':'value1', 'key2':'value2' } } }, 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 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();Contoh tanggapan
Saya merekomendasikan ponsel "Bailian", yang dibanderol 2999 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda ingin mengetahui detail lebih lanjut atau memiliki persyaratan khusus lainnya, silakan beri tahu saya!C#
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. string apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY")?? throw new InvalidOperationException("Variabel lingkungan DASHSCOPE_API_KEY belum diatur.");; string appId = "YOUR_APP_ID";// Ganti dengan ID aplikasi aktual // YOUR_PIPELINE_ID1 ganti dengan ID basis pengetahuan yang ditentukan if (string.IsNullOrEmpty(apiKey)) { Console.WriteLine("Pastikan 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 jsonContent = $@"{{ ""input"": {{ ""prompt"": ""Tolong rekomendasikan ponsel di bawah 3000 yuan"" }}, ""parameters"": {{ ""rag_options"" : {{ ""pipeline_ids"":[""YOUR_PIPELINE_ID1""], ""structured_filter"":{{ ""price"":""2999"" }} }} }}, ""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($"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}"); } } } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "108e9104568e44f1915fb3d3d44fdc92", "text": "Saya merekomendasikan ponsel \"Bailian\", yang dibanderol 2999.0 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda membutuhkan informasi lebih lanjut tentang ponsel ini atau saran lainnya, silakan beri tahu saya." }, "usage": { "models": [ { "output_tokens": 38, "model_id": "qwen-max", "input_tokens": 104 } ] }, "request_id": "d6d103f4-5c22-9782-9682-45d51a5607f9" }Go
Contoh permintaan
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". Namun, tidak disarankan untuk mengkode keras API Key langsung ke dalam kode dalam lingkungan produksi untuk mengurangi risiko kebocoran API Key. apiKey := os.Getenv("DASHSCOPE_API_KEY") appId := "YOUR_APP_ID" // Ganti dengan ID aplikasi aktual if apiKey == "" { fmt.Println("Pastikan DASHSCOPE_API_KEY telah diatur.") return } url := fmt.Sprintf("https://dashscope-intl.aliyuncs.com/api/v1/apps/%s/completion", appId) // Buat body 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{"YOUR_PIPELINE_ID1"}, // Ganti dengan ID basis pengetahuan terstruktur yang ditentukan "structured_filter": map[string]string{ "price": "2999", // Pasangan kunci-nilai data terstruktur }, }, }, "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)) } }Contoh tanggapan
{ "output": { "finish_reason": "stop", "session_id": "9e0a031b51d1492e8b613ca391b445b0", "text": "Saya merekomendasikan Anda mempertimbangkan ponsel \"Bailian\", yang dibanderol 2999.0 yuan, sesuai dengan persyaratan anggaran Anda. Jika Anda membutuhkan informasi lebih lanjut tentang ponsel ini atau rekomendasi lainnya, silakan beri tahu saya." }, "usage": { "models": [ { "output_tokens": 39, "model_id": "qwen-max", "input_tokens": 104 } ] }, "request_id": "036abd4f-10c8-9709-881d-8cc9f8095d54" }
Lihat informasi
Lihat proses pengambilan: Saat melakukan panggilan, tambahkan
has_thoughtske dalam kode dan atur menjadi True. Proses pengambilan akan dikembalikan di bidangthoughtsdarioutput.Lihat sumber jawaban: Aktifkan Show Source di Retrieval Configuration dari Agent Application dan publikasikan aplikasi tersebut.

Referensi API
Untuk daftar lengkap parameter, lihat Application calling API.
Kode kesalahan
Jika panggilan gagal dan pesan kesalahan dikembalikan, lihat Pesan kesalahan untuk pemecahan masalah.
Referensi
Untuk metode berkode rendah untuk memanggil aplikasi RAG dengan API/SDK, lihat Bangun aplikasi RAG dengan cepat menggunakan kode rendah.
Untuk informasi tentang model yang dapat dipilih, lihat Model.
Untuk informasi tentang cara membangun dan menggunakan aplikasi, lihat Ikhtisar aplikasi.
Untuk alat rekayasa prompt untuk aplikasi, lihat Rekayasa prompt.