Alur kerja LangStudio dapat menerima file dari pengguna, mengarahkannya melalui node pemrosesan, dan mengembalikan file sebagai output—tanpa perlu membangun infrastruktur penanganan file dari awal. Gunakan variabel bertipe file untuk menghubungkan unggahan file di node Start ke node Python atau node penguraian dokumen, lalu kembalikan file hasil pemrosesan dari node End.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Alur aplikasi LangStudio dengan setidaknya satu node Start dan satu node End
-
Akses baca dan tulis ke bucket OSS (diperlukan untuk semua operasi bertipe
File)
Menerima unggahan file di node Start
Tentukan variabel input bertipe file di node Start untuk menerima file dari pengguna pada awal alur kerja.
LangStudio mendukung jenis file berikut sebagai input node Start:
-
Jenis dokumen: PDF, DOCX, PPTX, XLSX, XLS, TXT, MD, CSV, JSONL, HTML, dan HTM
-
Jenis gambar: JPG, JPEG, PNG, BMP, dan TIFF
-
Jenis audio: MP3, WAV, dan AAC
-
Jenis video: MP4, MOV, AVI, MKV, M4V, WMV, FLV, ASF, dan QT
Setelah menentukan variabel bertipe file, pengguna dapat mengunggah file dari panel percakapan melalui Parameter Configuration. Tersedia dua metode unggah:
-
Upload From Local: Unggah file langsung dari perangkat pengguna.
-
Enter URL: Masukkan URL yang mengarah ke file. Dua format URL diterima:
-
OSS URI: Jalur file di Alibaba Cloud OSS, seperti
oss://bucket-name/path/to/file.pdf. -
Tautan HTTP/HTTPS: Tautan unduh yang dapat diakses publik, seperti
https://example.com/file.docx.
-
Memproses file
Node Start hanya mengumpulkan file—tidak membaca atau mengurai isinya. Teruskan file tersebut ke node hilir untuk diproses.
Pendekatan yang digunakan
| Skenario | Pendekatan yang direkomendasikan |
|---|---|
| Ekstraksi teks dari format dokumen standar (PDF, DOCX, TXT, dan sejenisnya) untuk pemrosesan LLM | Node Penguraian Dokumen |
| Pemrosesan biner kustom, konversi format, atau pembuatan file baru secara terprogram | Node Python |
Node Penguraian Dokumen
Arahkan dokumen yang diunggah ke node Penguraian Dokumen untuk mengekstraksi konten teksnya agar dapat digunakan di node LLM. Untuk detail selengkapnya, lihat Penguraian Dokumen.
Skenario umum: Pengguna mengunggah file PDF, node Penguraian Dokumen mengekstraksi teksnya, lalu node LLM menjawab pertanyaan berdasarkan konten tersebut.
Node Python
Di node Python, rujuk variabel bertipe file sebagai input node atau hasilkan objek File sebagai output node.
File adalah tipe inti yang digunakan LangStudio untuk merepresentasikan file. Impor dengan from langstudio.types import File.
LangStudio menyediakan lima metode untuk membuat objek File.
Konstruksi langsung
Gunakan File() untuk merujuk file yang sudah ada berdasarkan lokasinya. Ini adalah metode paling sederhana dan berfungsi untuk file yang sudah tersimpan di OSS atau dapat diakses melalui URL.
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
source_uri |
str |
Ya | Lokasi file. Menerima URL HTTP/HTTPS, URI OSS (oss://), atau jalur lokal dalam mount path kontainer. |
"https://files.example.com/report.pdf" |
download_url |
str |
Tidak | Tautan unduh HTTP/HTTPS. Jika tidak disediakan, sistem akan menghasilkannya secara otomatis. Untuk URI OSS, URL yang ditandatangani (signed URL) dengan masa berlaku tujuh hari akan dibuat — panggil File.get_download_url() untuk memperbaruinya setelah kedaluwarsa. |
"https://oss-cn-beijing.aliyuncs.com/my-bucket/...?Expires=...&OSSAccessKeyId=..." |
file_id |
str |
Tidak | Pengenal unik untuk file. Jika tidak disediakan, sistem akan menghasilkan UUID 8 digit. | "a1b2c3d4" |
file_name |
str |
Tidak | Nama file. Jika tidak disediakan, sistem akan menginferensinya dari source_uri. |
"annual_summary_report.docx" |
file_type |
str |
Tidak | Jenis Multipurpose Internet Mail Extensions (MIME), seperti application/pdf. Jika tidak disediakan, sistem akan menginferensinya dari ekstensi nama file. |
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" |
from langstudio.types import File
file = File(source_uri="https://example.com/report.pdf")
file = File(source_uri="oss://my-bucket/docs/file.docx")
Konstruksi dari string
Gunakan File.from_content() untuk membuat file dari konten string. Metode ini cocok untuk menghasilkan file berbasis teks seperti Markdown, TXT, dan CSV.
| Parameter | Jenis | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
content |
str |
Ya | Konten string yang akan disimpan. Konten dikodekan dalam UTF-8 sebelum diunggah. | "# Generate Report\nThis content is automatically generated by the system." |
file_name |
str |
Ya | Nama file yang dihasilkan. | "report.md" |
from langstudio.types import File
content = "# Generate Report\nThis content is automatically generated by the system."
file = File.from_content(content=content, file_name="report.md")
Konstruksi dari urutan byte
Gunakan File.from_bytes() untuk membuat file dari data biner. Metode ini cocok untuk format biner seperti file PDF, gambar, dan dokumen Office.
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
content |
bytes |
Ya | Data biner yang akan disimpan. | b"%PDF-1.4\n1 0 obj\n<< /Type /Catalog >>\nendobj\n" |
file_name |
str |
Ya | Nama file yang dihasilkan. | "test.pdf" |
from langstudio.types import File
# pdf_data is a bytes object
file = File.from_bytes(content=pdf_data, file_name="test.pdf")
Konstruksi dari file lokal
Gunakan File.from_local_file() untuk mengunggah file dari sistem file lokal kontainer. Metode ini cocok untuk file yang berada di jalur tertentu dalam kontainer.
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
local_path |
str |
Ya | Jalur file dalam sistem file lokal. | "/tmp/report.docx" |
file_name |
str |
Tidak | Nama file yang dihasilkan. Jika tidak disediakan, nama file dari local_path akan digunakan. |
"final_report.docx" |
from langstudio.types import File
# The file already exists at /tmp/output.pptx
file = File.from_local_file(local_path="/tmp/output.pptx", file_name="presentation.pptx")
Konstruksi dari aliran data
Gunakan File.from_stream() untuk membuat file dari sumber aliran. Metode ini cocok untuk file besar atau saat data tiba sebagai aliran jaringan, objek BytesIO, atau iterable lainnya.
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
stream |
str | bytes | BinaryIO | Iterator[bytes] |
Ya | Sumber data. Menerima string URL HTTP/HTTPS, objek bytes, aliran io.BytesIO, objek requests.Response (dengan stream=True), atau iterable apa pun berisi byte. |
"https://example.com/large-video.mp4" |
file_name |
str |
Ya | Nama file yang dihasilkan. | "downloaded_video.mp4" |
import io
from langstudio.types import File
url = "https://example.com/data.jsonl"
file = File.from_stream(stream=url, file_name="data.jsonl")
Mengembalikan file output dari node End
Gunakan objek File sebagai output node End untuk mengembalikan file dari alur kerja. Di panel percakapan, klik View other outputs untuk melihat dan mengunduh file output tersebut.


Konfigurasi izin OSS
Semua operasi bertipe File memerlukan akses baca dan tulis ke bucket OSS. Konfigurasikan pengaturan berikut saat membuat runtime dan men-deploy alur aplikasi:
-
Pilih jalur ruang kerja default sebagai jalur kerja saat ini.

-
Untuk Instance RAM Role, pilih PAI Default Role. Jika Anda memilih Custom Role sebagai gantinya, berikan izin
AliyunOSSFullAccesskepada role kustom tersebut. Tanpa izin ini, LangStudio tidak dapat melakukan operasi input dan output file.Buat runtime:

Deploy alur aplikasi:
