在LangStudio中,可以使用檔案類型的變數接收和輸出檔案,通過文檔解析節點或Python節點處理檔案。
一、開始節點輸入
在開始節點中,可以定義類型為 File(檔案) 的輸入變數,用於接收使用者上傳的檔案,並作為工作流程的初始輸入。

支援的檔案類型包括:
文檔類:PDF, DOCX, PPTX, XLSX, XLS, TXT, MD, CSV, JSONL, HTML, HTM
圖片類:JPG, JPEG, PNG, BMP, TIFF
音頻類:MP3, WAV, AAC
視頻類:MP4, MOV, AVI, MKV, M4V, WMV, FLV, ASF, QT
檔案上傳方式:在開始節點定義檔案類型變數後,在對話面板中單擊參數配置,可通過從本地上傳和輸入URL兩種方式上傳檔案。其中,通過輸入URL方式上傳時,支援類型包括:
OSS URI:符合阿里雲 OSS 規範的檔案儲存體路徑,例如:
oss://bucket-name/path/to/file.pdf。HTTP/HTTPS連結:可通過公網訪問的可下載連結,例如:
https://example.com/file.docx。

二、檔案處理
檔案類型的輸入可通過文檔解析節點以及Python節點2種方式處理。
2.1. 文檔解析節點
使用文檔解析節點,參見文檔解析。
2.2. Python節點中自訂使用方式
在Python節點中,可以引用檔案類型變數作為節點輸入,或組建檔案類型對象作為節點輸出。
File是 LangStudio 中用於表示檔案的核心類型,需要通過from langstudio.types import File引入依賴包。
LangStudio中提供了多種方式來構建File類型對象,並上傳至使用者的OSS儲存路徑中。
直接構造
直接建立一個 File 對象。這是最基礎的構造方式,適用於引用已有檔案。
參數 | 類型 | 描述 | 樣本值 |
|
| 必填。檔案的原始位置。支援以下格式:
|
|
|
| 可下載的 HTTP/HTTPS 連結。
|
|
|
| 檔案的唯一識別碼。若未提供,系統將產生 8 位 UUID。 |
|
|
| 檔案名稱。若未提供,系統會從 |
|
|
| 檔案的 MIME 類型(如 |
|
範例程式碼:
from langstudio.types import File
file = File(source_uri="https://example.com/report.pdf")
file = File(source_uri="oss://my-bucket/docs/file.docx")從字串構造
File.from_content()方法支援使用者從字串內容建立File類型對象,適用於產生文本類檔案(如 Markdown、TXT、CSV)。
參數 | 類型 | 描述 | 樣本值 |
|
| 必填。要儲存的字串內容,將被 UTF-8 編碼後上傳。 |
|
|
| 必填。產生的檔案名稱。 |
|
範例程式碼:
from langstudio.types import File
content = "# 產生報告\n這是由系統自動產生的內容。"
file = File.from_content(content=content, file_name="report.md")從位元組序列構造
File.from_bytes(content, file_name)方法,支援使用者從一個位元組序列建立File類型對象,適用於處理二進位檔案(如 PDF、圖片、Office 文檔)。
參數 | 類型 | 描述 | 樣本值 |
|
| 必填。要儲存的位元據。 |
|
|
| 必填。產生的檔案名稱。 |
|
範例程式碼:
from langstudio.types import File
# 假設 `pdf_data` 是一個 bytes 對象
file = File.from_bytes(content=pdf_data, file_name="test.pdf")從本地檔案構造
File.from_local_file(local_path, file_name)支援使用者上傳一個掛載路徑中的本地檔案,並建立 File 類型對象,適用於容器內本地檔案。
參數 | 類型 | 描述 | 樣本值 |
|
| 必填。本地檔案系統的路徑。 |
|
|
| 產生的檔案名稱。如果未提供,則使用 |
|
範例程式碼:
from langstudio.types import File
# 假設 /tmp/ 目錄下已存在該檔案
file = File.from_local_file(local_path="/tmp/output.pptx", file_name="presentation.pptx")從資料流構造
File.from_stream(stream, file_name)支援使用者從一個資料流(如網路流、BytesIO 或可迭代對象)上傳內容並建立 File 對象,適用於大檔案或串流。
參數 | 類型 | 描述 | 樣本值 |
|
| 必填。資料來源。可以是:
|
|
|
| 必填。產生的檔案名稱。 |
|
範例程式碼:
import io
from langstudio.types import File
url = "https://example.com/data.jsonl"
file = File.from_stream(stream=url, file_name="data.jsonl")三、 結束節點輸出
在結束節點中,支援將File類型對象作為工作流程的輸出結果。查看時,可通過點擊對話面板中的“查看其他輸出”,可以對工作流程的輸出檔案進行查看和下載。



四、 許可權點注意
涉及 File 類型的操作需要對 OSS 儲存空間進行讀寫訪問。在建立運行時及部署應用流時,請注意
選擇工作空間預設工作路徑作為當前的工作路徑。
執行個體RAM角色推薦選擇PAI預設角色;若選擇自訂角色,需給該自訂角色授予
AliyunOSSFullAccess許可權,否則將無法在LangStudio實現檔案類型輸入、輸出。
如下查看工作空間預設工作路徑:

建立運行時:

部署應用流:
