1. Inisialisasi klienSebelum mengunggah file dan membuat basis pengetahuan, Anda harus menginisialisasi klien dengan AccessKey dan Rahasia AccessKey yang telah dikonfigurasi untuk menyelesaikan verifikasi identitas dan konfigurasi endpoint. Setelah inisialisasi, Anda akan memiliki objek Client untuk panggilan API selanjutnya. | Pythondef create_client() -> bailian20231229Client:
"""
Buat dan konfigurasikan klien.
Returns:
bailian20231229Client: Klien yang telah dikonfigurasi.
"""
config = open_api_models.Config(
access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
)
# Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
config.endpoint = 'bailian.ap-southeast-1.aliyuncs.com'
return bailian20231229Client(config)
Java/**
* Inisialisasi klien.
*
* @return Objek klien yang telah dikonfigurasi
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
config.endpoint = "bailian-vpc.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
PHP/**
* Inisialisasi klien.
*
* @return Bailian Objek klien yang telah dikonfigurasi.
*/
public static function createClient(){
$config = new Config([
"accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
"accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
]);
// Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
$config->endpoint = 'bailian-vpc.ap-southeast-1.aliyuncs.com';
return new Bailian($config);
}
Node.js/**
* Buat dan konfigurasikan klien.
* @return Client
* @throws Exception
*/
static createClient() {
const config = new OpenApi.Config({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
});
// Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
config.endpoint = `bailian-vpc.ap-southeast-1.aliyuncs.com`;
return new bailian20231229.default(config);
}
C#/// <summary>
/// Inisialisasi klien.
/// </summary>
/// <returns>Objek klien yang telah dikonfigurasi</returns>
/// <exception cref="Exception">Melemparkan pengecualian jika terjadi kesalahan selama inisialisasi</exception>
public static AlibabaCloud.SDK.Bailian20231229.Client CreateClient()
{
var config = new AlibabaCloud.OpenApiClient.Models.Config
{
AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
};
// Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
config.Endpoint = "bailian-vpc.ap-southeast-1.aliyuncs.com";
return new AlibabaCloud.SDK.Bailian20231229.Client(config);
}
Go// CreateClient membuat dan mengonfigurasi klien.
//
// Returns:
// - *client.Bailian20231229Client: Klien yang telah dikonfigurasi.
// - error: Pesan kesalahan.
func CreateClient() (_result *bailian20231229.Client, _err error) {
config := &openapi.Config{
AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
}
// Endpoint akses di bawah ini menggunakan endpoint jaringan publik Alibaba Cloud sebagai contoh. Ubah sesuai kebutuhan.
config.Endpoint = tea.String("bailian-vpc.ap-southeast-1.aliyuncs.com")
_result = &bailian20231229.Client{}
_result, _err = bailian20231229.NewClient(config)
return _result, _err
}
|
2. Unggah file basis pengetahuan |
2.1. Minta sewa unggah fileSebelum membuat basis pengetahuan, unggah file ke ruang kerja yang sama untuk dijadikan sumber pengetahuan. Sebelum mengunggah, panggil API ApplyFileUploadLease untuk meminta sewa unggah file. Sewa ini merupakan otorisasi sementara yang memungkinkan Anda mengunggah file dalam waktu terbatas (berlaku beberapa menit). workspace_id: Cara mendapatkan ID ruang kerja category_id: Untuk contoh ini, masukkan default. Alibaba Cloud Model Studio menggunakan kategori untuk mengelola file yang Anda unggah. Sistem secara otomatis membuat kategori default. Anda juga dapat memanggil API AddCategory untuk membuat kategori baru dan mendapatkan category_id yang sesuai. file_name: Masukkan nama file yang diunggah (termasuk ekstensi). Nilainya harus sesuai dengan nama file sebenarnya. Misalnya, saat mengunggah file pada gambar, masukkan Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx. 
file_md5: Masukkan Hash MD5 dari file yang diunggah (Alibaba Cloud saat ini tidak memverifikasi nilai ini, sehingga mempermudah pengunggahan file menggunakan URL). Untuk Python, gunakan modul hashlib untuk mendapatkan Hash MD5. Untuk bahasa lain, lihat kode contoh lengkap. Contoh kode import hashlib
def calculate_md5(file_path):
"""
Hitung Hash MD5 dari sebuah file.
Parameters:
file_path (str): Jalur lokal ke file.
Returns:
str: Hash MD5 dari file.
"""
md5_hash = hashlib.md5()
# Baca file dalam mode biner
with open(file_path, "rb") as f:
# Baca file dalam potongan untuk menghindari penggunaan memori tinggi pada file besar
for chunk in iter(lambda: f.read(4096), b""):
md5_hash.update(chunk)
return md5_hash.hexdigest()
# Contoh penggunaan
file_path = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah, misalnya /xxx/xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx"
md5_value = calculate_md5(file_path)
print(f"Hash MD5 file: {md5_value}")
Ganti variabel file_path dalam kode dengan jalur lokal sebenarnya ke file tersebut, lalu jalankan untuk mendapatkan Hash MD5 file target (contoh nilai di bawah): Hash MD5 file: 2ef7361ea907f3a1b91e3b9936f5643a
file_size: Masukkan ukuran file yang diunggah dalam byte. Untuk Python, gunakan modul os untuk mendapatkan nilai ini. Untuk bahasa lain, lihat kode contoh lengkap. Contoh kode import os
def get_file_size(file_path: str) -> int:
"""
Dapatkan ukuran file dalam byte.
Parameters:
file_path (str): Jalur lokal sebenarnya ke file.
Returns:
int: Ukuran file dalam byte.
"""
return os.path.getsize(file_path)
# Contoh penggunaan
file_path = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah, misalnya /xxx/xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx"
file_size = get_file_size(file_path)
print(f"Ukuran file dalam byte: {file_size}")
Ganti variabel file_path dalam kode dengan jalur lokal sebenarnya ke file tersebut, lalu jalankan untuk mendapatkan ukuran file target dalam byte (contoh nilai di bawah): Ukuran file dalam byte: 14015
Setelah berhasil meminta sewa unggah sementara, Anda akan menerima: Anda akan menggunakan parameter ini pada langkah berikutnya. | Pythondef apply_lease(client, category_id, file_name, file_md5, file_size, workspace_id):
"""
Minta sewa unggah file dari Alibaba Cloud Model Studio.
Parameters:
client (bailian20231229Client): Klien.
category_id (str): ID kategori.
file_name (str): Nama file.
file_md5 (str): Hash MD5 file.
file_size (int): Ukuran file dalam byte.
workspace_id (str): ID ruang kerja.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
request = bailian_20231229_models.ApplyFileUploadLeaseRequest(
file_name=file_name,
md_5=file_md5,
size_in_bytes=file_size,
)
runtime = util_models.RuntimeOptions()
return client.apply_file_upload_lease_with_options(category_id, workspace_id, request, headers, runtime)
Java/**
* Minta sewa unggah file.
*
* @param client Objek klien
* @param categoryId ID kategori
* @param fileName Nama file
* @param fileMd5 Hash MD5 file
* @param fileSize Ukuran file dalam byte
* @param workspaceId ID ruang kerja
* @return Respons dari Alibaba Cloud Model Studio
*/
public ApplyFileUploadLeaseResponse applyLease(com.aliyun.bailian20231229.Client client, String categoryId, String fileName, String fileMd5, String fileSize, String workspaceId) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.bailian20231229.models.ApplyFileUploadLeaseRequest applyFileUploadLeaseRequest = new com.aliyun.bailian20231229.models.ApplyFileUploadLeaseRequest();
applyFileUploadLeaseRequest.setFileName(fileName);
applyFileUploadLeaseRequest.setMd5(fileMd5);
applyFileUploadLeaseRequest.setSizeInBytes(fileSize);
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
ApplyFileUploadLeaseResponse applyFileUploadLeaseResponse = null;
applyFileUploadLeaseResponse = client.applyFileUploadLeaseWithOptions(categoryId, workspaceId, applyFileUploadLeaseRequest, headers, runtime);
return applyFileUploadLeaseResponse;
}
PHP/**
* Minta sewa unggah file.
*
* @param Bailian $client Klien.
* @param string $categoryId ID kategori.
* @param string $fileName Nama file.
* @param string $fileMd5 Hash MD5 file.
* @param int $fileSize Ukuran file dalam byte.
* @param string $workspaceId ID ruang kerja.
* @return ApplyFileUploadLeaseResponse Respons dari Alibaba Cloud Model Studio.
*/
public function applyLease($client, $categoryId, $fileName, $fileMd5, $fileSize, $workspaceId) {
$headers = [];
$applyFileUploadLeaseRequest = new ApplyFileUploadLeaseRequest([
"fileName" => $fileName,
"md5" => $fileMd5,
"sizeInBytes" => $fileSize
]);
$runtime = new RuntimeOptions([]);
return $client->applyFileUploadLeaseWithOptions($categoryId, $workspaceId, $applyFileUploadLeaseRequest, $headers, $runtime);
}
Node.js/**
* Minta sewa unggah file
* @param {Bailian20231229Client} client - Klien
* @param {string} categoryId - ID kategori
* @param {string} fileName - Nama file
* @param {string} fileMd5 - Hash MD5 file
* @param {string} fileSize - Ukuran file dalam byte
* @param {string} workspaceId - ID ruang kerja
* @returns {Promise<bailian20231229.ApplyFileUploadLeaseResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function applyLease(client, categoryId, fileName, fileMd5, fileSize, workspaceId) {
const headers = {};
const req = new bailian20231229.ApplyFileUploadLeaseRequest({
md5: fileMd5,
fileName,
sizeInBytes: fileSize
});
const runtime = new Util.RuntimeOptions({});
return await client.applyFileUploadLeaseWithOptions(
categoryId,
workspaceId,
req,
headers,
runtime
);
}
C#/// <summary>
/// Minta sewa unggah file.
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="categoryId">ID kategori</param>
/// <param name="fileName">Nama file</param>
/// <param name="fileMd5">Hash MD5 file</param>
/// <param name="fileSize">Ukuran file dalam byte</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <returns>Respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Dilempar ketika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.ApplyFileUploadLeaseResponse ApplyLease(
AlibabaCloud.SDK.Bailian20231229.Client client,
string categoryId,
string fileName,
string fileMd5,
string fileSize,
string workspaceId)
{
var headers = new Dictionary<string, string>() { };
var applyFileUploadLeaseRequest = new AlibabaCloud.SDK.Bailian20231229.Models.ApplyFileUploadLeaseRequest
{
FileName = fileName,
Md5 = fileMd5,
SizeInBytes = fileSize
};
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.ApplyFileUploadLeaseWithOptions(categoryId, workspaceId, applyFileUploadLeaseRequest, headers, runtime);
}
Go// ApplyLease Minta sewa unggah file dari Alibaba Cloud Model Studio.
//
// Parameters:
// - client (bailian20231229.Client): Klien.
// - categoryId (string): ID kategori.
// - fileName (string): Nama file.
// - fileMD5 (string): Hash MD5 file.
// - fileSize (string): Ukuran file dalam byte.
// - workspaceId (string): ID ruang kerja.
//
// Returns:
// - *bailian20231229.ApplyFileUploadLeaseResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func ApplyLease(client *bailian20231229.Client, categoryId, fileName, fileMD5 string, fileSize string, workspaceId string) (_result *bailian20231229.ApplyFileUploadLeaseResponse, _err error) {
headers := make(map[string]*string)
applyFileUploadLeaseRequest := &bailian20231229.ApplyFileUploadLeaseRequest{
FileName: tea.String(fileName),
Md5: tea.String(fileMD5),
SizeInBytes: tea.String(fileSize),
}
runtime := &util.RuntimeOptions{}
return client.ApplyFileUploadLeaseWithOptions(tea.String(categoryId), tea.String(workspaceId), applyFileUploadLeaseRequest, headers, runtime)
}
Permintaan contoh {
"CategoryId": "default",
"FileName": "Alibaba Cloud Model Studio series mobile product introduction.docx",
"Md5": "2ef7361ea907f3a1b91e3b9936f5643a",
"SizeInBytes": "14015",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx"
}
Contoh respons {
"RequestId": "778C0B3B-59C2-5FC1-A947-36EDD1XXXXXX",
"Success": true,
"Message": "",
"Code": "success",
"Status": "200",
"Data": {
"FileUploadLeaseId": "1e6a159107384782be5e45ac4759b247.1719325231035",
"Type": "HTTP",
"Param": {
"Method": "PUT",
"Url": "https://bailian-datahub-data-origin-prod.oss-cn-hangzhou.aliyuncs.com/1005426495169178/10024405/68abd1dea7b6404d8f7d7b9f7fbd332d.1716698936847.pdf?Expires=1716699536&OSSAccessKeyId=TestID&Signature=HfwPUZo4pR6DatSDym0zFKVh9Wg%3D",
"Headers": " \"X-bailian-extra\": \"MTAwNTQyNjQ5NTE2OTE3OA==\",\n \"Content-Type\": \"application/pdf\""
}
}
}
|
2.2. Unggah file ke penyimpanan sementaraSetelah mendapatkan sewa unggah, gunakan parameter unggah sementara dan URL dari sewa tersebut untuk mengunggah file dari penyimpanan lokal atau akses jaringan publik ke Alibaba Cloud Model Studio. Setiap ruang kerja mendukung maksimal 10.000 file. Format yang didukung saat ini meliputi PDF, DOCX, DOC, TXT, Markdown, PPTX, PPT, XLSX, XLS, HTML, PNG, JPG, JPEG, BMP, dan GIF. |
Penting Contoh ini tidak mendukung debugging online atau pembuatan contoh kode multi-bahasa. Unggahan lokalPythonimport requests
from urllib.parse import urlparse
def upload_file(pre_signed_url, file_path):
"""
Unggah file lokal ke penyimpanan sementara.
Parameters:
pre_signed_url (str): URL dari sewa unggah.
file_path (str): Jalur lokal ke file.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
try:
# Atur header permintaan
headers = {
"X-bailian-extra": "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya",
"Content-Type": "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)"
}
# Baca dan unggah file
with open(file_path, 'rb') as file:
# Metode permintaan di bawah ini untuk unggah file dan harus sesuai dengan nilai bidang Method dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya.
response = requests.put(pre_signed_url, data=file, headers=headers)
# Periksa kode status respons
if response.status_code == 200:
print("File berhasil diunggah.")
else:
print(f"Gagal mengunggah file. ResponseCode: {response.status_code}")
except Exception as e:
print(f"Terjadi kesalahan: {str(e)}")
if __name__ == "__main__":
pre_signed_url_or_http_url = "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya"
# Unggah file lokal ke penyimpanan sementara
file_path = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)"
upload_file(pre_signed_url_or_http_url, file_path)
Javaimport java.io.DataOutputStream;
import java.io.FileInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class UploadFile {
public static void uploadFile(String preSignedUrl, String filePath) {
HttpURLConnection connection = null;
try {
// Buat objek URL
URL url = new URL(preSignedUrl);
connection = (HttpURLConnection) url.openConnection();
// Metode permintaan di bawah ini untuk unggah file dan harus sesuai dengan nilai bidang Method dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya.
connection.setRequestMethod("PUT");
// Izinkan output ke koneksi, karena koneksi ini digunakan untuk unggah file
connection.setDoOutput(true);
connection.setRequestProperty("X-bailian-extra", "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya");
connection.setRequestProperty("Content-Type", "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)");
// Baca file dan unggah melalui koneksi
try (DataOutputStream outStream = new DataOutputStream(connection.getOutputStream());
FileInputStream fileInputStream = new FileInputStream(filePath)) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
outStream.flush();
}
// Periksa respons
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// File berhasil diunggah
System.out.println("File berhasil diunggah.");
} else {
// Gagal mengunggah file
System.out.println("Gagal mengunggah file. ResponseCode: " + responseCode);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
public static void main(String[] args) {
String preSignedUrlOrHttpUrl = "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya";
// Unggah file lokal ke penyimpanan sementara
String filePath = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)";
uploadFile(preSignedUrlOrHttpUrl, filePath);
}
}
PHP<?php
/**
* Unggah file lokal ke penyimpanan sementara
*
* @param string $preSignedUrl URL yang ditandatangani atau alamat HTTP yang diperoleh dari API ApplyFileUploadLease
* @param array $headers Header permintaan termasuk "X-bailian-extra" dan "Content-Type"
* @param string $filePath Jalur file lokal
* @throws Exception Jika unggahan gagal
*/
function uploadFile($preSignedUrl, $headers, $filePath) {
// Baca konten file
$fileContent = file_get_contents($filePath);
if ($fileContent === false) {
throw new Exception("Tidak dapat membaca file: " . $filePath);
}
// Inisialisasi sesi cURL
$ch = curl_init();
// Atur opsi cURL
curl_setopt($ch, CURLOPT_URL, $preSignedUrl);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Gunakan metode PUT
curl_setopt($ch, CURLOPT_POSTFIELDS, $fileContent); // Atur badan permintaan menjadi konten file
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Kembalikan hasil respons alih-alih output langsung
// Bangun header permintaan
$uploadHeaders = [
"X-bailian-extra: " . $headers["X-bailian-extra"],
"Content-Type: " . $headers["Content-Type"]
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $uploadHeaders);
// Jalankan permintaan
$response = curl_exec($ch);
// Dapatkan kode respons HTTP
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Tutup sesi cURL
curl_close($ch);
// Periksa kode respons
if ($httpCode != 200) {
throw new Exception("Unggahan gagal, kode status HTTP: " . $httpCode . ", pesan kesalahan: " . $response);
}
// Unggahan berhasil
echo "File berhasil diunggah.\n";
}
/**
* Fungsi utama: unggahan file lokal
*/
function main() {
// Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya
$preSignedUrl = "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya";
// Ganti dengan X-bailian-extra dan Content-Type dari Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya
$headers = [
"X-bailian-extra" => "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya",
"Content-Type" => "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)"
];
// Unggah file lokal ke penyimpanan sementara
$filePath = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)";
try {
uploadFile($preSignedUrl, $headers, $filePath);
} catch (Exception $e) {
echo "Kesalahan: " . $e->getMessage() . "\n";
}
}
// Panggil fungsi utama
main();
?>
Node.jsconst fs = require('fs');
const axios = require('axios');
/**
* Unggah file lokal ke penyimpanan sementara
*
* @param {string} preSignedUrl - URL dari sewa unggah
* @param {Object} headers - Header permintaan unggahan
* @param {string} filePath - Jalur lokal ke file
* @throws {Error} Jika unggahan gagal
*/
async function uploadFile(preSignedUrl, headers, filePath) {
// Bangun header permintaan untuk unggahan
const uploadHeaders = {
"X-bailian-extra": headers["X-bailian-extra"],
"Content-Type": headers["Content-Type"]
};
// Buat stream baca file
const fileStream = fs.createReadStream(filePath);
try {
// Kirim permintaan PUT menggunakan axios
const response = await axios.put(preSignedUrl, fileStream, {
headers: uploadHeaders
});
// Periksa kode status respons
if (response.status === 200) {
console.log("File berhasil diunggah.");
} else {
console.error(`Gagal mengunggah file. ResponseCode: ${response.status}`);
throw new Error(`Unggahan gagal dengan kode status: ${response.status}`);
}
} catch (error) {
// Tangani kesalahan
console.error("Kesalahan selama unggahan:", error.message);
throw new Error(`Unggahan gagal: ${error.message}`);
}
}
/**
* Fungsi utama: unggahan file lokal
*/
function main() {
const preSignedUrl = "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya";
const headers = {
"X-bailian-extra": "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya",
"Content-Type": "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)"
};
// Unggah file lokal ke penyimpanan sementara
const filePath = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)";
uploadFile(preSignedUrl, headers, filePath)
.then(() => {
console.log("Unggahan selesai.");
})
.catch((err) => {
console.error("Unggahan gagal:", err.message);
});
}
// Panggil fungsi utama
main();
C#using System;
using System.IO;
using System.Net;
public class UploadFilExample
{
public static void UploadFile(string preSignedUrl, string filePath)
{
HttpWebRequest connection = null;
try
{
// Buat objek URL
Uri url = new Uri(preSignedUrl);
connection = (HttpWebRequest)WebRequest.Create(url);
// Metode permintaan di bawah ini untuk unggah file dan harus sesuai dengan nilai bidang Method dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya.
connection.Method = "PUT";
// Izinkan buffering stream tulis ke koneksi, karena koneksi ini digunakan untuk unggah file
connection.AllowWriteStreamBuffering = false;
connection.SendChunked = false;
// Atur header permintaan, yang harus sesuai dengan nilai bidang dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya.
connection.Headers["X-bailian-extra"] = "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya";
connection.ContentType = "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)";
// Baca file dan unggah melalui koneksi
using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
using (var requestStream = connection.GetRequestStream())
{
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
{
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Flush();
}
// Periksa respons
using (HttpWebResponse response = (HttpWebResponse)connection.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK)
{
// File berhasil diunggah
Console.WriteLine("File berhasil diunggah.");
}
else
{
// Gagal mengunggah file
Console.WriteLine($"Gagal mengunggah file. ResponseCode: {response.StatusCode}");
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
e.StackTrace.ToString();
}
finally
{
if (connection != null)
{
connection.Abort();
}
}
}
public static void Main(string[] args)
{
string preSignedUrlOrHttpUrl = "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya";
// Unggah file lokal ke penyimpanan sementara
string filePath = "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)";
UploadFile(preSignedUrlOrHttpUrl, filePath);
}
}
Gopackage main
import (
"fmt"
"io"
"os"
"github.com/go-resty/resty/v2"
)
// UploadFile Unggah file lokal ke penyimpanan sementara.
//
// Parameters:
// - preSignedUrl (string): URL dari sewa unggah.
// - headers (map[string]string): Header permintaan unggahan.
// - filePath (string): Jalur lokal ke file.
//
// Returns:
// - error: Mengembalikan pesan kesalahan jika unggahan gagal, jika tidak nil
func UploadFile(preSignedUrl string, headers map[string]string, filePath string) error {
// Buka file lokal
file, err := os.Open(filePath)
if err != nil {
return fmt.Errorf("Gagal membuka file: %w", err)
}
defer file.Close()
// Baca konten
body, err := io.ReadAll(file)
if err != nil {
return fmt.Errorf("Gagal membaca file: %w", err)
}
// Buat klien REST
client := resty.New()
// Bangun header permintaan untuk unggahan
uploadHeaders := map[string]string{
"X-bailian-extra": headers["X-bailian-extra"],
"Content-Type": headers["Content-Type"],
}
// Kirim permintaan PUT
resp, err := client.R().
SetHeaders(uploadHeaders).
SetBody(body).
Put(preSignedUrl)
if err != nil {
return fmt.Errorf("Gagal mengirim permintaan: %w", err)
}
// Periksa kode status respons HTTP
if resp.IsError() {
return fmt.Errorf("Kesalahan HTTP: %d", resp.StatusCode())
}
fmt.Println("File berhasil diunggah.")
return nil
}
// main Fungsi utama
func main() {
// Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya
preSignedUrl := "Ganti dengan nilai sebenarnya dari bidang Url dalam Data.Param yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya"
// Ganti dengan X-bailian-extra dan Content-Type dari Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya
headers := map[string]string{
"X-bailian-extra": "Ganti dengan nilai sebenarnya dari bidang X-bailian-extra dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya",
"Content-Type": "Ganti dengan nilai sebenarnya dari bidang Content-Type dalam Data.Param.Headers yang dikembalikan oleh API ApplyFileUploadLease pada langkah sebelumnya (jika kosong, berikan nilai kosong)",
}
// Unggah file lokal ke penyimpanan sementara
filePath := "Ganti dengan jalur lokal sebenarnya ke file yang ingin Anda unggah (untuk Linux, misalnya: /xxx/xxx/Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx)"
// Panggil fungsi unggah
err := UploadFile(preSignedUrl, headers, filePath)
if err != nil {
fmt.Printf("Unggahan gagal: %v\n", err)
}
}
Unggah file menggunakan URLPastikan URL tersebut dapat diakses publik dan mengarah ke file yang valid. Pythonimport requests
from urllib.parse import urlparse
def upload_file_link(pre_signed_url, source_url_string):
"""
Unggah file yang dapat diakses publik ke penyimpanan sementara.
Parameters:
pre_signed_url (str): URL dari sewa unggah.
source_url_string (str): URL file.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
try:
// Atur header permintaan
headers = {
"X-bailian-extra": "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.",
"Content-Type": "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong."
}
// Gunakan GET untuk mengambil file dari URL sumber
source_response = requests.get(source_url_string)
if source_response.status_code != 200:
raise RuntimeError("Gagal mendapatkan file sumber.")
// Gunakan metode HTTP yang ditentukan dalam bidang Method dari Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
response = requests.put(pre_signed_url, data=source_response.content, headers=headers)
// Periksa kode status respons
if response.status_code == 200:
print("File berhasil diunggah.")
else:
print(f"Gagal mengunggah file. ResponseCode: {response.status_code}")
except Exception as e:
print(f"Terjadi kesalahan: {str(e)}")
if __name__ == "__main__":
pre_signed_url_or_http_url = "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong."
// URL file yang akan diunggah
source_url = "Ganti ini dengan URL file yang ingin Anda unggah."
upload_file_link(pre_signed_url_or_http_url, source_url)
Javaimport java.io.BufferedInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class UploadFile {
public static void uploadFileLink(String preSignedUrl, String sourceUrlString) {
HttpURLConnection connection = null;
try {
// Buat objek URL
URL url = new URL(preSignedUrl);
connection = (HttpURLConnection) url.openConnection();
// Gunakan metode HTTP yang ditentukan dalam bidang Method dari Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
connection.setRequestMethod("PUT");
// Aktifkan output karena koneksi ini mengunggah file
connection.setDoOutput(true);
connection.setRequestProperty("X-bailian-extra", "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.");
connection.setRequestProperty("Content-Type", "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong.");
URL sourceUrl = new URL(sourceUrlString);
HttpURLConnection sourceConnection = (HttpURLConnection) sourceUrl.openConnection();
// Gunakan GET untuk mengambil file dari URL sumber
sourceConnection.setRequestMethod("GET");
// Dapatkan kode respons. Nilai 200 berarti sukses
int sourceFileResponseCode = sourceConnection.getResponseCode();
// Baca file dari URL dan unggah melalui koneksi
if (sourceFileResponseCode != HttpURLConnection.HTTP_OK) {
throw new RuntimeException("Gagal mendapatkan file sumber.");
}
try (DataOutputStream outStream = new DataOutputStream(connection.getOutputStream());
InputStream in = new BufferedInputStream(sourceConnection.getInputStream())) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
outStream.flush();
}
// Periksa respons
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// Unggahan berhasil
System.out.println("File berhasil diunggah.");
} else {
// Unggahan gagal
System.out.println("Gagal mengunggah file. ResponseCode: " + responseCode);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
public static void main(String[] args) {
String preSignedUrlOrHttpUrl = "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.";
String sourceUrl = "Ganti ini dengan URL file yang ingin Anda unggah.";
uploadFileLink(preSignedUrlOrHttpUrl, sourceUrl);
}
}
PHP<?php
/**
* Unggah file yang dapat diakses publik ke penyimpanan sementara
*
* @param string $preSignedUrl URL yang ditandatangani atau URL HTTP yang diperoleh dari operasi ApplyFileUploadLease
* @param array $headers Header permintaan yang mencakup "X-bailian-extra" dan "Content-Type"
* @param string $sourceUrl URL file
* @throws Exception Jika unggahan gagal
*/
function uploadFile($preSignedUrl, $headers, $sourceUrl) {
$fileContent = file_get_contents($sourceUrl);
if ($fileContent === false) {
throw new Exception("Gagal mengunduh file dari URL yang diberikan: " . $sourceUrl);
}
// Inisialisasi sesi cURL
$ch = curl_init();
// Atur opsi cURL
curl_setopt($ch, CURLOPT_URL, $preSignedUrl);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Gunakan PUT
curl_setopt($ch, CURLOPT_POSTFIELDS, $fileContent); // Atur badan permintaan menjadi konten file
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Kembalikan respons alih-alih mencetaknya
// Bangun header permintaan
$uploadHeaders = [
"X-bailian-extra: " . $headers["X-bailian-extra"],
"Content-Type: " . $headers["Content-Type"]
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $uploadHeaders);
// Jalankan permintaan
$response = curl_exec($ch);
// Dapatkan kode status HTTP
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Tutup sesi cURL
curl_close($ch);
// Periksa kode status
if ($httpCode != 200) {
throw new Exception("Unggahan gagal. Kode status HTTP: " . $httpCode . ". Pesan kesalahan: " . $response);
}
// Unggahan berhasil
echo "File berhasil diunggah.\n";
}
/**
* Fungsi utama: Unggah file yang dapat diakses publik ke penyimpanan sementara
*/
function main() {
// Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
$preSignedUrl = "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.";
// Ganti ini dengan nilai X-bailian-extra dan Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
$headers = [
"X-bailian-extra" => "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.",
"Content-Type" => "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong."
];
$sourceUrl = "Ganti ini dengan URL file yang ingin Anda unggah.";
try {
uploadFile($preSignedUrl, $headers, $sourceUrl);
} catch (Exception $e) {
echo "Kesalahan: " . $e->getMessage() . "\n";
}
}
// Panggil fungsi utama
main();
?>
Node.jsconst axios = require('axios');
/**
* Unggah file yang dapat diakses publik ke penyimpanan sementara
*
* @param {string} preSignedUrl - URL dari sewa unggah
* @param {Object} headers - Header untuk permintaan unggahan
* @param {string} sourceUrl - URL file
* @throws {Error} Jika unggahan gagal
*/
async function uploadFileFromUrl(preSignedUrl, headers, sourceUrl) {
// Bangun header yang diperlukan untuk unggahan
const uploadHeaders = {
"X-bailian-extra": headers["X-bailian-extra"],
"Content-Type": headers["Content-Type"]
};
try {
// Unduh file dari URL yang diberikan
const response = await axios.get(sourceUrl, {
responseType: 'stream'
});
// Kirim permintaan PUT menggunakan axios
const uploadResponse = await axios.put(preSignedUrl, response.data, {
headers: uploadHeaders
});
// Periksa kode status respons
if (uploadResponse.status === 200) {
console.log("File berhasil diunggah dari URL.");
} else {
console.error(`Gagal mengunggah file. ResponseCode: ${uploadResponse.status}`);
throw new Error(`Unggahan gagal dengan kode status: ${uploadResponse.status}`);
}
} catch (error) {
// Tangani kesalahan
console.error("Kesalahan selama unggahan:", error.message);
throw new Error(`Unggahan gagal: ${error.message}`);
}
}
/**
* Fungsi utama: Unggah file yang dapat diunduh publik ke penyimpanan sementara
*/
function main() {
const preSignedUrl = "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.";
const headers = {
"X-bailian-extra": "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.",
"Content-Type": "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong."
};
const sourceUrl = "Ganti ini dengan URL file yang ingin Anda unggah.";
uploadFileFromUrl(preSignedUrl, headers, sourceUrl)
.then(() => {
console.log("Unggahan selesai.");
})
.catch((err) => {
console.error("Unggahan gagal:", err.message);
});
}
// Panggil fungsi utama
main();
C#using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
public class UploadFileExample
{
public static async Task UploadFileFromUrl(string preSignedUrl, string url)
{
try
{
// Buat klien HTTP untuk mengunduh file dari URL yang diberikan
using (HttpClient httpClient = new HttpClient())
{
HttpResponseMessage response = await httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
// Dapatkan stream file
using (Stream fileStream = await response.Content.ReadAsStreamAsync())
{
// Buat objek URL
Uri urlObj = new Uri(preSignedUrl);
HttpWebRequest connection = (HttpWebRequest)WebRequest.Create(urlObj);
// Atur metode HTTP untuk unggahan
connection.Method = "PUT";
connection.AllowWriteStreamBuffering = false;
connection.SendChunked = false;
// Atur header permintaan (ganti dengan nilai sebenarnya)
connection.Headers["X-bailian-extra"] = "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.";
connection.ContentType = "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong.";
// Dapatkan stream permintaan dan tulis stream file
using (Stream requestStream = connection.GetRequestStream())
{
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = await fileStream.ReadAsync(buffer, 0, buffer.Length)) > 0)
{
await requestStream.WriteAsync(buffer, 0, bytesRead);
}
await requestStream.FlushAsync();
}
// Periksa respons
using (HttpWebResponse responseResult = (HttpWebResponse)connection.GetResponse())
{
if (responseResult.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine("File berhasil diunggah dari URL.");
}
else
{
Console.WriteLine($"Gagal mengunggah file. ResponseCode: {responseResult.StatusCode}");
}
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
}
}
public static async Task Main(string[] args)
{
string preSignedUrlOrHttpUrl = "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.";
string url = "Ganti ini dengan URL file yang ingin Anda unggah.";
await UploadFileFromUrl(preSignedUrlOrHttpUrl, url);
}
}
Gopackage main
import (
"fmt"
"net/http"
"github.com/go-resty/resty/v2"
)
// UploadFileFromUrl mengunggah file yang dapat diakses publik ke penyimpanan sementara.
//
// Parameters:
// - preSignedUrl (string): URL dari sewa unggah.
// - headers (map[string]string): Header untuk permintaan unggahan.
// - sourceUrl (string): URL file.
//
// Returns:
// - error: Kesalahan jika unggahan gagal. Jika tidak, mengembalikan nil.
func UploadFileFromUrl(preSignedUrl string, headers map[string]string, sourceUrl string) error {
// Unduh file dari URL yang diberikan
resp, err := http.Get(sourceUrl)
if err != nil {
return fmt.Errorf("gagal mendapatkan file: %w", err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("gagal mendapatkan file. Kode status: %d", resp.StatusCode)
}
// Buat klien REST
client := resty.New()
// Bangun header yang diperlukan untuk unggahan
uploadHeaders := map[string]string{
"X-bailian-extra": headers["X-bailian-extra"],
"Content-Type": headers["Content-Type"],
}
// Kirim permintaan PUT
response, err := client.R().
SetHeaders(uploadHeaders).
SetBody(resp.Body).
Put(preSignedUrl)
if err != nil {
return fmt.Errorf("gagal mengirim permintaan: %w", err)
}
// Periksa kode status respons HTTP
if response.IsError() {
return fmt.Errorf("kesalahan HTTP: %d", response.StatusCode())
}
fmt.Println("File berhasil diunggah dari URL.")
return nil
}
// main adalah titik masuk
func main() {
// Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
preSignedUrl := "Ganti ini dengan nilai bidang Url dalam Data.Param, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya."
// Ganti ini dengan nilai X-bailian-extra dan Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya
headers := map[string]string{
"X-bailian-extra": "Ganti ini dengan nilai bidang X-bailian-extra dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya.",
"Content-Type": "Ganti ini dengan nilai bidang Content-Type dalam Data.Param.Headers, yang dikembalikan oleh operasi ApplyFileUploadLease pada langkah sebelumnya. Jika nilainya kosong, berikan string kosong.",
}
sourceUrl := "Ganti ini dengan URL file yang ingin Anda unggah."
// Panggil fungsi unggah
err := UploadFileFromUrl(preSignedUrl, headers, sourceUrl)
if err != nil {
fmt.Printf("Unggahan gagal: %v\n", err)
}
}
|
2.3. Tambahkan file ke kategoriAlibaba Cloud Model Studio menggunakan kategori untuk mengelola file yang Anda unggah. Selanjutnya, panggil API AddFile untuk menambahkan file yang diunggah ke kategori dalam ruang kerja yang sama. parser: Masukkan DASHSCOPE_DOCMIND. lease_id: Masukkan Data.FileUploadLeaseId yang dikembalikan oleh API ApplyFileUploadLease. category_id: Untuk contoh ini, masukkan default. Jika Anda menggunakan kategori khusus untuk unggahan, masukkan category_id yang sesuai.
Setelah menambahkan file, Alibaba Cloud Model Studio mengembalikan FileId untuk file tersebut dan secara otomatis mulai menguraikannya. lease_id (ID sewa) menjadi tidak valid. Jangan kirim ulang dengan ID sewa yang sama. | Pythondef add_file(client: bailian20231229Client, lease_id: str, parser: str, category_id: str, workspace_id: str):
"""
Tambahkan file ke kategori tertentu di Alibaba Cloud Model Studio.
Parameters:
client (bailian20231229Client): Klien.
lease_id (str): ID sewa.
parser (str): Parser yang digunakan untuk file.
category_id (str): ID kategori.
workspace_id (str): ID ruang kerja.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
request = bailian_20231229_models.AddFileRequest(
lease_id=lease_id,
parser=parser,
category_id=category_id,
)
runtime = util_models.RuntimeOptions()
return client.add_file_with_options(workspace_id, request, headers, runtime)
Java/**
* Tambahkan file ke kategori.
*
* @param client Objek klien
* @param leaseId ID sewa
* @param parser Parser yang digunakan untuk file
* @param categoryId ID kategori
* @param workspaceId ID ruang kerja
* @return Respons dari Alibaba Cloud Model Studio
*/
public AddFileResponse addFile(com.aliyun.bailian20231229.Client client, String leaseId, String parser, String categoryId, String workspaceId) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.bailian20231229.models.AddFileRequest addFileRequest = new com.aliyun.bailian20231229.models.AddFileRequest();
addFileRequest.setLeaseId(leaseId);
addFileRequest.setParser(parser);
addFileRequest.setCategoryId(categoryId);
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
return client.addFileWithOptions(workspaceId, addFileRequest, headers, runtime);
}
PHP/**
* Tambahkan file ke kategori.
*
* @param Bailian $client Klien.
* @param string $leaseId ID sewa.
* @param string $parser Parser yang digunakan untuk file.
* @param string $categoryId ID kategori.
* @param string $workspaceId ID ruang kerja.
* @return AddFileResponse Respons dari Alibaba Cloud Model Studio.
*/
public function addFile($client, $leaseId, $parser, $categoryId, $workspaceId) {
$headers = [];
$addFileRequest = new AddFileRequest([
"leaseId" => $leaseId,
"parser" => $parser,
"categoryId" => $categoryId
]);
$runtime = new RuntimeOptions([]);
return $client->addFileWithOptions($workspaceId, $addFileRequest, $headers, $runtime);
}
Node.js/**
* Tambahkan file ke kategori
* @param {Bailian20231229Client} client - Klien
* @param {string} leaseId - ID sewa
* @param {string} parser - Parser yang digunakan untuk file
* @param {string} categoryId - ID kategori
* @param {string} workspaceId - ID ruang kerja
* @returns {Promise<bailian20231229.AddFileResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function addFile(client, leaseId, parser, categoryId, workspaceId) {
const headers = {};
const req = new bailian20231229.AddFileRequest({
leaseId,
parser,
categoryId
});
const runtime = new Util.RuntimeOptions({});
return await client.addFileWithOptions(workspaceId, req, headers, runtime);
}
C#/// <summary>
/// Tambahkan file ke kategori.
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="leaseId">ID sewa</param>
/// <param name="parser">Parser yang digunakan untuk file</param>
/// <param name="categoryId">ID kategori</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <returns>Respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Dilempar ketika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.AddFileResponse AddFile(
AlibabaCloud.SDK.Bailian20231229.Client client,
string leaseId,
string parser,
string categoryId,
string workspaceId)
{
var headers = new Dictionary<string, string>() { };
var addFileRequest = new AlibabaCloud.SDK.Bailian20231229.Models.AddFileRequest
{
LeaseId = leaseId,
Parser = parser,
CategoryId = categoryId
};
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.AddFileWithOptions(workspaceId, addFileRequest, headers, runtime);
}
Go// AddFile Tambahkan file ke kategori tertentu di Alibaba Cloud Model Studio.
//
// Parameters:
// - client (bailian20231229.Client): Klien.
// - leaseId (string): ID sewa.
// - parser (string): Parser yang digunakan untuk file.
// - categoryId (string): ID kategori.
// - workspaceId (string): ID ruang kerja.
//
// Returns:
// - *bailian20231229.AddFileResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func AddFile(client *bailian20231229.Client, leaseId, parser, categoryId, workspaceId string) (_result *bailian20231229.AddFileResponse, _err error) {
headers := make(map[string]*string)
addFileRequest := &bailian20231229.AddFileRequest{
LeaseId: tea.String(leaseId),
Parser: tea.String(parser),
CategoryId: tea.String(categoryId),
}
runtime := &util.RuntimeOptions{}
return client.AddFileWithOptions(tea.String(workspaceId), addFileRequest, headers, runtime)
}
Contoh permintaan {
"CategoryId": "default",
"LeaseId": "d92bd94fa9b54326a2547415e100c9e2.1742195250069",
"Parser": "DASHSCOPE_DOCMIND",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx"
}
Contoh respons {
"Status": "200",
"Message": "",
"RequestId": "5832A1F4-AF91-5242-8B75-35BDC9XXXXXX",
"Data": {
"FileId": "file_0b21e0a852cd40cd9741c54fefbb61cd_10xxxxxx",
"Parser": "DASHSCOPE_DOCMIND"
},
"Code": "Success",
"Success": "true"
}
|
2.4. Kueri status penguraian fileFile yang belum diurai tidak dapat digunakan untuk basis pengetahuan. Selama periode permintaan puncak, proses ini dapat memakan waktu beberapa jam. Panggil API DescribeFile untuk mengkueri status penguraian file. Ketika bidang Data.Status yang dikembalikan oleh API ini bernilai PARSE_SUCCESS, file tersebut telah diurai dan dapat diimpor ke basis pengetahuan. | Pythondef describe_file(client, workspace_id, file_id):
"""
Dapatkan informasi dasar tentang file.
Parameters:
client (bailian20231229Client): Klien.
workspace_id (str): ID ruang kerja.
file_id (str): ID file.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
runtime = util_models.RuntimeOptions()
return client.describe_file_with_options(workspace_id, file_id, headers, runtime)
Java/**
* Dapatkan informasi dasar tentang file.
*
* @param client Objek klien
* @param workspaceId ID ruang kerja
* @param fileId ID file
* @return Respons dari Alibaba Cloud Model Studio
*/
public DescribeFileResponse describeFile(com.aliyun.bailian20231229.Client client, String workspaceId, String fileId) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
return client.describeFileWithOptions(workspaceId, fileId, headers, runtime);
}
PHP/**
* Dapatkan informasi dasar tentang file.
*
* @param Bailian $client Klien.
* @param string $workspaceId ID ruang kerja.
* @param string $fileId ID file.
* @return DescribeFileResponse Respons dari Alibaba Cloud Model Studio.
*/
public function describeFile($client, $workspaceId, $fileId) {
$headers = [];
$runtime = new RuntimeOptions([]);
return $client->describeFileWithOptions($workspaceId, $fileId, $headers, $runtime);
}
Node.js/**
* Kueri status penguraian file
* @param {Bailian20231229Client} client - Klien
* @param {string} workspaceId - ID ruang kerja
* @param {string} fileId - ID file
* @returns {Promise<bailian20231229.DescribeFileResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function describeFile(client, workspaceId, fileId) {
const headers = {};
const runtime = new Util.RuntimeOptions({});
return await client.describeFileWithOptions(workspaceId, fileId, headers, runtime);
}
C#/// <summary>
/// Dapatkan informasi dasar tentang file.
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <param name="fileId">ID file</param>
/// <returns>Respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Dilempar ketika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.DescribeFileResponse DescribeFile(
AlibabaCloud.SDK.Bailian20231229.Client client,
string workspaceId,
string fileId)
{
var headers = new Dictionary<string, string>() { };
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.DescribeFileWithOptions(workspaceId, fileId, headers, runtime);
}
Go// DescribeFile Dapatkan informasi dasar tentang file.
//
// Parameters:
// - client (bailian20231229.Client): Klien.
// - workspaceId (string): ID ruang kerja.
// - fileId (string): ID file.
//
// Returns:
// - *bailian20231229.DescribeFileResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func DescribeFile(client *bailian20231229.Client, workspaceId, fileId string) (_result *bailian20231229.DescribeFileResponse, _err error) {
headers := make(map[string]*string)
runtime := &util.RuntimeOptions{}
return client.DescribeFileWithOptions(tea.String(workspaceId), tea.String(fileId), headers, runtime)
}
Contoh permintaan {
"FileId": "file_0b21e0a852cd40cd9741c54fefbb61cd_10xxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx"
}
Contoh respons {
"Status": "200",
"Message": "",
"RequestId": "B9246251-987A-5628-8E1E-17BB39XXXXXX",
"Data": {
"CategoryId": "cate_206ea350f0014ea4a324adff1ca13011_10xxxxxx",
"Status": "PARSE_SUCCESS",
"FileType": "docx",
"CreateTime": "2025-03-17 15:47:13",
"FileName": "Alibaba Cloud Model Studio Series Mobile Phone Product Introduction.docx",
"FileId": "file_0b21e0a852cd40cd9741c54fefbb61cd_10xxxxxx",
"SizeInBytes": "14015",
"Parser": "DASHSCOPE_DOCMIND"
},
"Code": "Success",
"Success": "true"
}
|
3. Buat basis pengetahuan |
3.1. Inisialisasi basis pengetahuanSetelah penguraian file selesai, impor file tersebut ke basis pengetahuan dalam ruang kerja yang sama. Untuk menginisialisasi (belum menyelesaikan) basis pengetahuan pencarian dokumen, panggil API CreateIndex. workspace_id: Cara mendapatkan ID ruang kerja file_id: Masukkan FileId yang dikembalikan oleh API AddFile. Jika `source_type` bernilai DATA_CENTER_FILE, parameter ini wajib diisi. Jika tidak, API akan mengembalikan kesalahan. structure_type: Untuk contoh ini, masukkan unstructured. source_type: Untuk contoh ini, masukkan DATA_CENTER_FILE. sink_type: Untuk contoh ini, masukkan BUILT_IN.
Bidang Data.Id yang dikembalikan oleh API ini adalah ID basis pengetahuan, yang digunakan untuk pembuatan indeks selanjutnya. Simpan ID basis pengetahuan Anda dengan aman. Semua operasi API selanjutnya terkait basis pengetahuan ini akan menggunakannya. | Pythondef create_index(client, workspace_id, file_id, name, structure_type, source_type, sink_type):
"""
Buat basis pengetahuan (inisialisasi) di Alibaba Cloud Model Studio.
Parameters:
client (bailian20231229Client): Klien.
workspace_id (str): ID ruang kerja.
file_id (str): ID file.
name (str): Nama basis pengetahuan.
structure_type (str): Jenis data basis pengetahuan.
source_type (str): Jenis data aplikasi. Mendukung jenis kategori dan file.
sink_type (str): Jenis penyimpanan vektor basis pengetahuan.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
request = bailian_20231229_models.CreateIndexRequest(
structure_type=structure_type,
name=name,
source_type=source_type,
sink_type=sink_type,
document_ids=[file_id]
)
runtime = util_models.RuntimeOptions()
return client.create_index_with_options(workspace_id, request, headers, runtime)
Java/**
* Buat basis pengetahuan di Alibaba Cloud Model Studio (inisialisasi).
*
* @param client Objek klien
* @param workspaceId ID ruang kerja
* @param fileId ID file
* @param name Nama basis pengetahuan
* @param structureType Jenis data basis pengetahuan
* @param sourceType Jenis data aplikasi. Mendukung jenis kategori dan file
* @param sinkType Jenis penyimpanan vektor basis pengetahuan
* @return Respons dari Alibaba Cloud Model Studio
*/
public CreateIndexResponse createIndex(com.aliyun.bailian20231229.Client client, String workspaceId, String fileId, String name, String structureType, String sourceType, String sinkType) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.bailian20231229.models.CreateIndexRequest createIndexRequest = new com.aliyun.bailian20231229.models.CreateIndexRequest();
createIndexRequest.setStructureType(structureType);
createIndexRequest.setName(name);
createIndexRequest.setSourceType(sourceType);
createIndexRequest.setSinkType(sinkType);
createIndexRequest.setDocumentIds(Collections.singletonList(fileId));
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
return client.createIndexWithOptions(workspaceId, createIndexRequest, headers, runtime);
}
PHP/**
* Buat basis pengetahuan di Alibaba Cloud Model Studio (inisialisasi).
*
* @param Bailian $client Klien.
* @param string $workspaceId ID ruang kerja.
* @param string $fileId ID file.
* @param string $name Nama basis pengetahuan.
* @param string $structureType Jenis data basis pengetahuan.
* @param string $sourceType Jenis data aplikasi. Mendukung jenis kategori dan file.
* @param string $sinkType Jenis penyimpanan vektor basis pengetahuan.
* @return CreateIndexResponse Respons dari Alibaba Cloud Model Studio.
*/
public function createIndex($client, $workspaceId, $fileId, $name, $structureType, $sourceType, $sinkType) {
$headers = [];
$createIndexRequest = new CreateIndexRequest([
"structureType" => $structureType,
"name" => $name,
"sourceType" => $sourceType,
"documentIds" => [
$fileId
],
"sinkType" => $sinkType
]);
$runtime = new RuntimeOptions([]);
return $client->createIndexWithOptions($workspaceId, $createIndexRequest, $headers, $runtime);
}
Node.js/**
* Inisialisasi basis pengetahuan (indeks)
* @param {Bailian20231229Client} client - Klien
* @param {string} workspaceId - ID ruang kerja
* @param {string} fileId - ID file
* @param {string} name - Nama basis pengetahuan
* @param {string} structureType - Jenis data basis pengetahuan
* @param {string} sourceType - Jenis data aplikasi. Mendukung jenis kategori dan file
* @param {string} sinkType - Jenis penyimpanan vektor basis pengetahuan
* @returns {Promise<bailian20231229.CreateIndexResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function createIndex(client, workspaceId, fileId, name, structureType, sourceType, sinkType) {
const headers = {};
const req = new bailian20231229.CreateIndexRequest({
name,
structureType,
documentIds: [fileId],
sourceType,
sinkType
});
const runtime = new Util.RuntimeOptions({});
return await client.createIndexWithOptions(workspaceId, req, headers, runtime);
}
C#/// <summary>
/// Buat basis pengetahuan di Alibaba Cloud Model Studio (inisialisasi).
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <param name="fileId">ID file</param>
/// <param name="name">Nama basis pengetahuan</param>
/// <param name="structureType">Jenis data basis pengetahuan</param>
/// <param name="sourceType">Jenis data aplikasi. Mendukung jenis kategori dan file</param>
/// <param name="sinkType">Jenis penyimpanan vektor basis pengetahuan</param>
/// <returns>Respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Dilempar ketika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.CreateIndexResponse CreateIndex(
AlibabaCloud.SDK.Bailian20231229.Client client,
string workspaceId,
string fileId,
string name,
string structureType,
string sourceType,
string sinkType)
{
var headers = new Dictionary<string, string>() { };
var createIndexRequest = new AlibabaCloud.SDK.Bailian20231229.Models.CreateIndexRequest
{
StructureType = structureType,
Name = name,
SourceType = sourceType,
SinkType = sinkType,
DocumentIds = new List<string> { fileId }
};
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.CreateIndexWithOptions(workspaceId, createIndexRequest, headers, runtime);
}
Go// CreateIndex Buat basis pengetahuan (inisialisasi) di Alibaba Cloud Model Studio.
//
// Parameters:
// - client (bailian20231229.Client): Klien.
// - workspaceId (string): ID ruang kerja.
// - fileId (string): ID file.
// - name (string): Nama basis pengetahuan.
// - structureType (string): Jenis data basis pengetahuan.
// - sourceType (string): Jenis data aplikasi. Mendukung jenis kategori dan file.
// - sinkType (string): Jenis penyimpanan vektor basis pengetahuan.
//
// Returns:
// - *bailian20231229.CreateIndexResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func CreateIndex(client *bailian20231229.Client, workspaceId, fileId, name, structureType, sourceType, sinkType string) (_result *bailian20231229.CreateIndexResponse, _err error) {
headers := make(map[string]*string)
createIndexRequest := &bailian20231229.CreateIndexRequest{
StructureType: tea.String(structureType),
Name: tea.String(name),
SourceType: tea.String(sourceType),
SinkType: tea.String(sinkType),
DocumentIds: []*string{tea.String(fileId)},
}
runtime := &util.RuntimeOptions{}
return client.CreateIndexWithOptions(tea.String(workspaceId), createIndexRequest, headers, runtime)
}
Contoh permintaan {
"Name": "Alibaba Cloud Model Studio Mobile Phone Knowledge Base",
"SinkType": "BUILT_IN",
"SourceType": "DATA_CENTER_FILE",
"StructureType": "unstructured",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx",
"DocumentIds": [
"file_0b21e0a852cd40cd9741c54fefbb61cd_10xxxxxx"
]
}
Contoh respons {
"Status": "200",
"Message": "success",
"RequestId": "87CB0999-F1BB-5290-8C79-A875B2XXXXXX",
"Data": {
"Id": "mymxbdxxxx"
},
"Code": "Success",
"Success": "true"
}
|
3.2. Kirim pekerjaan pengindeksanSetelah menginisialisasi basis pengetahuan, Anda perlu memanggil API SubmitIndexJob untuk mengirim pekerjaan indeks guna memulai pembuatan indeks untuk basis pengetahuan. Setelah pengiriman selesai, Alibaba Cloud Model Studio mulai membangun indeks sebagai tugas asinkron. Data.Id yang dikembalikan oleh pemanggilan API ini adalah ID tugas. Pada langkah berikutnya, Anda akan menggunakan ID ini untuk mengkueri status terbaru tugas tersebut. | Pythondef submit_index(client, workspace_id, index_id):
"""
Kirim pekerjaan indeks ke Alibaba Cloud Model Studio.
Parameters:
client (bailian20231229Client): Klien.
workspace_id (str): ID ruang kerja.
index_id (str): ID basis pengetahuan.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
submit_index_job_request = bailian_20231229_models.SubmitIndexJobRequest(
index_id=index_id
)
runtime = util_models.RuntimeOptions()
return client.submit_index_job_with_options(workspace_id, submit_index_job_request, headers, runtime)
Java/**
* Kirim pekerjaan indeks ke Alibaba Cloud Model Studio.
*
* @param client Objek klien
* @param workspaceId ID ruang kerja
* @param indexId ID basis pengetahuan
* @return Objek respons dari Alibaba Cloud Model Studio
*/
public SubmitIndexJobResponse submitIndex(com.aliyun.bailian20231229.Client client, String workspaceId, String indexId) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.bailian20231229.models.SubmitIndexJobRequest submitIndexJobRequest = new com.aliyun.bailian20231229.models.SubmitIndexJobRequest();
submitIndexJobRequest.setIndexId(indexId);
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
return client.submitIndexJobWithOptions(workspaceId, submitIndexJobRequest, headers, runtime);
}
PHP/**
* Kirim pekerjaan indeks ke Alibaba Cloud Model Studio.
*
* @param Bailian $client Klien.
* @param string $workspaceId ID ruang kerja.
* @param string $indexId ID basis pengetahuan.
* @return SubmitIndexJobResponse Respons dari Alibaba Cloud Model Studio.
*/
public static function submitIndex($client, $workspaceId, $indexId) {
$headers = [];
$submitIndexJobRequest = new SubmitIndexJobRequest([
'indexId' => $indexId
]);
$runtime = new RuntimeOptions([]);
return $client->submitIndexJobWithOptions($workspaceId, $submitIndexJobRequest, $headers, $runtime);
}
Node.js/**
* Kirim pekerjaan indeks
* @param {Bailian20231229Client} client - Klien
* @param {string} workspaceId - ID ruang kerja
* @param {string} indexId - ID basis pengetahuan
* @returns {Promise<bailian20231229.SubmitIndexJobResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function submitIndex(client, workspaceId, indexId) {
const headers = {};
const req = new bailian20231229.SubmitIndexJobRequest({ indexId });
const runtime = new Util.RuntimeOptions({});
return await client.submitIndexJobWithOptions(workspaceId, req, headers, runtime);
}
C#/// <summary>
/// Kirim pekerjaan indeks ke Alibaba Cloud Model Studio.
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <param name="indexId">ID basis pengetahuan</param>
/// <returns>Objek respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Dilempar ketika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.SubmitIndexJobResponse SubmitIndex(
AlibabaCloud.SDK.Bailian20231229.Client client,
string workspaceId,
string indexId)
{
var headers = new Dictionary<string, string>() { };
var submitIndexJobRequest = new AlibabaCloud.SDK.Bailian20231229.Models.SubmitIndexJobRequest
{
IndexId = indexId
};
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.SubmitIndexJobWithOptions(workspaceId, submitIndexJobRequest, headers, runtime);
}
Go// SubmitIndex mengirim pekerjaan indeks.
//
// Parameters:
// - client (*bailian20231229.Client): Klien.
// - workspaceId (string): ID ruang kerja.
// - indexId (string): ID basis pengetahuan.
//
// Returns:
// - *bailian20231229.SubmitIndexJobResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func SubmitIndex(client *bailian20231229.Client, workspaceId, indexId string) (_result *bailian20231229.SubmitIndexJobResponse, _err error) {
headers := make(map[string]*string)
submitIndexJobRequest := &bailian20231229.SubmitIndexJobRequest{
IndexId: tea.String(indexId),
}
runtime := &util.RuntimeOptions{}
return client.SubmitIndexJobWithOptions(tea.String(workspaceId), submitIndexJobRequest, headers, runtime)
}
Contoh permintaan {
"IndexId": "mymxbdxxxx",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx"
}
Contoh respons {
"Status": "200",
"Message": "success",
"RequestId": "7774575F-571D-5854-82C2-634AB8XXXXXX",
"Data": {
"IndexId": "mymxbdxxxx",
"Id": "3cd6fb57aaf44cd0b4dd2ca584xxxxxx"
},
"Code": "Success",
"Success": "true"
}
|
3.3. Tunggu hingga pekerjaan indeks selesaiPekerjaan indeks memerlukan waktu untuk dieksekusi. Selama periode permintaan puncak, proses ini dapat memakan waktu beberapa jam. Panggil API GetIndexJobStatus untuk mengkueri status eksekusinya. Ketika bidang Data.Status yang dikembalikan oleh API ini bernilai COMPLETED, basis pengetahuan telah dibuat. | Pythondef get_index_job_status(client, workspace_id, index_id, job_id):
"""
Kueri status pekerjaan indeks.
Parameters:
client (bailian20231229Client): Klien.
workspace_id (str): ID ruang kerja.
index_id (str): ID basis pengetahuan.
job_id (str): ID pekerjaan.
Returns:
Respons dari Alibaba Cloud Model Studio.
"""
headers = {}
get_index_job_status_request = bailian_20231229_models.GetIndexJobStatusRequest(
index_id=index_id,
job_id=job_id
)
runtime = util_models.RuntimeOptions()
return client.get_index_job_status_with_options(workspace_id, get_index_job_status_request, headers, runtime)
Java/**
* Kueri status pekerjaan indeks.
*
* @param client Objek klien
* @param workspaceId ID ruang kerja
* @param jobId ID pekerjaan
* @param indexId ID basis pengetahuan
* @return Objek respons dari Alibaba Cloud Model Studio
*/
public GetIndexJobStatusResponse getIndexJobStatus(com.aliyun.bailian20231229.Client client, String workspaceId, String jobId, String indexId) throws Exception {
Map<String, String> headers = new HashMap<>();
com.aliyun.bailian20231229.models.GetIndexJobStatusRequest getIndexJobStatusRequest = new com.aliyun.bailian20231229.models.GetIndexJobStatusRequest();
getIndexJobStatusRequest.setIndexId(indexId);
getIndexJobStatusRequest.setJobId(jobId);
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
GetIndexJobStatusResponse getIndexJobStatusResponse = null;
getIndexJobStatusResponse = client.getIndexJobStatusWithOptions(workspaceId, getIndexJobStatusRequest, headers, runtime);
return getIndexJobStatusResponse;
}
PHP/**
* Kueri status pekerjaan indeks.
*
* @param Bailian $client Klien.
* @param string $workspaceId ID ruang kerja.
* @param string $indexId ID basis pengetahuan.
* @param string $jobId ID pekerjaan.
* @return GetIndexJobStatusResponse Respons dari Alibaba Cloud Model Studio.
*/
public function getIndexJobStatus($client, $workspaceId, $jobId, $indexId) {
$headers = [];
$getIndexJobStatusRequest = new GetIndexJobStatusRequest([
'indexId' => $indexId,
'jobId' => $jobId
]);
$runtime = new RuntimeOptions([]);
return $client->getIndexJobStatusWithOptions($workspaceId, $getIndexJobStatusRequest, $headers, $runtime);
}
Node.js/**
* Kueri status pekerjaan indeks
* @param {Bailian20231229Client} client - Klien
* @param {string} workspaceId - ID ruang kerja
* @param {string} jobId - ID pekerjaan
* @param {string} indexId - ID basis pengetahuan
* @returns {Promise<bailian20231229.GetIndexJobStatusResponse>} - Respons dari Alibaba Cloud Model Studio
*/
async function getIndexJobStatus(client, workspaceId, jobId, indexId) {
const headers = {};
const req = new bailian20231229.GetIndexJobStatusRequest({ jobId, indexId });
const runtime = new Util.RuntimeOptions({});
return await client.getIndexJobStatusWithOptions(workspaceId, req, headers, runtime);
}
C#/// <summary>
/// Kueri status pekerjaan indeks.
/// </summary>
/// <param name="client">Objek klien</param>
/// <param name="workspaceId">ID ruang kerja</param>
/// <param name="jobId">ID pekerjaan</param>
/// <param name="indexId">ID basis pengetahuan</param>
/// <returns>Objek respons dari Alibaba Cloud Model Studio</returns>
/// <exception cref="Exception">Melemparkan pengecualian jika terjadi kesalahan selama pemanggilan</exception>
public AlibabaCloud.SDK.Bailian20231229.Models.GetIndexJobStatusResponse GetIndexJobStatus(
AlibabaCloud.SDK.Bailian20231229.Client client,
string workspaceId,
string jobId,
string indexId)
{
var headers = new Dictionary<string, string>() { };
var getIndexJobStatusRequest = new AlibabaCloud.SDK.Bailian20231229.Models.GetIndexJobStatusRequest
{
IndexId = indexId,
JobId = jobId
};
var runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
return client.GetIndexJobStatusWithOptions(workspaceId, getIndexJobStatusRequest, headers, runtime);
}
Go// GetIndexJobStatus Kueri status pekerjaan indeks.
//
// Parameters:
// - client (bailian20231229.Client): Klien.
// - workspaceId (string): ID ruang kerja.
// - jobId (string): ID pekerjaan.
// - indexId (string): ID basis pengetahuan.
//
// Returns:
// - *bailian20231229.GetIndexJobStatusResponse: Respons dari Alibaba Cloud Model Studio.
// - error: Pesan kesalahan.
func GetIndexJobStatus(client *bailian20231229.Client, workspaceId, jobId, indexId string) (_result *bailian20231229.GetIndexJobStatusResponse, _err error) {
headers := make(map[string]*string)
getIndexJobStatusRequest := &bailian20231229.GetIndexJobStatusRequest{
JobId: tea.String(jobId),
IndexId: tea.String(indexId),
}
runtime := &util.RuntimeOptions{}
return client.GetIndexJobStatusWithOptions(tea.String(workspaceId), getIndexJobStatusRequest, headers, runtime)
}
Contoh permintaan {
"IndexId": "mymxbdxxxx",
"JobId": "3cd6fb57aaf44cd0b4dd2ca584xxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjqpxxxx"
}
Contoh respons {
"Status": "200",
"Message": "success",
"RequestId": "E83423B9-7D6D-5283-836B-CF7EAEXXXXXX",
"Data": {
"Status": "COMPLETED",
"Documents": [
{
"Status": "FINISH",
"DocId": "file_0b21e0a852cd40cd9741c54fefbb61cd_10xxxxxx",
"Message": "Impor berhasil",
"DocName": "Alibaba Cloud Model Studio Series Mobile Product Introduction",
"Code": "FINISH"
}
],
"JobId": "3cd6fb57aaf44cd0b4dd2ca584xxxxxx"
},
"Code": "Success",
"Success": "true"
}
|