アシスタントにコンテンツをアップロードする

API を使用して、アシスタントにファイルをアップロードできます。これらのファイルは、アシスタントとチャットするときに利用できます。アシスタント内でファイルをアップロードする方法については、ファイルをアップロードしてチャットするをご覧ください。

API を使用してコンテンツをアシスタントにアップロードするには、次の curl コマンドを実行します。

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID:addContextFile" \
-d '{
      "name": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID",
      "fileName": "FILE_NAME",
      "mimeType": "MIME_TYPE",
      "fileContents": "BASE64_ENCODED_FILE",
    }'

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • APP_ID: アプリの ID。
  • SESSION_ID: セッションの ID。この ID は、セッション情報を保存してレスポンスを取得するで説明しているように、セッションの作成のレスポンスから取得できます。
  • FILE_NAME: ファイルの名前。
  • MIME_TYPE: ファイルの MIME タイプ。
  • BASE64_ENCODED_FILE: データの base64 表現(ASCII 文字列)。この文字列は、/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q== のような文字列になります。

コマンドとレスポンスの例:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Goog-User-Project: 1234" \
"https://discoveryengine.googleapis.com/v1alpha/projects/1234/locations/global/collections/default_collection/engines/myapp/sessions/16002628354770206943:addContextFile" \
-d '{
      "name": "projects/1234/locations/global/collections/default_collection/engines/myapp/sessions/16002628354770206943",
      "fileName": "Hello World.pdf",
      "mimeType": "application/pdf",
      "fileContents": JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoSGVsbG8gd29ybGQpCi9Qcm9kdWNlciAoU2tpYS9QREYgbTEzMCBHb29nbGUgRG9jcyBSZW5kZXJlcik+PgplbmRvYmoKMyAwIG9iago8PC..............KMDAwMDAxNDk0NCAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgMTIKL1Jvb3QgNyAwIFIKL0luZm8gMSAwIFI+PgpzdGFydHhyZWYKMTU0NjYKJSVFT0YK",
    }'
------------------
{
  "session": "projects/1234/locations/global/collections/default_collection/engines/myapp/sessions/16002628354770206943",
  "fileId": "11157546467692423460",
  "tokenCount": "258"
}