Gemini 可以回覆文件相關提示。你可以在 Gemini 要求中加入文件,讓 Gemini 瞭解文件內容,進而執行相關工作。
文件理解是 Gemini 的多模態輸入內容之一,可將文字與媒體檔案結合。
如要進一步瞭解如何使用 Gemini 瞭解文件,以及傳送 API 要求的逐步操作說明,請參閱「傳送多模態提示」。
含文件的提示規格
你可以在 Gemini 的要求中加入文件檔案,Gemini 要求有下列文件數量上限:
- 每項要求的檔案數量上限:100 個
- 每個檔案的頁數上限:100
- 每個檔案的大小上限:50 MB
以下是您可以在單一要求中提供的部分上限範例 (Gemini 可以在要求中處理最多 100 個網頁):
- 100 個單頁檔案
- 十個 10 頁的檔案
- 一個 100 頁的檔案
文件必須採用下列其中一種支援的 MIME 類型:
- CSS:
text/css - CSV:
text/csv - HTML:
text/html - JS:
text/javascript或application/x-javascript - MD:
text/md - PDF:
application/pdf - PY:
text/x-python或application/x-python - RTF:
text/rtf - TXT:
text/plain - XML:
text/xml
Gemini 對文件設有下列規則:
- PDF 會視為圖片,因此 PDF 的單一頁面會視為一張圖片。 提示中的頁數上限取決於模型可支援的圖片數量。
- 系統會以與圖片相同的方式,將 PDF 的每個頁面轉換為權杖。
- 純文字文件會以文字形式進行權杖化。
- 如果提示只包含一個 PDF,請在要求中將 PDF 放在文字提示之前。
- 如果文件很長,建議您將其拆成多個 PDF 檔案,再進行處理。
您可以在 REST API 中使用 Chat Completions 端點,並使用 HTTP 用戶端。您可以將文件以 base64 編碼檔案的形式,做為內嵌資料提供給提示要求,或上傳文件檔案至儲存空間值區再提出提示要求。
如要進一步瞭解文件最佳做法和限制,請參閱 Google Cloud 說明文件。
如要進一步瞭解 OpenAI,以及 Gemini 在 Google Distributed Cloud (GDC) Air-Gapped 中實作的 Chat Completions 端點,請參閱 https://platform.openai.com/docs/api-reference/chat。
根據提示解讀文件
下列範例顯示 Gemini Chat Completions API 要求,可使用 curl 從文件輸入內容生成文字。
傳送內嵌資料要求
以 base64 編碼檔案的形式,將文件做為內嵌資料提供給提示要求。API 要求包含 base64 編碼文件的 input_document 欄位。下列範例說明如何傳送以 base64 編碼的文件要求:
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": [
{
"type": "input_document",
"input_document": {
"data": BASE64_DATA,
# Valid formats are css, csv, html, js, md, pdf, py, rtf, txt, or xml
"format": "pdf"
}
}
]
}
],
}'
更改下列內容:
ENDPOINT:貴機構使用的 API 端點。PROJECT:您的專案 ID。MODEL_ID:要生成回覆的模型端點 ID。BASE64_DATA:文件檔案的 base64 編碼資料。 Base64 編碼資料必須以資料 URI 結構 (RFC 2397) 為前置字元。 因此,Base64 編碼資料的data欄位格式為"data": f"data:application/pdf;base64,{base64_document}"。
在要求中傳送文件網址
上傳文件檔案至儲存空間 bucket 後,再提出提示要求。API 請求包含儲存空間 bucket 中文件檔案的 document_url 欄位。以下範例說明如何傳送文件網址要求:
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": [
{
"type": "document_url",
"document_url": {
"url": "DOC_URL",
}
}
]
}
],
}'
更改下列內容:
ENDPOINT:貴機構使用的 API 端點。PROJECT:您的專案 ID。MODEL_ID:要生成回覆的模型端點 ID。DOC_URL:儲存空間值區中文件網址的路徑。文件網址必須參照儲存在 GDC 儲存空間值區中的文件檔案。詳情請參閱儲存資料。