# Discovery Engine API . projects . locations . collections . engines . 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", # 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.
              },
            ],
          },
          "query": { # Defines a user inputed query. # The user query.
            "queryId": "A String", # Unique Id for the query.
            "text": "A String", # Plain text.
          },
        },
      ],
      "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", # 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.
              },
            ],
          },
          "query": { # Defines a user inputed query. # The user query.
            "queryId": "A String", # Unique Id for the query.
            "text": "A String", # Plain text.
          },
        },
      ],
      "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", # 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.
              },
            ],
          },
          "query": { # Defines a user inputed query. # The user query.
            "queryId": "A String", # Unique Id for the query.
            "text": "A String", # Plain text.
          },
        },
      ],
      "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 filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: "user_pseudo_id = some_id"
      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", # 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.
                  },
                ],
              },
              "query": { # Defines a user inputed query. # The user query.
                "queryId": "A String", # Unique Id for the query.
                "text": "A String", # Plain text.
              },
            },
          ],
          "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", # 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.
              },
            ],
          },
          "query": { # Defines a user inputed query. # The user query.
            "queryId": "A String", # Unique Id for the query.
            "text": "A String", # Plain text.
          },
        },
      ],
      "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", # 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.
              },
            ],
          },
          "query": { # Defines a user inputed query. # The user query.
            "queryId": "A String", # Unique Id for the query.
            "text": "A String", # Plain text.
          },
        },
      ],
      "userPseudoId": "A String", # A unique identifier for tracking users.
    }