Alibaba Cloud Model Studio menyediakan API terbuka yang memungkinkan Anda mengintegrasikannya dengan sistem bisnis yang sudah ada, mengotomatiskan operasi, serta memenuhi kebutuhan pengambilan (retrieval) yang kompleks.
Prasyarat
-
Untuk mengelola basis pengetahuan melalui API, Pengguna RAM harus memiliki izin API (kebijakan AliyunBailianDataFullAccess) dan bergabung ke ruang kerja. Persyaratan ini tidak berlaku untuk Akun Alibaba Cloud.
Pengguna RAM hanya dapat mengelola basis pengetahuan di ruang kerja tempat mereka bergabung. Akun Alibaba Cloud dapat mengelola basis pengetahuan di semua ruang kerja.
-
Instal versi terbaru dari Alibaba Cloud Model Studio SDK untuk memanggil API basis pengetahuan. Untuk petunjuk instalasi, lihat Referensi Pengembangan SDK Alibaba Cloud.
Jika SDK tidak memenuhi kebutuhan Anda, Anda dapat memanggil API basis pengetahuan melalui permintaan HTTP menggunakan mekanisme tanda tangan. Untuk detail koneksi, lihat Ikhtisar API.
-
Dapatkan ID AccessKey dan Secret AccessKey, serta ID ruang kerja. Konfigurasikan ketiganya sebagai variabel lingkungan sistem untuk menjalankan kode contoh. Contoh berikut menunjukkan cara mengatur variabel tersebut di Linux:
Jika Anda menggunakan IDE atau plugin pengembangan lainnya, konfigurasikan variabel
ALIBABA_CLOUD_ACCESS_KEY_ID,ALIBABA_CLOUD_ACCESS_KEY_SECRET, danWORKSPACE_IDdi lingkungan pengembangan Anda.
- Siapkan dokumen pengetahuan contoh Alibaba Cloud Model Studio Phone Introduction.docx untuk membuat basis pengetahuan.
Kode contoh
Kode contoh
- Buat basis pengetahuan
- Ambil dari basis pengetahuan
- Perbarui basis pengetahuan
- Kelola basis pengetahuan
Python
Create a knowledge base
Buat basis pengetahuan pencarian dokumen di ruang kerja yang ditentukan.
1. Initialize clientUntuk mengunggah file dan membuat basis pengetahuan, pertama-tama inisialisasi klien. Gunakan AccessKey dan AccessKey Secret Anda untuk memverifikasi identitas dan mengonfigurasiendpoint.
| Python |
2. Upload knowledge base files | |
2.1. Request a file upload leaseSebelum membuat basis pengetahuan, unggah file sumbernya ke ruang kerja yang sama. Untuk melakukannya, panggil operasi ApplyFileUploadLease untuk meminta sewa unggah file. Sewa ini merupakan otorisasi sementara untuk mengunggah file dan berlaku selama beberapa menit.
| Python
Contoh permintaan
Contoh respons |
2.2. Upload file to temporary storageDengan sewa unggah tersebut, gunakan parameter dan URL unggah sementara untuk mengunggah file dari penyimpanan lokal atau URL yang dapat diakses publik ke server Model Studio. Setiap ruang kerja mendukung hingga 10.000 file. Format yang didukung mencakup PDF, DOCX, DOC, TXT, Markdown, PPTX, PPT, XLSX, XLS, HTML, PNG, JPG, JPEG, BMP, dan GIF.
|
Python |
2.3. Add file to a categorySetelah mengunggah file, tambahkan file tersebut ke kategori dalam ruang kerja yang sama dengan memanggil operasi AddFile.
FileId untuk file tersebut dan secara otomatis mulai menguraikannya. lease_id segera tidak berlaku. Jangan gunakan kembali ID sewa yang sama untuk pengiriman lain. | Python
Contoh permintaan
Contoh respons |
2.4. Query file parsing statusFile tidak dapat digunakan dalam basis pengetahuan sampai selesai diurai. Selama jam sibuk, proses ini dapat memakan waktu beberapa jam. Anda dapat memanggil operasi DescribeFile untuk menanyakan status penguraiannya.
Data.Status bernilai PARSE_SUCCESS, file telah berhasil diurai dan Anda dapat mengimpornya ke basis pengetahuan. | Python
Contoh permintaan
Contoh respons |
3. Create a knowledge base | |
3.1. Initialize knowledge baseSetelah file diurai, Anda dapat membuat basis pengetahuan darinya di ruang kerja yang sama. Untuk memulai, panggil operasi CreateIndex untuk menginisialisasi (namun belum menyelesaikan) basis pengetahuan pengambilan dokumen.
Data.Id yang dikembalikan oleh API ini adalah ID basis pengetahuan, yang digunakan untuk pembuatan indeks selanjutnya.Simpan ID basis pengetahuan dengan aman, karena diperlukan untuk semua operasi API selanjutnya terkait basis pengetahuan ini. | Python
Contoh permintaan
Contoh respons |
3.2. Submit an index jobSetelah menginisialisasi basis pengetahuan, panggil operasi SubmitIndexJob untuk memulai proses pembuatan indeks.
Data.Id yang dikembalikan oleh pemanggilan API ini adalah ID tugas yang sesuai. Anda akan menggunakan ID ini pada langkah berikutnya untuk menanyakan status terbaru tugas tersebut. | Python
Contoh permintaan
Contoh respons |
3.3. Query index job statusTugas indeks memerlukan waktu untuk diselesaikan. Selama jam sibuk, proses ini dapat memakan waktu beberapa jam. Panggil operasi GetIndexJobStatus untuk menanyakan status eksekusinya.
Data.Status bernilai COMPLETED, basis pengetahuan telah dibuat. | Python
Contoh permintaan
Contoh respons |
Ambil dari basis pengetahuan
Anda dapat mengambil informasi dari basis pengetahuan dengan dua cara:
- Menggunakan aplikasi Alibaba Cloud Model Studio: Saat Anda memanggil aplikasi, gunakan parameter
rag_optionsuntuk meneruskan ID basis pengetahuanindex_id. Hal ini melengkapi model Anda dengan pengetahuan privat dan menyediakan informasi terkini. - Menggunakan API Alibaba Cloud: Panggil Retrieve API untuk mengambil informasi dari basis pengetahuan tertentu dan mengembalikan segmen teks aslinya.
Untuk mengambil informasi dan mengembalikan segmen teks dari basis pengetahuan tertentu, panggil Retrieve API.
| Python
Contoh permintaan
Contoh respons |
Perbarui basis pengetahuan
Contoh berikut menunjukkan cara memperbarui basis pengetahuan pencarian dokumen. Aplikasi yang menggunakan basis pengetahuan tersebut mencerminkan pembaruan Anda secara real time. Konten baru menjadi tersedia untuk pengambilan, sedangkan konten yang dihapus tidak lagi dapat diakses.
Anda tidak dapat memperbarui basis pengetahuan kueri data atau tanya jawab gambar menggunakan API. Untuk informasi selengkapnya, lihat Perbarui basis pengetahuan.
- Pembaruan inkremental: Satu-satunya metode yang didukung adalah proses tiga langkah: unggah file yang diperbarui, tambahkan file ke basis pengetahuan, lalu hapus file lama.
- Pembaruan penuh: Untuk setiap file dalam basis pengetahuan, lakukan ketiga langkah tersebut untuk menyelesaikan pembaruan.
- Pembaruan atau sinkronisasi otomatis: Untuk informasi selengkapnya, lihat Cara memperbarui atau menyinkronkan basis pengetahuan secara otomatis.
- Batas file untuk satu pembaruan: Kami menyarankan untuk memperbarui tidak lebih dari 10.000 file sekaligus. Melebihi batas ini dapat mencegah basis pengetahuan diperbarui dengan benar.
1. Unggah file yang diperbaruiIkuti prosedur dalam Buat basis pengetahuan: Langkah 2 untuk mengunggah file yang diperbarui ke ruang kerja yang berisi basis pengetahuan tersebut.Minta sewa unggah file baru untuk menghasilkan serangkaian parameter unggah baru bagi file yang diperbarui. | |
2. Tambahkan file ke basis pengetahuan | |
2.1. Kirim Tugas AppendSetelah file yang diunggah selesai diurai, panggil operasi SubmitIndexAddDocumentsJob untuk menambahkan file baru ke basis pengetahuan dan membangun ulang indeks basis pengetahuan.
Data.Id, yaitu ID task (job_id). Gunakan ID ini pada langkah berikutnya untuk menanyakan status task. | Python
Contoh permintaan
Contoh respons |
2.2. Tunggu hingga task selesaiTask pengindeksan memerlukan waktu tertentu untuk selesai. Selama jam sibuk, proses ini dapat memakan waktu beberapa jam. Anda dapat memanggil operasi GetIndexJobStatus untuk menanyakan status eksekusinya.
COMPLETED pada bidang Data.Status dalam respons menunjukkan bahwa semua file yang diperbarui telah berhasil ditambahkan ke basis pengetahuan.Daftar | Python
Contoh permintaan
Contoh respons |
3. Hapus file lamaAkhirnya, panggil operasi DeleteIndexDocument untuk menghapus permanen versi lama file dari basis pengetahuan. Hal ini mencegah informasi usang diambil secara tidak sengaja.
Anda hanya dapat menghapus file dengan status gagal impor (INSERT_ERROR) atau impor berhasil (FINISH). Untuk menanyakan status file dalam basis pengetahuan, Anda dapat memanggil operasi ListIndexDocuments. | Python
Contoh permintaan
Contoh respons |
Mengelola basis pengetahuan
Membuat dan menggunakan basis pengetahuan tidak didukung melalui API. Anda harus melakukan tugas-tugas ini di Konsol Model Studio.
Menampilkan basis pengetahuanUntuk menampilkan basis pengetahuan dalam ruang kerja tertentu, panggil operasi ListIndices.
| Python
Contoh permintaan
Contoh respons |
Menghapus basis pengetahuanUntuk menghapus basis pengetahuan secara permanen, panggil operasi DeleteIndex. Sebelum menghapus basis pengetahuan, Anda harus memutuskan kaitannya dari semua aplikasi Alibaba Cloud Model Studio yang terhubung di Konsol Model Studio. Jika tidak, penghapusan akan gagal.
| Python
Contoh permintaan
Contoh respons |
API
Lihat Katalog API (Basis Pengetahuan) untuk daftar lengkap API basis pengetahuan serta parameter permintaan dan respons-nya.
FAQ
-
Bagaimana cara mengotomatiskan pembaruan dan sinkronisasi basis pengetahuan?
- Pencarian dokumen
- Kueri data dan Tanya Jawab gambar
Integrasikan API untuk Object Storage Service (OSS), Function Compute (FC), dan basis pengetahuan Model Studio. Ikuti langkah-langkah berikut:- Buat bucket: Buka Konsol OSS untuk membuat bucket OSS guna menyimpan file sumber Anda.
- Buat basis pengetahuan: Buat basis pengetahuan pencarian dokumen untuk menyimpan konten pengetahuan privat Anda.
- Buat fungsi kustom: Buka Konsol FC dan buat fungsi untuk menangani event perubahan file, seperti operasi tambah atau hapus. Lihat Buat fungsi. Fungsi-fungsi ini menyinkronkan perubahan file dari OSS ke basis pengetahuan Anda dengan memanggil API terkait yang dijelaskan dalam Perbarui basis pengetahuan.
- Buat pemicu OSS: Di FC, kaitkan pemicu OSS dengan fungsi kustom yang telah Anda buat pada langkah sebelumnya. Ketika event perubahan file terdeteksi—misalnya unggahan file baru ke OSS—pemicu tersebut akan aktif dan FC menjalankan fungsi tersebut. Lihat Pemicu.
- Mengapa basis pengetahuan baru saya kosong? Hal ini biasanya terjadi jika langkah Kirim pekerjaan pengindeksan gagal dijalankan. Jika Anda memanggil API CreateIndex tetapi panggilan API SubmitIndexJob gagal, maka basis pengetahuan akan kosong. Untuk mengatasinya, kirim ulang pekerjaan pengindeksan dan tunggu hingga pekerjaan pengindeksan selesai.
- Apa yang harus saya lakukan jika menerima pesan kesalahan "Access your uploaded file failed. Please check if your upload action was successful"? Error ini biasanya terjadi karena langkah Unggah file ke penyimpanan temporary tidak berhasil dijalankan. Pastikan langkah ini berhasil sebelum Anda memanggil operasi API AddFile.
-
Apa yang harus saya lakukan jika menerima error "Access denied: Either you are not authorized to access this workspace, or the workspace does not exist"?
Error ini biasanya terjadi karena alasan berikut:
-
Titik akhir layanan (service endpoint) yang diminta salah: Untuk akses melalui Internet, pengguna situs China (public cloud) harus menggunakan titik akhir layanan di China (Beijing), sedangkan pengguna situs internasional harus menggunakan titik akhir layanan di Singapura. Jika Anda menggunakan fitur online debugging, pastikan Anda memilih titik akhir layanan yang benar, seperti yang ditunjukkan pada gambar berikut.

-
Nilai
WorkspaceIdsalah, atau Anda bukan anggota ruang kerja tersebut: Sebelum memanggil API, verifikasi bahwaWorkspaceIdbenar dan Anda merupakan anggota ruang kerja tersebut. Cara ditambahkan sebagai anggota ruang kerja tertentu
-
Titik akhir layanan (service endpoint) yang diminta salah: Untuk akses melalui Internet, pengguna situs China (public cloud) harus menggunakan titik akhir layanan di China (Beijing), sedangkan pengguna situs internasional harus menggunakan titik akhir layanan di Singapura. Jika Anda menggunakan fitur online debugging, pastikan Anda memilih titik akhir layanan yang benar, seperti yang ditunjukkan pada gambar berikut.
-
Apa yang harus saya lakukan jika menerima error "Specified access key is not found or invalid"?
Error ini biasanya terjadi karena
access_key_idatauaccess_key_secretyang diberikan salah, atauaccess_key_idtelah dinonaktifkan. Pastikanaccess_key_idbenar dan tidak dinonaktifkan sebelum Anda memanggil API. -
Apa yang harus saya lakukan jika menerima error "Category is mismatched"?
Error ini biasanya terjadi ketika
CategoryIdyang digunakan dalam panggilan APIApplyFileUploadLeaseberbeda dariCategoryIdyang diteruskan dalam panggilan APIAddFileberikutnya. Pastikan Anda menggunakanCategoryIdyang sama sepanjang alur unggah file, mulai dariApplyFileUploadLeasehinggaAddFile. Anda dapat memanggil APIListCategoryuntuk mengambil daftar kategori dalam ruang kerja saat ini dan memverifikasi bahwaCategoryIdyang Anda gunakan benar.
Penagihan
- Semua fitur basis pengetahuan dan panggilan API gratis. Lihat Knowledge Base: Billing.
- Ruang penyimpanan untuk data, seperti file yang diimpor ke Model Studio, gratis.
