建立筆記本後,您可以將各種內容類型新增為資料來源。你可以批次上傳,也可以逐一上傳。來源包括 Google 文件、Google 簡報、原始文字、網頁內容和 YouTube 影片。
本頁面說明如何執行下列工作:
事前準備
如要將 Google 文件或 Google 簡報新增為資料來源,請使用 Google 使用者憑證授權存取 Google 雲端硬碟。如要這麼做,請執行下列
gloud auth login
指令,然後按照 CLI 中的指示操作。
gcloud auth login --enable-gdrive-access
批次新增資料來源
如要將來源新增至筆記本,請呼叫 notebooks.sources.batchCreate 方法。
REST
curl -X POST \
-H "Authorization:Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchCreate" \
-d '{
"userContents": [
{
USER_CONTENT
}
]
}'
更改下列內容:
ENDPOINT_LOCATION:API 要求的適用多區域。指派下列其中一個值:us-美國多區域- 歐盟多區域:
eu- global-,即可查看全球位置
PROJECT_NUMBER:您的 Google Cloud 專案編號。LOCATION: 資料存放區的地理位置,例如global。 詳情請參閱「位置」。NOTEBOOK_ID:筆記本的專屬 ID。USER_CONTENT:資料來源內容。
你只能新增下列其中一個資料來源做為內容:
如果是 Google 文件或 Google 簡報等 Google 雲端硬碟內容,請新增:
"googleDriveContent": { "documentId": "DOCUMENT_ID_GOOGLE", "mimeType": "MIME_TYPE", "sourceName": "DISPLAY_NAME_GOOGLE" }更改下列內容:
DOCUMENT_ID_GOOGLE:Google 雲端硬碟中的檔案 ID。這個 ID 會顯示在檔案的網址中。如要取得檔案的文件 ID,請開啟檔案。網址模式為:https://docs.google.com/FILE_TYPE/d/DOCUMENT_ID_GOOGLE/edit?resourcekey=RESOURCE_KEY。MIME_TYPE:所選文件的 MIME 類型。使用application/vnd.google-apps.document適用於 Google 文件,或application/vnd.google-apps.presentation適用於 Google 簡報。DISPLAY_NAME_GOOGLE:資料來源的顯示名稱。
如果是原始文字輸入,請新增:
"textContent": { "sourceName": "DISPLAY_NAME_TEXT", "content": "TEXT_CONTENT" }更改下列內容:
DISPLAY_NAME_TEXT:資料來源的顯示名稱。TEXT_CONTENT:您要上傳做為資料來源的原始文字內容。
如果是網頁內容,請新增:
"webContent": { "url": "URL_WEBCONTENT", "sourceName": "DISPLAY_NAME_WEB" }更改下列內容:
URL_WEBCONTENT:要上傳為資料來源的內容網址。DISPLAY_NAME_WEB:資料來源的顯示名稱。
如果是影片內容,請新增:
"videoContent": { "url": "URL_YOUTUBE" }將
URL_YOUTUBE替換為要上傳做為資料來源的 YouTube 影片網址。
如果要求成功,您應該會收到 source 物件的例項做為回應,類似於下列 JSON。請記下 SOURCE_ID 和 SOURCE_RESOURCE_NAME,這些是執行其他工作 (例如擷取或刪除資料來源) 時的必要項目。
{
"sources": [
{
"sourceId": {
"id": "SOURCE_ID"
},
"title": "DISPLAY_NAME",
"metadata": {
"xyz": "abc"
},
"settings": {
"status": "SOURCE_STATUS_COMPLETE"
},
"name": "SOURCE_RESOURCE_NAME"
}
]
}
上傳檔案做為來源
除了批次新增資料來源,你也可以上傳單一檔案,做為筆記本中的資料來源。如要上傳單一檔案,請呼叫 notebooks.sources.uploadFile 方法。
REST
curl -X POST --data-binary "@PATH/TO/FILE" \
-H "Authorization:Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-Upload-File-Name: FILE_DISPLAY_NAME" \
-H "X-Goog-Upload-Protocol: raw" \
-H "Content-Type: CONTENT_TYPE" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/upload/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:uploadFile" \
更改下列內容:
PATH/TO/FILE:要上傳的檔案路徑。FILE_DISPLAY_NAME:這個字串代表筆記本中檔案的顯示名稱。CONTENT_TYPE:要上傳的內容類型。如需支援的內容類型清單,請參閱「支援的內容類型」。ENDPOINT_LOCATION:API 要求的適用多區域。指派下列其中一個值:us-美國多區域- 歐盟多區域:
eu- global-,即可查看全球位置
PROJECT_NUMBER:您的 Google Cloud 專案編號。LOCATION: 資料存放區的地理位置,例如global。 詳情請參閱「位置」。NOTEBOOK_ID:筆記本的專屬 ID。
如果要求成功,您應該會收到類似以下的 JSON 回應。
{
"sourceId": {
"id": "SOURCE_ID"
}
}
支援的內容類型
上傳做為來源的檔案必須是支援的格式。
支援的文件內容類型如下:
| 副檔名 | 內容類型 |
|---|---|
application/pdf |
|
| .txt | text/plain |
| .md | text/markdown |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
支援的音訊內容類型如下:
| 副檔名 | 內容類型 |
|---|---|
| .3g2 | audio/3gpp2 |
| .3gp | audio/3gpp |
| .aac | audio/aac |
| .aif | audio/aiff |
| .aifc | audio/aiff |
| .aiff | audio/aiff |
| .amr | audio/amr |
| .au | audio/basic |
| .avi | video/x-msvideo |
| .cda | application/x-cdf |
| .m4a | audio/m4a |
| .mid | audio/midi |
| .midi | audio/midi |
| .mp3 | audio/mpeg |
| .mp4 | video/mp4 |
| .mpeg | audio/mpeg |
| .ogg | audio/ogg |
| .opus | audio/ogg |
| .ra | audio/vnd.rn-realaudio |
| .ram | audio/vnd.rn-realaudio |
| .snd | audio/basic |
| .wav | audio/wav |
| .weba | audio/webm |
| .wma | audio/x-ms-wma |
支援的圖片內容類型如下:
| 副檔名 | 內容類型 |
|---|---|
| .png | image/png |
| .jpg | image/jpg |
| .jpeg | image/jpeg |
擷取來源
如要擷取新增至筆記本的特定來源,請使用 notebooks.sources.get 方法。
REST
curl -X GET \
-H "Authorization:Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources/SOURCE_ID"
更改下列內容:
ENDPOINT_LOCATION:API 要求的適用多區域。指派下列其中一個值:us-美國多區域- 歐盟多區域:
eu- global-,即可查看全球位置
PROJECT_NUMBER:您的 Google Cloud 專案編號。LOCATION: 資料存放區的地理位置,例如global。 詳情請參閱「位置」。NOTEBOOK_ID:建立筆記本時收到的專屬 ID。詳情請參閱「建立記事本」。SOURCE_ID:將來源新增至筆記本時收到的來源 ID。
如果要求成功,您應該會收到類似以下的 JSON 回應。
{
"sources": [
{
"sourceId": {
"id": "SOURCE_ID"
},
"title": "DISPLAY_NAME",
"metadata": {
"wordCount": 148,
"tokenCount": 160
},
"settings": {
"status": "SOURCE_STATUS_COMPLETE"
},
"name": "SOURCE_RESOURCE_NAME"
}
]
}
從筆記本中刪除資料來源
如要從筆記本中大量刪除資料來源,請使用 notebooks.sources.batchDelete 方法。
REST
curl -X POST \
-H "Authorization:Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/"NOTEBOOK_ID"/sources:batchDelete"
-d '{
"names": [
"SOURCE_RESOURCE_NAME_1",
"SOURCE_RESOURCE_NAME_2"
]
}'
更改下列內容:
ENDPOINT_LOCATION:API 要求的適用多區域。指派下列其中一個值:us-美國多區域- 歐盟多區域:
eu- global-,即可查看全球位置
PROJECT_NUMBER:您的 Google Cloud 專案編號。LOCATION: 資料存放區的地理位置,例如global。 詳情請參閱「位置」。NOTEBOOK_ID:筆記本的專屬 ID。SOURCE_RESOURCE_NAME:要刪除的資料來源完整資源名稱。這個欄位的格式為:projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/source/SOURCE_ID。
如果要求成功,您應該會收到空白的 JSON 物件。