向 Google 助理上传内容

您可以使用 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"
}