全部產品
Search
文件中心

Platform For AI:檔案類型輸入輸出

更新時間:Aug 07, 2025

在LangStudio中,可以使用檔案類型的變數接收和輸出檔案,通過文檔解析節點或Python節點處理檔案。

一、開始節點輸入

開始節點中,可以定義類型為 File(檔案) 的輸入變數,用於接收使用者上傳的檔案,並作為工作流程的初始輸入。

image

  • 支援的檔案類型包括:

    • 文檔類: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

    image

二、檔案處理

檔案類型的輸入可通過文檔解析節點以及Python節點2種方式處理。

2.1. 文檔解析節點

使用文檔解析節點,參見文檔解析

2.2. Python節點中自訂使用方式

在Python節點中,可以引用檔案類型變數作為節點輸入,或組建檔案類型對象作為節點輸出。

說明

File是 LangStudio 中用於表示檔案的核心類型,需要通過from langstudio.types import File引入依賴包。

LangStudio中提供了多種方式來構建File類型對象,並上傳至使用者的OSS儲存路徑中。

直接構造

直接建立一個 File 對象。這是最基礎的構造方式,適用於引用已有檔案。

參數

類型

描述

樣本值

source_uri

str

必填。檔案的原始位置。支援以下格式:

  • HTTP/HTTPS URLhttps://example.com/doc.pdf

  • OSS URIoss://my-bucket/path/file.txt

  • 容器掛載路徑下的檔案本地路徑

"https://files.example.com/report.pdf"

download_url

str, optional

可下載的 HTTP/HTTPS 連結。

  • 若未提供,系統自動產生。

  • 如為 OSS URI,則產生時效7天的預簽名連結,若連結到期,可通過File.get_download_url()重新整理並擷取最新的預簽名URL。

"https://oss-cn-beijing.aliyuncs.com/my-bucket/...?Expires=...&OSSAccessKeyId=..."

file_id

str, optional

檔案的唯一識別碼。若未提供,系統將產生 8 位 UUID。

"a1b2c3d4"

file_name

str, optional

檔案名稱。若未提供,系統會從source_uri中自動推斷。

"年度總結報告.docx"

file_type

str, optional

檔案的 MIME 類型(如application/pdf)。若未提供,系統會根據副檔名自動推斷。

"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")

從字串構造

File.from_content()方法支援使用者從字串內容建立File類型對象,適用於產生文本類檔案(如 Markdown、TXT、CSV)。

參數

類型

描述

樣本值

content

str

必填。要儲存的字串內容,將被 UTF-8 編碼後上傳。

"# 產生報告\n這是系統自動產生的內容。"

file_name

str

必填。產生的檔案名稱。

"report.md"

範例程式碼

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 文檔)。

參數

類型

描述

樣本值

content

bytes

必填。要儲存的位元據。

b"%PDF-1.4\n1 0 obj\n<< /Type /Catalog >>\nendobj\n"

file_name

str

必填。產生的檔案名稱。

"test.pdf"

範例程式碼:

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 類型對象,適用於容器內本地檔案。

參數

類型

描述

樣本值

local_path

str

必填。本地檔案系統的路徑。

"/tmp/report.docx"

file_name

str, optional

產生的檔案名稱。如果未提供,則使用local_path的檔案名稱。

"final_report.docx"

範例程式碼:

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 對象,適用於大檔案或串流。

參數

類型

描述

樣本值

stream

str | bytes | BinaryIO | Iterator[bytes]

必填。資料來源。可以是:

  • HTTP/HTTPS URL 字串

  • bytes對象

  • io.BytesIO

  • requests.Response對象(需stream=True

  • 任何可迭代的位元組對象

"https://example.com/large-video.mp4"

file_name

str

必填。產生的檔案名稱。

"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")

三、 結束節點輸出

在結束節點中,支援將File類型對象作為工作流程的輸出結果。查看時,可通過點擊對話面板中的“查看其他輸出”,可以對工作流程的輸出檔案進行查看和下載。

image

image

image

四、 許可權點注意

涉及 File 類型的操作需要對 OSS 儲存空間進行讀寫訪問。在建立運行時及部署應用流時,請注意

  • 選擇工作空間預設工作路徑作為當前的工作路徑。

  • 執行個體RAM角色推薦選擇PAI預設角色;若選擇自訂角色,需給該自訂角色授予 AliyunOSSFullAccess 許可權,否則將無法在LangStudio實現檔案類型輸入、輸出。

如下查看工作空間預設工作路徑:

image

建立運行時:

image

部署應用流:

image