创建笔记本后,您可以将各种内容类型作为数据源添加到其中。您可以批量执行此操作,也可以逐个文件执行此操作。部分来源包括 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
:笔记本的唯一标识符。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
:笔记本的唯一标识符。
如果请求成功,您应该会收到类似于以下内容的 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 对象。
后续步骤
- 以编程方式创建笔记本的音频概览。