REST Resource: projects.locations.collections.engines.assistants

Resource: Assistant

Discovery Engine Assistant resource.

JSON representation
{
  "name": string,
  "displayName": string,
  "description": string,
  "googleSearchGroundingEnabled": boolean,
  "webGroundingType": enum (WebGroundingType),
  "vertexAiAgentConfigs": [
    {
      object (VertexAiAgentConfig)
    }
  ],
  "enabledActions": {
    string: {
      object (ActionList)
    },
    ...
  },
  "customerPolicy": {
    object (CustomerPolicy)
  },
  "vertexAiSearchToolConfig": {
    object (VertexAiSearchToolConfig)
  },
  "styleAndFormattingInstructions": string
}
Fields
name

string

Immutable. Resource name of the assistant. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

It must be a UTF-8 encoded string with a length limit of 1024 characters.

displayName

string

Required. The assistant display name.

It must be a UTF-8 encoded string with a length limit of 128 characters.

description

string

Optional. Description for additional information. Expected to be shown on the configuration UI, not to the users of the assistant.

googleSearchGroundingEnabled
(deprecated)

boolean

Optional. Deprecated. Use webGroundingType instead.

webGroundingType

enum (WebGroundingType)

Optional. The type of web grounding to use. LINT.ThenChange(//depot/google3/google/cloud/discoveryengine/v1main/widgetConfig.proto)

vertexAiAgentConfigs[]

object (VertexAiAgentConfig)

Optional. List of Vertex AI Agents that can be reached through the assistant.

enabledActions

map (key: string, value: object (ActionList))

Optional. The enabled actions on this assistant. The keys are connector name, for example "projects/{projectId}/locations/{locationId}/collections/{collectionId}/dataconnector The values consist of admin enabled actions towards the connector instance. Admin can selectively enable multiple actions on any of the connector instances that they created in the project. For example {"jira1ConnectorName": [(actionId1, "createTicket"), (actionId2, "transferTicket")], "gmail1ConnectorName": [(actionId3, "sendEmail"),..] }

customerPolicy

object (CustomerPolicy)

Optional. Customer policy for the assistant.

vertexAiSearchToolConfig

object (VertexAiSearchToolConfig)

Optional. Configuration options for the Vertex AI Search tool.

styleAndFormattingInstructions

string

Optional. Common system instruction snippet for setting conversation style, tone and formatting. Added to all LLM prompts via the placeholder [STYLE_AND_FORMATTING_INSTRUCTIONS].

WebGroundingType

LINT.IfChange The type of web grounding to use.

Enums
WEB_GROUNDING_TYPE_UNSPECIFIED Default, unspecified setting. This is the same as disabled.
WEB_GROUNDING_TYPE_DISABLED Web grounding is disabled.

VertexAiAgentConfig

Represents an external Vertex AI Agent that can be reached through the assistant.

JSON representation
{
  "displayName": string,
  "name": string,
  "toolDescription": string
}
Fields
displayName

string

Required. Display name of the Vertex AI Agent used for reference in the assistant.

name

string

Required. Resource name of the Vertex AI Agent. Format: projects/{project}/locations/{location}/agents/{agent}

toolDescription

string

Required. The tool description of the Vertex AI Agent. This description will be used by the LLM to decide whether the agent is relevant to the user question and the question should be routed to the agent.

ActionList

The enabled actions on a connector

JSON representation
{
  "actionInfo": [
    {
      object (ActionInfo)
    }
  ]
}
Fields
actionInfo[]

object (ActionInfo)

The list of actions with corresponding action information.

ActionInfo

Information to identify an action.

JSON representation
{
  "actionName": string,
  "actionDisplayName": string
}
Fields
actionName

string

The name of the action as defined by DataConnectorService.QueryAvailableActions.

actionDisplayName

string

The display name of the action.

CustomerPolicy

Customer-defined policy for the assistant.

JSON representation
{
  "bannedPhrases": [
    {
      object (BannedPhrase)
    }
  ]
}
Fields
bannedPhrases[]

object (BannedPhrase)

Optional. List of banned phrases.

BannedPhrase

Definition of a customer-defined banned phrase. A banned phrase is not allowed to appear in the user query or the LLM response, or else the answer will be refused.

JSON representation
{
  "phrase": string,
  "matchType": enum (BannedPhraseMatchType),
  "ignoreDiacritics": boolean
}
Fields
phrase

string

Required. The raw string content to be banned.

matchType

enum (BannedPhraseMatchType)

Optional. Match type for the banned phrase.

ignoreDiacritics

boolean

Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when matching banned phrases. For example, "cafe" would match "café".

BannedPhraseMatchType

The matching method for the banned phrase.

Enums
BANNED_PHRASE_MATCH_TYPE_UNSPECIFIED Defaults to SIMPLE_STRING_MATCH.
SIMPLE_STRING_MATCH The banned phrase matches if it is found anywhere in the text as an exact substring.
WORD_BOUNDARY_STRING_MATCH Banned phrase only matches if the pattern found in the text is surrounded by word delimiters. The phrase itself may still contain word delimiters.

VertexAiSearchToolConfig

Configuration options for the Vertex AI Search tool that the assistant may use when processing queries.

JSON representation
{
  "llmSystemInstructions": string
}
Fields
llmSystemInstructions

string

System instructions for answering based on the search results of Vertex AI Search. Note that the answer produced by the search tool may differ from the final answer of the assistant.

In general, system instructions are a set of natural language instructions that the model processes before it processes prompts. It tells the model how it should behave and respond to prompts. See https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions

Example: "Use information only from the sources to answer. Also, make sure to nicely format the answer with Markdown."

If not specified, the internal default will be used.

Methods

create

Creates an Assistant.

delete

Deletes an Assistant.

get

Gets an Assistant.

list

Lists all Assistants under an Engine.

patch

Updates an Assistant

streamAssist

Assists the user with a query in a streaming fashion.