创建笔记本后,您可以将各种内容类型作为数据源添加到其中。您可以批量执行此操作,也可以逐个文件执行此操作。部分来源包括 Google 文档、Google 幻灯片、原始文本、Web 内容和 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:笔记本的唯一标识符。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:您要上传作为数据源的原始文本内容。
对于 Web 内容,请添加:
"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:笔记本的唯一标识符。
如果请求成功,您应该会收到类似于以下内容的 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:您在创建笔记本时收到的唯一标识符。如需了解详情,请参阅创建笔记本。SOURCE_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:笔记本的唯一标识符。SOURCE_RESOURCE_NAME:要删除的数据源的完整资源名称。此字段的格式为:projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/source/SOURCE_ID。
如果请求成功,您应该会收到一个空的 JSON 对象。
后续步骤
- 以程序化方式创建笔记本的音频概览。