# Discovery Engine API . projects . locations . dataStores . sessions

## Instance Methods

Returns the answers Resource.

Close httplib2 connections.

Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.

Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.

Gets a Session.

Lists all Sessions by their parent DataStore.

Retrieves the next page of results.

Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, x__xgafv=None)`

    Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.

    Args:
      parent: string, Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required)
      body: object, The request body.
        The object takes the form of:

    { # External session proto definition.
      "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
      "endTime": "A String", # Output only. The time the session finished.
      "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
      "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
      "startTime": "A String", # Output only. The time the session started.
      "state": "A String", # The state of the session.
      "turns": [ # Turns.
        { # Represents a turn, including a query from the user and a answer from service.
          "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
          "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
            "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
              "A String",
            ],
            "answerText": "A String", # The textual answer.
            "blobAttachments": [ # List of blob attachments in the answer.
              { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                "attributionType": "A String", # Output only. The attribution type of the blob.
                "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                  "data": "A String", # Output only. Raw bytes.
                  "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                },
              },
            ],
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                "sources": [ # Citation sources for the attributed segment.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
            "groundingSupports": [ # Optional. Grounding supports.
              { # Grounding support for a claim in `answer_text`.
                "endIndex": "A String", # Required. End of the claim, exclusive.
                "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                "sources": [ # Optional. Citation sources for the claim.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
              },
            ],
            "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
            "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
              "queryClassificationInfo": [ # Query classification information.
                { # Query classification information.
                  "positive": True or False, # Classification output.
                  "type": "A String", # Query classification type.
                },
              ],
            },
            "references": [ # References.
              { # Reference.
                "chunkInfo": { # Chunk information. # Chunk information.
                  "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                    "A String",
                  ],
                  "chunk": "A String", # Chunk resource name.
                  "content": "A String", # Chunk textual content.
                  "documentMetadata": { # Document metadata. # Document metadata.
                    "document": "A String", # Document resource name.
                    "pageIdentifier": "A String", # Page identifier.
                    "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                      "a_key": "", # Properties of the object.
                    },
                    "title": "A String", # Title.
                    "uri": "A String", # URI for the document.
                  },
                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                },
                "structuredDocumentInfo": { # Structured search information. # Structured document information.
                  "document": "A String", # Document resource name.
                  "structData": { # Structured search data.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Output only. The title of the document.
                  "uri": "A String", # Output only. The URI of the document.
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "content": "A String", # Chunk textual content.
                      "pageIdentifier": "A String", # Page identifier.
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                  ],
                  "document": "A String", # Document resource name.
                  "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Title.
                  "uri": "A String", # URI for the document.
                },
              },
            ],
            "relatedQuestions": [ # Suggested related questions.
              "A String",
            ],
            "safetyRatings": [ # Optional. Safety ratings.
              { # Safety rating corresponding to the generated content.
                "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                "category": "A String", # Output only. Harm category.
                "probability": "A String", # Output only. Harm probability levels in the content.
                "probabilityScore": 3.14, # Output only. Harm probability score.
                "severity": "A String", # Output only. Harm severity levels in the content.
                "severityScore": 3.14, # Output only. Harm severity score.
              },
            ],
            "state": "A String", # The state of the answer generation.
            "steps": [ # Answer generation steps.
              { # Step information.
                "actions": [ # Actions.
                  { # Action.
                    "observation": { # Observation. # Observation.
                      "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                        {
                          "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                            { # Chunk information.
                              "chunk": "A String", # Chunk resource name.
                              "content": "A String", # Chunk textual content.
                              "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                            },
                          ],
                          "document": "A String", # Document resource name.
                          "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                            { # Snippet information.
                              "snippet": "A String", # Snippet content.
                              "snippetStatus": "A String", # Status of the snippet defined by the search team.
                            },
                          ],
                          "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                            "a_key": "", # Properties of the object.
                          },
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document.
                        },
                      ],
                    },
                    "searchAction": { # Search action. # Search action.
                      "query": "A String", # The query to search.
                    },
                  },
                ],
                "description": "A String", # The description of the step.
                "state": "A String", # The state of the step.
                "thought": "A String", # The thought of the step.
              },
            ],
          },
          "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
            "assistSkippedReasons": [ # Reasons for not answering the assist call.
              "A String",
            ],
            "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
              "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                { # Customer policy enforcement result for a single policy type.
                  "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                    "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                      "A String",
                    ],
                  },
                  "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                        {
                          "a_key": "", # Properties of the object. Contains field @type with type URL.
                        },
                      ],
                      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                    },
                    "modelArmorViolation": "A String", # The Model Armor violation that was found.
                  },
                },
              ],
              "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
            },
            "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "replies": [ # Replies of the assistant.
              { # One part of the multi-part response of the assist call.
                "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                  "content": { # Multi-modal content. # The content.
                    "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                      "outcome": "A String", # Required. Outcome of the code execution.
                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                    },
                    "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                      "code": "A String", # Required. The code content. Currently only supports Python.
                    },
                    "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                      "fileId": "A String", # Required. The file ID.
                      "mimeType": "A String", # Required. The media type (MIME type) of the file.
                    },
                    "inlineData": { # Inline blob. # Inline binary data.
                      "data": "A String", # Required. Raw bytes.
                      "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                    },
                    "role": "A String", # The producer of the content. Can be "model" or "user".
                    "text": "A String", # Inline text.
                    "thought": True or False, # Optional. Indicates if the part is thought from the model.
                  },
                  "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                    "references": [ # References for the grounded text.
                      { # Referenced content and related document metadata.
                        "content": "A String", # Referenced text content.
                        "documentMetadata": { # Document metadata. # Document metadata.
                          "document": "A String", # Document resource name.
                          "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                          "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                          "pageIdentifier": "A String", # Page identifier.
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                        },
                      },
                    ],
                    "segments": [ # Grounding information for parts of the text.
                      { # Grounding information for a segment of the text.
                        "endIndex": "A String", # End of the segment, exclusive.
                        "groundingScore": 3.14, # Score for the segment.
                        "referenceIndices": [ # References for the segment.
                          42,
                        ],
                        "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                        "text": "A String", # The text segment itself.
                      },
                    ],
                  },
                },
              },
            ],
            "state": "A String", # State of the answer generation.
          },
          "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
            "queryId": "A String", # Output only. Unique Id for the query.
            "text": "A String", # Plain text.
          },
          "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
            "a_key": "A String",
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # External session proto definition.
      "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
      "endTime": "A String", # Output only. The time the session finished.
      "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
      "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
      "startTime": "A String", # Output only. The time the session started.
      "state": "A String", # The state of the session.
      "turns": [ # Turns.
        { # Represents a turn, including a query from the user and a answer from service.
          "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
          "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
            "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
              "A String",
            ],
            "answerText": "A String", # The textual answer.
            "blobAttachments": [ # List of blob attachments in the answer.
              { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                "attributionType": "A String", # Output only. The attribution type of the blob.
                "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                  "data": "A String", # Output only. Raw bytes.
                  "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                },
              },
            ],
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                "sources": [ # Citation sources for the attributed segment.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
            "groundingSupports": [ # Optional. Grounding supports.
              { # Grounding support for a claim in `answer_text`.
                "endIndex": "A String", # Required. End of the claim, exclusive.
                "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                "sources": [ # Optional. Citation sources for the claim.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
              },
            ],
            "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
            "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
              "queryClassificationInfo": [ # Query classification information.
                { # Query classification information.
                  "positive": True or False, # Classification output.
                  "type": "A String", # Query classification type.
                },
              ],
            },
            "references": [ # References.
              { # Reference.
                "chunkInfo": { # Chunk information. # Chunk information.
                  "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                    "A String",
                  ],
                  "chunk": "A String", # Chunk resource name.
                  "content": "A String", # Chunk textual content.
                  "documentMetadata": { # Document metadata. # Document metadata.
                    "document": "A String", # Document resource name.
                    "pageIdentifier": "A String", # Page identifier.
                    "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                      "a_key": "", # Properties of the object.
                    },
                    "title": "A String", # Title.
                    "uri": "A String", # URI for the document.
                  },
                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                },
                "structuredDocumentInfo": { # Structured search information. # Structured document information.
                  "document": "A String", # Document resource name.
                  "structData": { # Structured search data.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Output only. The title of the document.
                  "uri": "A String", # Output only. The URI of the document.
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "content": "A String", # Chunk textual content.
                      "pageIdentifier": "A String", # Page identifier.
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                  ],
                  "document": "A String", # Document resource name.
                  "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Title.
                  "uri": "A String", # URI for the document.
                },
              },
            ],
            "relatedQuestions": [ # Suggested related questions.
              "A String",
            ],
            "safetyRatings": [ # Optional. Safety ratings.
              { # Safety rating corresponding to the generated content.
                "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                "category": "A String", # Output only. Harm category.
                "probability": "A String", # Output only. Harm probability levels in the content.
                "probabilityScore": 3.14, # Output only. Harm probability score.
                "severity": "A String", # Output only. Harm severity levels in the content.
                "severityScore": 3.14, # Output only. Harm severity score.
              },
            ],
            "state": "A String", # The state of the answer generation.
            "steps": [ # Answer generation steps.
              { # Step information.
                "actions": [ # Actions.
                  { # Action.
                    "observation": { # Observation. # Observation.
                      "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                        {
                          "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                            { # Chunk information.
                              "chunk": "A String", # Chunk resource name.
                              "content": "A String", # Chunk textual content.
                              "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                            },
                          ],
                          "document": "A String", # Document resource name.
                          "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                            { # Snippet information.
                              "snippet": "A String", # Snippet content.
                              "snippetStatus": "A String", # Status of the snippet defined by the search team.
                            },
                          ],
                          "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                            "a_key": "", # Properties of the object.
                          },
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document.
                        },
                      ],
                    },
                    "searchAction": { # Search action. # Search action.
                      "query": "A String", # The query to search.
                    },
                  },
                ],
                "description": "A String", # The description of the step.
                "state": "A String", # The state of the step.
                "thought": "A String", # The thought of the step.
              },
            ],
          },
          "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
            "assistSkippedReasons": [ # Reasons for not answering the assist call.
              "A String",
            ],
            "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
              "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                { # Customer policy enforcement result for a single policy type.
                  "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                    "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                      "A String",
                    ],
                  },
                  "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                        {
                          "a_key": "", # Properties of the object. Contains field @type with type URL.
                        },
                      ],
                      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                    },
                    "modelArmorViolation": "A String", # The Model Armor violation that was found.
                  },
                },
              ],
              "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
            },
            "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "replies": [ # Replies of the assistant.
              { # One part of the multi-part response of the assist call.
                "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                  "content": { # Multi-modal content. # The content.
                    "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                      "outcome": "A String", # Required. Outcome of the code execution.
                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                    },
                    "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                      "code": "A String", # Required. The code content. Currently only supports Python.
                    },
                    "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                      "fileId": "A String", # Required. The file ID.
                      "mimeType": "A String", # Required. The media type (MIME type) of the file.
                    },
                    "inlineData": { # Inline blob. # Inline binary data.
                      "data": "A String", # Required. Raw bytes.
                      "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                    },
                    "role": "A String", # The producer of the content. Can be "model" or "user".
                    "text": "A String", # Inline text.
                    "thought": True or False, # Optional. Indicates if the part is thought from the model.
                  },
                  "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                    "references": [ # References for the grounded text.
                      { # Referenced content and related document metadata.
                        "content": "A String", # Referenced text content.
                        "documentMetadata": { # Document metadata. # Document metadata.
                          "document": "A String", # Document resource name.
                          "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                          "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                          "pageIdentifier": "A String", # Page identifier.
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                        },
                      },
                    ],
                    "segments": [ # Grounding information for parts of the text.
                      { # Grounding information for a segment of the text.
                        "endIndex": "A String", # End of the segment, exclusive.
                        "groundingScore": 3.14, # Score for the segment.
                        "referenceIndices": [ # References for the segment.
                          42,
                        ],
                        "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                        "text": "A String", # The text segment itself.
                      },
                    ],
                  },
                },
              },
            ],
            "state": "A String", # State of the answer generation.
          },
          "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
            "queryId": "A String", # Output only. Unique Id for the query.
            "text": "A String", # Plain text.
          },
          "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
            "a_key": "A String",
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }

`delete(name, x__xgafv=None)`

    Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.

    Args:
      name: string, Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
    }

`get(name, includeAnswerDetails=None, x__xgafv=None)`

    Gets a Session.

    Args:
      name: string, Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}` (required)
      includeAnswerDetails: boolean, Optional. If set to true, the full session including all answer details will be returned.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # External session proto definition.
      "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
      "endTime": "A String", # Output only. The time the session finished.
      "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
      "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
      "startTime": "A String", # Output only. The time the session started.
      "state": "A String", # The state of the session.
      "turns": [ # Turns.
        { # Represents a turn, including a query from the user and a answer from service.
          "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
          "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
            "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
              "A String",
            ],
            "answerText": "A String", # The textual answer.
            "blobAttachments": [ # List of blob attachments in the answer.
              { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                "attributionType": "A String", # Output only. The attribution type of the blob.
                "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                  "data": "A String", # Output only. Raw bytes.
                  "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                },
              },
            ],
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                "sources": [ # Citation sources for the attributed segment.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
            "groundingSupports": [ # Optional. Grounding supports.
              { # Grounding support for a claim in `answer_text`.
                "endIndex": "A String", # Required. End of the claim, exclusive.
                "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                "sources": [ # Optional. Citation sources for the claim.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
              },
            ],
            "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
            "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
              "queryClassificationInfo": [ # Query classification information.
                { # Query classification information.
                  "positive": True or False, # Classification output.
                  "type": "A String", # Query classification type.
                },
              ],
            },
            "references": [ # References.
              { # Reference.
                "chunkInfo": { # Chunk information. # Chunk information.
                  "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                    "A String",
                  ],
                  "chunk": "A String", # Chunk resource name.
                  "content": "A String", # Chunk textual content.
                  "documentMetadata": { # Document metadata. # Document metadata.
                    "document": "A String", # Document resource name.
                    "pageIdentifier": "A String", # Page identifier.
                    "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                      "a_key": "", # Properties of the object.
                    },
                    "title": "A String", # Title.
                    "uri": "A String", # URI for the document.
                  },
                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                },
                "structuredDocumentInfo": { # Structured search information. # Structured document information.
                  "document": "A String", # Document resource name.
                  "structData": { # Structured search data.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Output only. The title of the document.
                  "uri": "A String", # Output only. The URI of the document.
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "content": "A String", # Chunk textual content.
                      "pageIdentifier": "A String", # Page identifier.
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                  ],
                  "document": "A String", # Document resource name.
                  "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Title.
                  "uri": "A String", # URI for the document.
                },
              },
            ],
            "relatedQuestions": [ # Suggested related questions.
              "A String",
            ],
            "safetyRatings": [ # Optional. Safety ratings.
              { # Safety rating corresponding to the generated content.
                "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                "category": "A String", # Output only. Harm category.
                "probability": "A String", # Output only. Harm probability levels in the content.
                "probabilityScore": 3.14, # Output only. Harm probability score.
                "severity": "A String", # Output only. Harm severity levels in the content.
                "severityScore": 3.14, # Output only. Harm severity score.
              },
            ],
            "state": "A String", # The state of the answer generation.
            "steps": [ # Answer generation steps.
              { # Step information.
                "actions": [ # Actions.
                  { # Action.
                    "observation": { # Observation. # Observation.
                      "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                        {
                          "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                            { # Chunk information.
                              "chunk": "A String", # Chunk resource name.
                              "content": "A String", # Chunk textual content.
                              "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                            },
                          ],
                          "document": "A String", # Document resource name.
                          "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                            { # Snippet information.
                              "snippet": "A String", # Snippet content.
                              "snippetStatus": "A String", # Status of the snippet defined by the search team.
                            },
                          ],
                          "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                            "a_key": "", # Properties of the object.
                          },
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document.
                        },
                      ],
                    },
                    "searchAction": { # Search action. # Search action.
                      "query": "A String", # The query to search.
                    },
                  },
                ],
                "description": "A String", # The description of the step.
                "state": "A String", # The state of the step.
                "thought": "A String", # The thought of the step.
              },
            ],
          },
          "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
            "assistSkippedReasons": [ # Reasons for not answering the assist call.
              "A String",
            ],
            "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
              "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                { # Customer policy enforcement result for a single policy type.
                  "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                    "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                      "A String",
                    ],
                  },
                  "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                        {
                          "a_key": "", # Properties of the object. Contains field @type with type URL.
                        },
                      ],
                      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                    },
                    "modelArmorViolation": "A String", # The Model Armor violation that was found.
                  },
                },
              ],
              "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
            },
            "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "replies": [ # Replies of the assistant.
              { # One part of the multi-part response of the assist call.
                "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                  "content": { # Multi-modal content. # The content.
                    "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                      "outcome": "A String", # Required. Outcome of the code execution.
                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                    },
                    "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                      "code": "A String", # Required. The code content. Currently only supports Python.
                    },
                    "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                      "fileId": "A String", # Required. The file ID.
                      "mimeType": "A String", # Required. The media type (MIME type) of the file.
                    },
                    "inlineData": { # Inline blob. # Inline binary data.
                      "data": "A String", # Required. Raw bytes.
                      "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                    },
                    "role": "A String", # The producer of the content. Can be "model" or "user".
                    "text": "A String", # Inline text.
                    "thought": True or False, # Optional. Indicates if the part is thought from the model.
                  },
                  "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                    "references": [ # References for the grounded text.
                      { # Referenced content and related document metadata.
                        "content": "A String", # Referenced text content.
                        "documentMetadata": { # Document metadata. # Document metadata.
                          "document": "A String", # Document resource name.
                          "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                          "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                          "pageIdentifier": "A String", # Page identifier.
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                        },
                      },
                    ],
                    "segments": [ # Grounding information for parts of the text.
                      { # Grounding information for a segment of the text.
                        "endIndex": "A String", # End of the segment, exclusive.
                        "groundingScore": 3.14, # Score for the segment.
                        "referenceIndices": [ # References for the segment.
                          42,
                        ],
                        "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                        "text": "A String", # The text segment itself.
                      },
                    ],
                  },
                },
              },
            ],
            "state": "A String", # State of the answer generation.
          },
          "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
            "queryId": "A String", # Output only. Unique Id for the query.
            "text": "A String", # Plain text.
          },
          "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
            "a_key": "A String",
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists all Sessions by their parent DataStore.

    Args:
      parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required)
      filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"`
      orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.
      pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.
      pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for ListSessions method.
      "nextPageToken": "A String", # Pagination token, if not returned indicates the last page.
      "sessions": [ # All the Sessions for a given data store.
        { # External session proto definition.
          "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
          "endTime": "A String", # Output only. The time the session finished.
          "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
          "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
          "startTime": "A String", # Output only. The time the session started.
          "state": "A String", # The state of the session.
          "turns": [ # Turns.
            { # Represents a turn, including a query from the user and a answer from service.
              "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
              "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
                "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
                  "A String",
                ],
                "answerText": "A String", # The textual answer.
                "blobAttachments": [ # List of blob attachments in the answer.
                  { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                    "attributionType": "A String", # Output only. The attribution type of the blob.
                    "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                      "data": "A String", # Output only. Raw bytes.
                      "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                    },
                  },
                ],
                "citations": [ # Citations.
                  { # Citation info for a segment.
                    "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                    "sources": [ # Citation sources for the attributed segment.
                      { # Citation source.
                        "referenceId": "A String", # ID of the citation source.
                      },
                    ],
                    "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                  },
                ],
                "completeTime": "A String", # Output only. Answer completed timestamp.
                "createTime": "A String", # Output only. Answer creation timestamp.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
                "groundingSupports": [ # Optional. Grounding supports.
                  { # Grounding support for a claim in `answer_text`.
                    "endIndex": "A String", # Required. End of the claim, exclusive.
                    "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                    "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                    "sources": [ # Optional. Citation sources for the claim.
                      { # Citation source.
                        "referenceId": "A String", # ID of the citation source.
                      },
                    ],
                    "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
                  },
                ],
                "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
                "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
                  "queryClassificationInfo": [ # Query classification information.
                    { # Query classification information.
                      "positive": True or False, # Classification output.
                      "type": "A String", # Query classification type.
                    },
                  ],
                },
                "references": [ # References.
                  { # Reference.
                    "chunkInfo": { # Chunk information. # Chunk information.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "chunk": "A String", # Chunk resource name.
                      "content": "A String", # Chunk textual content.
                      "documentMetadata": { # Document metadata. # Document metadata.
                        "document": "A String", # Document resource name.
                        "pageIdentifier": "A String", # Page identifier.
                        "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                          "a_key": "", # Properties of the object.
                        },
                        "title": "A String", # Title.
                        "uri": "A String", # URI for the document.
                      },
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                    "structuredDocumentInfo": { # Structured search information. # Structured document information.
                      "document": "A String", # Document resource name.
                      "structData": { # Structured search data.
                        "a_key": "", # Properties of the object.
                      },
                      "title": "A String", # Output only. The title of the document.
                      "uri": "A String", # Output only. The URI of the document.
                    },
                    "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                      "chunkContents": [ # List of cited chunk contents derived from document content.
                        { # Chunk content.
                          "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                            "A String",
                          ],
                          "content": "A String", # Chunk textual content.
                          "pageIdentifier": "A String", # Page identifier.
                          "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                        },
                      ],
                      "document": "A String", # Document resource name.
                      "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                        "a_key": "", # Properties of the object.
                      },
                      "title": "A String", # Title.
                      "uri": "A String", # URI for the document.
                    },
                  },
                ],
                "relatedQuestions": [ # Suggested related questions.
                  "A String",
                ],
                "safetyRatings": [ # Optional. Safety ratings.
                  { # Safety rating corresponding to the generated content.
                    "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                    "category": "A String", # Output only. Harm category.
                    "probability": "A String", # Output only. Harm probability levels in the content.
                    "probabilityScore": 3.14, # Output only. Harm probability score.
                    "severity": "A String", # Output only. Harm severity levels in the content.
                    "severityScore": 3.14, # Output only. Harm severity score.
                  },
                ],
                "state": "A String", # The state of the answer generation.
                "steps": [ # Answer generation steps.
                  { # Step information.
                    "actions": [ # Actions.
                      { # Action.
                        "observation": { # Observation. # Observation.
                          "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                            {
                              "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                                { # Chunk information.
                                  "chunk": "A String", # Chunk resource name.
                                  "content": "A String", # Chunk textual content.
                                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                                },
                              ],
                              "document": "A String", # Document resource name.
                              "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                                { # Snippet information.
                                  "snippet": "A String", # Snippet content.
                                  "snippetStatus": "A String", # Status of the snippet defined by the search team.
                                },
                              ],
                              "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                                "a_key": "", # Properties of the object.
                              },
                              "title": "A String", # Title.
                              "uri": "A String", # URI for the document.
                            },
                          ],
                        },
                        "searchAction": { # Search action. # Search action.
                          "query": "A String", # The query to search.
                        },
                      },
                    ],
                    "description": "A String", # The description of the step.
                    "state": "A String", # The state of the step.
                    "thought": "A String", # The thought of the step.
                  },
                ],
              },
              "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
                "assistSkippedReasons": [ # Reasons for not answering the assist call.
                  "A String",
                ],
                "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
                  "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                    { # Customer policy enforcement result for a single policy type.
                      "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                        "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                          "A String",
                        ],
                      },
                      "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                            {
                              "a_key": "", # Properties of the object. Contains field @type with type URL.
                            },
                          ],
                          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                        },
                        "modelArmorViolation": "A String", # The Model Armor violation that was found.
                      },
                    },
                  ],
                  "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
                },
                "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
                "replies": [ # Replies of the assistant.
                  { # One part of the multi-part response of the assist call.
                    "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                      "content": { # Multi-modal content. # The content.
                        "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                          "outcome": "A String", # Required. Outcome of the code execution.
                          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                        },
                        "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                          "code": "A String", # Required. The code content. Currently only supports Python.
                        },
                        "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                          "fileId": "A String", # Required. The file ID.
                          "mimeType": "A String", # Required. The media type (MIME type) of the file.
                        },
                        "inlineData": { # Inline blob. # Inline binary data.
                          "data": "A String", # Required. Raw bytes.
                          "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                        },
                        "role": "A String", # The producer of the content. Can be "model" or "user".
                        "text": "A String", # Inline text.
                        "thought": True or False, # Optional. Indicates if the part is thought from the model.
                      },
                      "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                        "references": [ # References for the grounded text.
                          { # Referenced content and related document metadata.
                            "content": "A String", # Referenced text content.
                            "documentMetadata": { # Document metadata. # Document metadata.
                              "document": "A String", # Document resource name.
                              "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                              "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                              "pageIdentifier": "A String", # Page identifier.
                              "title": "A String", # Title.
                              "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                            },
                          },
                        ],
                        "segments": [ # Grounding information for parts of the text.
                          { # Grounding information for a segment of the text.
                            "endIndex": "A String", # End of the segment, exclusive.
                            "groundingScore": 3.14, # Score for the segment.
                            "referenceIndices": [ # References for the segment.
                              42,
                            ],
                            "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                            "text": "A String", # The text segment itself.
                          },
                        ],
                      },
                    },
                  },
                ],
                "state": "A String", # State of the answer generation.
              },
              "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
                "queryId": "A String", # Output only. Unique Id for the query.
                "text": "A String", # Plain text.
              },
              "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
                "a_key": "A String",
              },
            },
          ],
          "userPseudoId": "A String", # A unique identifier for tracking users.
        },
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.

    Args:
      name: string, Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*` (required)
      body: object, The request body.
        The object takes the form of:

    { # External session proto definition.
      "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
      "endTime": "A String", # Output only. The time the session finished.
      "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
      "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
      "startTime": "A String", # Output only. The time the session started.
      "state": "A String", # The state of the session.
      "turns": [ # Turns.
        { # Represents a turn, including a query from the user and a answer from service.
          "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
          "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
            "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
              "A String",
            ],
            "answerText": "A String", # The textual answer.
            "blobAttachments": [ # List of blob attachments in the answer.
              { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                "attributionType": "A String", # Output only. The attribution type of the blob.
                "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                  "data": "A String", # Output only. Raw bytes.
                  "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                },
              },
            ],
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                "sources": [ # Citation sources for the attributed segment.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
            "groundingSupports": [ # Optional. Grounding supports.
              { # Grounding support for a claim in `answer_text`.
                "endIndex": "A String", # Required. End of the claim, exclusive.
                "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                "sources": [ # Optional. Citation sources for the claim.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
              },
            ],
            "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
            "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
              "queryClassificationInfo": [ # Query classification information.
                { # Query classification information.
                  "positive": True or False, # Classification output.
                  "type": "A String", # Query classification type.
                },
              ],
            },
            "references": [ # References.
              { # Reference.
                "chunkInfo": { # Chunk information. # Chunk information.
                  "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                    "A String",
                  ],
                  "chunk": "A String", # Chunk resource name.
                  "content": "A String", # Chunk textual content.
                  "documentMetadata": { # Document metadata. # Document metadata.
                    "document": "A String", # Document resource name.
                    "pageIdentifier": "A String", # Page identifier.
                    "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                      "a_key": "", # Properties of the object.
                    },
                    "title": "A String", # Title.
                    "uri": "A String", # URI for the document.
                  },
                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                },
                "structuredDocumentInfo": { # Structured search information. # Structured document information.
                  "document": "A String", # Document resource name.
                  "structData": { # Structured search data.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Output only. The title of the document.
                  "uri": "A String", # Output only. The URI of the document.
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "content": "A String", # Chunk textual content.
                      "pageIdentifier": "A String", # Page identifier.
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                  ],
                  "document": "A String", # Document resource name.
                  "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Title.
                  "uri": "A String", # URI for the document.
                },
              },
            ],
            "relatedQuestions": [ # Suggested related questions.
              "A String",
            ],
            "safetyRatings": [ # Optional. Safety ratings.
              { # Safety rating corresponding to the generated content.
                "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                "category": "A String", # Output only. Harm category.
                "probability": "A String", # Output only. Harm probability levels in the content.
                "probabilityScore": 3.14, # Output only. Harm probability score.
                "severity": "A String", # Output only. Harm severity levels in the content.
                "severityScore": 3.14, # Output only. Harm severity score.
              },
            ],
            "state": "A String", # The state of the answer generation.
            "steps": [ # Answer generation steps.
              { # Step information.
                "actions": [ # Actions.
                  { # Action.
                    "observation": { # Observation. # Observation.
                      "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                        {
                          "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                            { # Chunk information.
                              "chunk": "A String", # Chunk resource name.
                              "content": "A String", # Chunk textual content.
                              "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                            },
                          ],
                          "document": "A String", # Document resource name.
                          "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                            { # Snippet information.
                              "snippet": "A String", # Snippet content.
                              "snippetStatus": "A String", # Status of the snippet defined by the search team.
                            },
                          ],
                          "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                            "a_key": "", # Properties of the object.
                          },
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document.
                        },
                      ],
                    },
                    "searchAction": { # Search action. # Search action.
                      "query": "A String", # The query to search.
                    },
                  },
                ],
                "description": "A String", # The description of the step.
                "state": "A String", # The state of the step.
                "thought": "A String", # The thought of the step.
              },
            ],
          },
          "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
            "assistSkippedReasons": [ # Reasons for not answering the assist call.
              "A String",
            ],
            "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
              "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                { # Customer policy enforcement result for a single policy type.
                  "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                    "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                      "A String",
                    ],
                  },
                  "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                        {
                          "a_key": "", # Properties of the object. Contains field @type with type URL.
                        },
                      ],
                      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                    },
                    "modelArmorViolation": "A String", # The Model Armor violation that was found.
                  },
                },
              ],
              "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
            },
            "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "replies": [ # Replies of the assistant.
              { # One part of the multi-part response of the assist call.
                "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                  "content": { # Multi-modal content. # The content.
                    "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                      "outcome": "A String", # Required. Outcome of the code execution.
                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                    },
                    "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                      "code": "A String", # Required. The code content. Currently only supports Python.
                    },
                    "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                      "fileId": "A String", # Required. The file ID.
                      "mimeType": "A String", # Required. The media type (MIME type) of the file.
                    },
                    "inlineData": { # Inline blob. # Inline binary data.
                      "data": "A String", # Required. Raw bytes.
                      "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                    },
                    "role": "A String", # The producer of the content. Can be "model" or "user".
                    "text": "A String", # Inline text.
                    "thought": True or False, # Optional. Indicates if the part is thought from the model.
                  },
                  "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                    "references": [ # References for the grounded text.
                      { # Referenced content and related document metadata.
                        "content": "A String", # Referenced text content.
                        "documentMetadata": { # Document metadata. # Document metadata.
                          "document": "A String", # Document resource name.
                          "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                          "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                          "pageIdentifier": "A String", # Page identifier.
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                        },
                      },
                    ],
                    "segments": [ # Grounding information for parts of the text.
                      { # Grounding information for a segment of the text.
                        "endIndex": "A String", # End of the segment, exclusive.
                        "groundingScore": 3.14, # Score for the segment.
                        "referenceIndices": [ # References for the segment.
                          42,
                        ],
                        "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                        "text": "A String", # The text segment itself.
                      },
                    ],
                  },
                },
              },
            ],
            "state": "A String", # State of the answer generation.
          },
          "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
            "queryId": "A String", # Output only. Unique Id for the query.
            "text": "A String", # Plain text.
          },
          "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
            "a_key": "A String",
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }

      updateMask: string, Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # External session proto definition.
      "displayName": "A String", # Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.
      "endTime": "A String", # Output only. The time the session finished.
      "isPinned": True or False, # Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.
      "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
      "startTime": "A String", # Output only. The time the session started.
      "state": "A String", # The state of the session.
      "turns": [ # Turns.
        { # Represents a turn, including a query from the user and a answer from service.
          "answer": "A String", # Optional. The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.
          "detailedAnswer": { # Defines an answer. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.
            "answerSkippedReasons": [ # Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.
              "A String",
            ],
            "answerText": "A String", # The textual answer.
            "blobAttachments": [ # List of blob attachments in the answer.
              { # Stores binarydata attached to text answer, e.g. image, video, audio, etc.
                "attributionType": "A String", # Output only. The attribution type of the blob.
                "data": { # The media type and data of the blob. # Output only. The mime type and data of the blob.
                  "data": "A String", # Output only. Raw bytes.
                  "mimeType": "A String", # Output only. The media type (MIME type) of the generated or retrieved data.
                },
              },
            ],
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive. Measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
                "sources": [ # Citation sources for the attributed segment.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Index indicates the start of the segment, measured in bytes (UTF-8 unicode). If there are multi-byte characters,such as non-ASCII characters, the index measurement is longer than the string length.
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.
            "groundingSupports": [ # Optional. Grounding supports.
              { # Grounding support for a claim in `answer_text`.
                "endIndex": "A String", # Required. End of the claim, exclusive.
                "groundingCheckRequired": True or False, # Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.
                "groundingScore": 3.14, # A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.
                "sources": [ # Optional. Citation sources for the claim.
                  { # Citation source.
                    "referenceId": "A String", # ID of the citation source.
                  },
                ],
                "startIndex": "A String", # Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).
              },
            ],
            "name": "A String", # Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
            "queryUnderstandingInfo": { # Query understanding information. # Query understanding information.
              "queryClassificationInfo": [ # Query classification information.
                { # Query classification information.
                  "positive": True or False, # Classification output.
                  "type": "A String", # Query classification type.
                },
              ],
            },
            "references": [ # References.
              { # Reference.
                "chunkInfo": { # Chunk information. # Chunk information.
                  "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                    "A String",
                  ],
                  "chunk": "A String", # Chunk resource name.
                  "content": "A String", # Chunk textual content.
                  "documentMetadata": { # Document metadata. # Document metadata.
                    "document": "A String", # Document resource name.
                    "pageIdentifier": "A String", # Page identifier.
                    "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                      "a_key": "", # Properties of the object.
                    },
                    "title": "A String", # Title.
                    "uri": "A String", # URI for the document.
                  },
                  "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                },
                "structuredDocumentInfo": { # Structured search information. # Structured document information.
                  "document": "A String", # Document resource name.
                  "structData": { # Structured search data.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Output only. The title of the document.
                  "uri": "A String", # Output only. The URI of the document.
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "blobAttachmentIndexes": [ # Output only. Stores indexes of blobattachments linked to this chunk.
                        "A String",
                      ],
                      "content": "A String", # Chunk textual content.
                      "pageIdentifier": "A String", # Page identifier.
                      "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                    },
                  ],
                  "document": "A String", # Document resource name.
                  "structData": { # The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.
                    "a_key": "", # Properties of the object.
                  },
                  "title": "A String", # Title.
                  "uri": "A String", # URI for the document.
                },
              },
            ],
            "relatedQuestions": [ # Suggested related questions.
              "A String",
            ],
            "safetyRatings": [ # Optional. Safety ratings.
              { # Safety rating corresponding to the generated content.
                "blocked": True or False, # Output only. Indicates whether the content was filtered out because of this rating.
                "category": "A String", # Output only. Harm category.
                "probability": "A String", # Output only. Harm probability levels in the content.
                "probabilityScore": 3.14, # Output only. Harm probability score.
                "severity": "A String", # Output only. Harm severity levels in the content.
                "severityScore": 3.14, # Output only. Harm severity score.
              },
            ],
            "state": "A String", # The state of the answer generation.
            "steps": [ # Answer generation steps.
              { # Step information.
                "actions": [ # Actions.
                  { # Action.
                    "observation": { # Observation. # Observation.
                      "searchResults": [ # Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.
                        {
                          "chunkInfo": [ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.
                            { # Chunk information.
                              "chunk": "A String", # Chunk resource name.
                              "content": "A String", # Chunk textual content.
                              "relevanceScore": 3.14, # The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.
                            },
                          ],
                          "document": "A String", # Document resource name.
                          "snippetInfo": [ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
                            { # Snippet information.
                              "snippet": "A String", # Snippet content.
                              "snippetStatus": "A String", # Status of the snippet defined by the search team.
                            },
                          ],
                          "structData": { # Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.
                            "a_key": "", # Properties of the object.
                          },
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document.
                        },
                      ],
                    },
                    "searchAction": { # Search action. # Search action.
                      "query": "A String", # The query to search.
                    },
                  },
                ],
                "description": "A String", # The description of the step.
                "state": "A String", # The state of the step.
                "thought": "A String", # The thought of the step.
              },
            ],
          },
          "detailedAssistAnswer": { # AssistAnswer resource, main part of AssistResponse. # Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting assistant session.
            "assistSkippedReasons": [ # Reasons for not answering the assist call.
              "A String",
            ],
            "customerPolicyEnforcementResult": { # Customer policy enforcement results. Contains the results of the various policy checks, like the banned phrases or the Model Armor checks. # Optional. The field contains information about the various policy checks' results like the banned phrases or the Model Armor checks. This field is populated only if the assist call was skipped due to a policy violation.
              "policyResults": [ # Customer policy enforcement results. Populated only if the assist call was skipped due to a policy violation. It contains results from those filters that blocked the processing of the query.
                { # Customer policy enforcement result for a single policy type.
                  "bannedPhraseEnforcementResult": { # Customer policy enforcement result for the banned phrase policy. # The policy enforcement result for the banned phrase policy.
                    "bannedPhrases": [ # The banned phrases that were found in the query or the answer.
                      "A String",
                    ],
                  },
                  "modelArmorEnforcementResult": { # Customer policy enforcement result for the Model Armor policy. # The policy enforcement result for the Model Armor policy.
                    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error returned by Model Armor if the policy enforcement failed for some reason.
                      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                        {
                          "a_key": "", # Properties of the object. Contains field @type with type URL.
                        },
                      ],
                      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                    },
                    "modelArmorViolation": "A String", # The Model Armor violation that was found.
                  },
                },
              ],
              "verdict": "A String", # Final verdict of the customer policy enforcement. If only one policy blocked the processing, the verdict is BLOCK.
            },
            "name": "A String", # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/assistAnswers/{assist_answer}` This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "replies": [ # Replies of the assistant.
              { # One part of the multi-part response of the assist call.
                "groundedContent": { # A piece of content and possibly its grounding information. Not all content needs grounding. Phrases like "Of course, I will gladly search it for you." do not need grounding. # Possibly grounded response text or media from the assistant.
                  "content": { # Multi-modal content. # The content.
                    "codeExecutionResult": { # Result of executing ExecutableCode. # Result of executing an ExecutableCode.
                      "outcome": "A String", # Required. Outcome of the code execution.
                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                    },
                    "executableCode": { # Code generated by the model that is meant to be executed by the model. # Code generated by the model that is meant to be executed.
                      "code": "A String", # Required. The code content. Currently only supports Python.
                    },
                    "file": { # A file, e.g., an audio summary. # A file, e.g., an audio summary.
                      "fileId": "A String", # Required. The file ID.
                      "mimeType": "A String", # Required. The media type (MIME type) of the file.
                    },
                    "inlineData": { # Inline blob. # Inline binary data.
                      "data": "A String", # Required. Raw bytes.
                      "mimeType": "A String", # Required. The media type (MIME type) of the generated data.
                    },
                    "role": "A String", # The producer of the content. Can be "model" or "user".
                    "text": "A String", # Inline text.
                    "thought": True or False, # Optional. Indicates if the part is thought from the model.
                  },
                  "textGroundingMetadata": { # Grounding details for text sources. # Metadata for grounding based on text sources.
                    "references": [ # References for the grounded text.
                      { # Referenced content and related document metadata.
                        "content": "A String", # Referenced text content.
                        "documentMetadata": { # Document metadata. # Document metadata.
                          "document": "A String", # Document resource name.
                          "domain": "A String", # Domain name from the document URI. Note that the `uri` field may contain a URL that redirects to the actual website, in which case this will contain the domain name of the target site.
                          "mimeType": "A String", # The mime type of the document. https://www.iana.org/assignments/media-types/media-types.xhtml.
                          "pageIdentifier": "A String", # Page identifier.
                          "title": "A String", # Title.
                          "uri": "A String", # URI for the document. It may contain a URL that redirects to the actual website.
                        },
                      },
                    ],
                    "segments": [ # Grounding information for parts of the text.
                      { # Grounding information for a segment of the text.
                        "endIndex": "A String", # End of the segment, exclusive.
                        "groundingScore": 3.14, # Score for the segment.
                        "referenceIndices": [ # References for the segment.
                          42,
                        ],
                        "startIndex": "A String", # Zero-based index indicating the start of the segment, measured in bytes of a UTF-8 string (i.e. characters encoded on multiple bytes have a length of more than one).
                        "text": "A String", # The text segment itself.
                      },
                    ],
                  },
                },
              },
            ],
            "state": "A String", # State of the answer generation.
          },
          "query": { # Defines a user inputed query. # Optional. The user query. May not be set if this turn is merely regenerating an answer to a different turn
            "queryId": "A String", # Output only. Unique Id for the query.
            "text": "A String", # Plain text.
          },
          "queryConfig": { # Optional. Represents metadata related to the query config, for example LLM model and version used, model parameters (temperature, grounding parameters, etc.). The prefix "google." is reserved for Google-developed functionality.
            "a_key": "A String",
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }