Method: projects.locations.collections.engines.assistants.streamAssist

Membantu pengguna dengan kueri secara streaming.

Permintaan HTTP

POST https://discoveryengine.googleapis.com/v1alpha/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist

URL menggunakan sintaks gRPC Transcoding.

Parameter jalur

Parameter
name

string

Wajib. Nama resource Assistant. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "query": {
    object (Query)
  },
  "answerGenerationMode": enum (AnswerGenerationMode),
  "session": string,
  "assistSkippingMode": enum (AssistSkippingMode),
  "fileIds": [
    string
  ],
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "languageCode": string,
  "googleSearchGroundingEnabled": boolean,
  "webGroundingEnabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "agentsConfig": {
    object (AgentsConfig)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "assistGenerationConfig": {
    object (AssistGenerationConfig)
  },
  "cannedQuery": string,
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
Kolom
query

object (Query)

Opsional. Kueri pengguna saat ini.

Kueri kosong hanya didukung jika fileIds diberikan. Dalam hal ini, jawaban akan dibuat berdasarkan file konteks tersebut.

answerGenerationMode

enum (AnswerGenerationMode)

Opsional. Mode pembuatan jawaban. Jika tidak ditentukan, nilai defaultnya adalah NORMAL.

session

string

Opsional. Sesi yang akan digunakan untuk permintaan. Jika ditentukan, asisten memiliki akses ke histori sesi, dan kueri serta jawabannya disimpan di sana.

Jika - ditentukan sebagai ID sesi, atau dibiarkan kosong, sesi baru akan dibuat dengan ID yang dihasilkan secara otomatis.

Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}

assistSkippingMode

enum (AssistSkippingMode)

Opsional. Menentukan kasus saat asisten tidak akan menjawab kueri. Jika jawaban dilewati, alasannya akan dicantumkan di AssistAnswer.assist_skipped_reasons dalam AssistResponse.answer.

fileIds[]

string

Opsional. ID file yang akan digunakan untuk menjawab permintaan. Saat mengupload file, ID-nya akan ditampilkan di AddContextFileResponse.file_id.

userMetadata

object (AssistUserMetadata)

Opsional. Informasi tentang pengguna yang memulai kueri.

languageCode
(deprecated)

string

Opsional. Tidak digunakan lagi. Sebagai gantinya, gunakan [preferredLanguageCode][UserMetadata.preferred_language_code]. Bahasa yang akan digunakan untuk menjawab jika pendeteksian bahasa gagal. Juga digunakan sebagai bahasa pesan error yang dibuat oleh tindakan, terlepas dari hasil deteksi bahasa.

googleSearchGroundingEnabled
(deprecated)

boolean

Opsional. Tidak digunakan lagi. Jangan gunakan kolom ini.

webGroundingEnabled
(deprecated)

boolean

Opsional. Tidak digunakan lagi. Jangan gunakan kolom ini.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Opsional. Tidak digunakan lagi: Gunakan [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs] sebagai gantinya. Spesifikasi yang menentukan DataStore untuk memfilter panggilan penelusuran dan konfigurasi untuk penyimpanan data tersebut. Hal ini hanya dipertimbangkan untuk Engine dengan beberapa penyimpanan data.

Jika kolom ini tidak disetel, semua penyimpanan data di mesin akan digunakan, kecuali jika ignoreDataStores disetel ke benar (true).

agentsConfig

object (AgentsConfig)

Opsional. Konfigurasi agen yang digunakan untuk melayani permintaan.

agentsSpec

object (AgentsSpec)

Opsional. Spesifikasi agen yang digunakan untuk menayangkan permintaan.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Opsional. Tidak digunakan lagi. Sebagai gantinya, gunakan generationSpec. Konfigurasi pembuatan tingkat permintaan. Ini digunakan untuk menggantikan konfigurasi pembuatan default di tingkat mesin.

cannedQuery

string

Opsional. Nama resource CannedQuery untuk permintaan ini. Parameter ini hanya dapat disetel jika sesi baru, jika tidak, error INVALID_ARGUMENT akan ditampilkan.

Sesi dianggap baru jika ada StreamAssistRequest.session yang diberikan dan Session yang sesuai tidak memiliki giliran apa pun di dalamnya, atau jika tidak ada StreamAssistRequest.session yang diberikan (dan Session baru dibuat).

Jika parameter cannedQuery diberikan, CannedQuery yang sesuai akan dipertimbangkan selama pemrosesan. Perilaku persisnya dijelaskan dan didokumentasikan dalam CannedQuery.

Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/cannedQueries/{cannedQuery}

toolsSpec

object (ToolsSpec)

Opsional. Spesifikasi alat yang digunakan untuk menayangkan permintaan.

generationSpec

object (GenerationSpec)

Opsional. Spesifikasi konfigurasi pembuatan untuk permintaan.

Isi respons

Respons untuk metode AssistantService.StreamAssist.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Kolom
answer

object (AssistAnswer)

Objek resource jawaban assistants.assist yang berisi bagian dari jawaban akhir asisten untuk kueri pengguna.

Tidak ada jika respons saat ini tidak menambahkan apa pun ke AssistAnswer.replies yang dikirim sebelumnya.

Amati AssistAnswer.state untuk melihat apakah ada bagian lain yang akan datang. Saat statusnya IN_PROGRESS, kolom AssistAnswer.replies di setiap respons akan berisi balasan (fragmen balasan) yang akan ditambahkan ke balasan yang diterima dalam respons sebelumnya. AssistAnswer.name tidak akan diisi.

Jika statusnya adalah SUCCEEDED, FAILED, atau SKIPPED, responsnya adalah respons terakhir dan AssistAnswer.name akan memiliki nilai.

sessionInfo

object (SessionInfo)

Informasi sesi. Hanya disertakan dalam StreamAssistResponse akhir dari aliran respons.

statusUpdates[]

object (StatusUpdate)

Pembaruan progres opsional.

assistToken

string

ID unik global yang mengidentifikasi pasangan permintaan dan aliran respons saat ini. Digunakan untuk masukan dan dukungan.

toolResult[]
(deprecated)

object (ToolResult)

Hasil pemanggilan alat.

finalResultToolInvocationId

string

Jika ada, kolom ini berisi ID pemanggilan alat yang hasilnya digunakan sebagai jawaban akhir.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.assist.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

Izin IAM

Memerlukan izin IAM berikut pada resource name:

  • discoveryengine.assistants.assist

Untuk mengetahui informasi selengkapnya, lihat dokumentasi IAM.

AnswerGenerationMode

Mode pembuatan jawaban yang tersedia.

Enum
ANSWER_GENERATION_MODE_UNSPECIFIED Mode pembuatan jawaban tidak ditentukan.
NORMAL Mode pembuatan jawaban normal. Dapat memicu beberapa penelusuran dan tindakan panggilan.
RESEARCH Mode pembuatan jawaban riset. Mempelajari kueri secara mendalam, sehingga memicu banyak penelusuran untuk berbagai topik yang terkait dengan kueri.
AGENT Mode pembuatan jawaban agen. Menggunakan agen yang ditentukan dalam agentsConfig untuk membuat jawaban.

AssistSkippingMode

Perilaku melewati yang tersedia untuk permintaan bantuan.

Enum
ASSIST_SKIPPING_MODE_UNSPECIFIED Nilai default. Jawaban dapat dilewati jika kueri tidak meminta bantuan.
REQUEST_ASSIST Minta jawaban Asisten. Jawaban mungkin masih dilewati jika kueri gagal dalam pemeriksaan kebijakan.

AgentsConfig

Konfigurasi agen yang digunakan untuk melayani permintaan.

Representasi JSON
{

  // Union field config can be only one of the following:
  "noCodeAgentsConfig": {
    object (NoCodeAgentsConfig)
  },
  "assistantAgentConfigId": string,
  "agent": string,
  "inlineAgent": {
    object (Agent)
  },
  "vertexAiAgentId": string
  // End of list of possible types for union field config.
}
Kolom
Kolom union config. Konfigurasi berbagai jenis agen. config hanya ada berupa salah satu diantara berikut:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Opsional. Tidak digunakan lagi: Konfigurasi untuk agen Agentspace tanpa kode. Jika disetel, permintaan assistants.assist akan ditayangkan sesuai dengan konfigurasi. Sebagai gantinya, gunakan agent.

assistantAgentConfigId

string

Opsional. ID agen dari Assistant.agent_configs

agent

string

Nama agen yang akan digunakan. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

Definisi inline Agent yang akan digunakan. Jika disediakan, agen berdasarkan definisi ini akan digunakan. Ini adalah representasi sementara agen, kolom Agent.name akan diabaikan.

vertexAiAgentId

string

Opsional. ID agen dari Assistant.vertex_ai_agent_configs ID dapat berupa nama lengkap yang terdaftar dalam konfigurasi atau bagian terakhir setelah garis miring terakhir.

NoCodeAgentsConfig

Tidak digunakan lagi: Konfigurasi untuk agen Agentspace tanpa kode. Sebagai gantinya, gunakan agent.

Representasi JSON
{
  "agent": string
}
Kolom
agent

string

Opsional. Nama agen yang akan digunakan.

AgentsSpec

Spesifikasi agen yang digunakan untuk menayangkan permintaan.

Representasi JSON
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Kolom
agentSpecs[]

object (AgentSpec)

Opsional. Spesifikasi agen yang digunakan untuk menayangkan permintaan.

AgentSpec

Spesifikasi agen.

Representasi JSON
{
  "agentId": string
}
Kolom
agentId

string

Wajib. ID untuk mengidentifikasi resource agen yang melayani permintaan.

Kolom ini harus sesuai dengan RFC-1034 dengan batas panjang 63 karakter.

ToolsSpec

Spesifikasi alat yang digunakan untuk menayangkan permintaan.

Representasi JSON
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Kolom
toolRegistry

string

Opsional. Nama registry alat yang akan digunakan. Format: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Opsional. Spesifikasi alat Vertex AI Search.

webGroundingSpec

object (WebGroundingSpec)

Opsional. Spesifikasi alat perujukan web. Jika kolom ada, mengaktifkan perujukan dengan penelusuran web. Hanya berfungsi jika Assistant.web_grounding_type adalah [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] atau [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][].

imageGenerationSpec

object (ImageGenerationSpec)

Opsional. Spesifikasi alat pembuatan gambar.

videoGenerationSpec

object (VideoGenerationSpec)

Opsional. Spesifikasi alat pembuatan video.

VertexAiSearchSpec

Spesifikasi alat Vertex AI Search.

Representasi JSON
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Kolom
disabled
(deprecated)

boolean

Opsional. Tidak digunakan lagi. Jangan gunakan kolom ini. Apakah alat Vertex AI Search dinonaktifkan. Nilai defaultnya adalah false, alat ini diaktifkan secara default.

dataStoreSpecs[]

object (DataStoreSpec)

Opsional. Spesifikasi yang menentukan DataStore untuk memfilter panggilan penelusuran dan konfigurasi untuk penyimpanan data tersebut. Hal ini hanya dipertimbangkan untuk Engine dengan beberapa penyimpanan data.

filter

string

Opsional. Sintaksis filter terdiri dari bahasa ekspresi untuk membuat predikat dari satu atau beberapa kolom dokumen yang difilter. Ekspresi filter peka huruf besar/kecil.

Jika kolom ini tidak dapat dikenali, INVALID_ARGUMENT akan ditampilkan.

Pemfilteran di Vertex AI Search dilakukan dengan memetakan kunci filter LHS ke properti kunci yang ditentukan di backend Vertex AI Search -- pemetaan ini ditentukan oleh pelanggan dalam skemanya. Misalnya, pelanggan media mungkin memiliki kolom 'name' dalam skemanya. Dalam hal ini, filter akan terlihat seperti ini: filter --> name:'ANY("king kong")'

Untuk mengetahui informasi selengkapnya tentang pemfilteran, termasuk sintaksis dan operator filter, lihat Filter

WebGroundingSpec

Jenis ini tidak memiliki kolom.

Spesifikasi alat perujukan web.

ImageGenerationSpec

Jenis ini tidak memiliki kolom.

Spesifikasi alat pembuatan gambar.

VideoGenerationSpec

Jenis ini tidak memiliki kolom.

Spesifikasi alat pembuatan video.

GenerationSpec

Spesifikasi pembuatan Asisten untuk permintaan. Hal ini memungkinkan penggantian konfigurasi pembuatan default di tingkat mesin.

Representasi JSON
{
  "modelId": string
}
Kolom
modelId

string

Opsional. Vertex AI modelId yang digunakan untuk model generatif. Jika tidak disetel, model Asisten default akan digunakan.

SessionInfo

Informasi tentang sesi.

Representasi JSON
{
  "session": string,
  "queryId": string
}
Kolom
session

string

Nama sesi yang baru dibuat atau dilanjutkan.

Format projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}.

queryId

string

ID kueri yang sesuai dengan panggilan API bantuan ini. Satu sesi dapat memiliki beberapa giliran, yang masing-masing memiliki ID kueri unik.

Dengan menentukan nama sesi dan ID kueri ini dalam panggilan API assistants.assist, permintaan bantuan terjadi dalam konteks hasil penelusuran dari panggilan penelusuran ini.

StatusUpdate

Pembaruan tentang progres panggilan bantuan.

Representasi JSON
{
  "updateText": string,
  "invocationId": string
}
Kolom
updateText

string

Pembaruan status teks bebas, misalnya, 'Memulai penelusuran internal di dokumen HR untuk mencari manfaat', atau 'Penelusuran Web untuk "Pendaratan di bulan" mendapatkan 12 hasil'.

invocationId

string

ID unik pemanggilan yang menghasilkan update.

ToolResult

Hasil (parsial) pemanggilan alat.

Representasi JSON
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Kolom
toolInvocationId

string

ID unik pemanggilan alat yang menghasilkan hasil.

result

object (Reply)

Sebagian konten hasil.