ノートブックを作成したら、さまざまなコンテンツ タイプをデータソースとして追加できます。ファイルは一括でアップロードすることも、個別にアップロードすることもできます。ソースには、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 マルチリージョンの場合:
eu- - グローバル ロケーションの場合は
global-
- 米国のマルチリージョンの
PROJECT_NUMBER: Google Cloud プロジェクトの番号。LOCATION: データストアの地理的なロケーション(globalなど)。詳細については、ロケーションをご覧ください。NOTEBOOK_ID: ノートブックの固有識別子。USER_CONTENT: データソースのコンテンツ。
コンテンツとして追加できるデータソースは、次のいずれか 1 つのみです。
Google ドキュメントまたは Google スライドで構成される Google ドライブのコンテンツの場合は、以下を追加します。
"googleDriveContent": { "documentId": "DOCUMENT_ID_GOOGLE", "mimeType": "MIME_TYPE", "sourceName": "DISPLAY_NAME_GOOGLE" }次のように置き換えます。
DOCUMENT_ID_GOOGLE: Google ドライブ内のファイルの ID。この ID はファイルの URL に表示されます。ファイルのドキュメント ID を取得するには、ファイルを開きます。URL のパターンはhttps://docs.google.com/FILE_TYPE/d/DOCUMENT_ID_GOOGLE/edit?resourcekey=RESOURCE_KEYです。MIME_TYPE: 選択したドキュメントの MIME タイプ。Google ドキュメントの場合はapplication/vnd.google-apps.document、Google スライドの場合はapplication/vnd.google-apps.presentationを使用します。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: データソースとしてアップロードするコンテンツの URL。DISPLAY_NAME_WEB: データソースの表示名。
動画コンテンツの場合は、以下を追加します。
"videoContent": { "url": "URL_YOUTUBE" }URL_YOUTUBEは、データソースとしてアップロードする YouTube 動画の URL に置き換えます。
リクエストが成功すると、次の JSON のような source オブジェクトのインスタンスがレスポンスとして返されます。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 マルチリージョンの場合:
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 マルチリージョンの場合:
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 マルチリージョンの場合:
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 オブジェクトが返されます。
次のステップ
- プログラムでノートブックの音声概要を作成します。