Discovery Engine API . projects . locations . collections . engines . sessions

Instance Methods

answers()

Returns the answers Resource.

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.

delete(name, x__xgafv=None)

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

get(name, x__xgafv=None)

Gets a Session.

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

Lists all Sessions by their parent DataStore.

list_next()

Retrieves the next page of results.

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.

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.
  "endTime": "A String", # Output only. The time the session finished.
  "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.
        "citations": [ # Citations.
          { # Citation info for a segment.
            "endIndex": "A String", # End of the attributed segment, exclusive.
            "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).
          },
        ],
        "completeTime": "A String", # Output only. Answer completed timestamp.
        "createTime": "A String", # Output only. Answer creation timestamp.
        "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.
              "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.
              },
            },
            "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
              "chunkContents": [ # List of cited chunk contents derived from document content.
                { # Chunk content.
                  "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",
        ],
        "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.
  "endTime": "A String", # Output only. The time the session finished.
  "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.
        "citations": [ # Citations.
          { # Citation info for a segment.
            "endIndex": "A String", # End of the attributed segment, exclusive.
            "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).
          },
        ],
        "completeTime": "A String", # Output only. Answer completed timestamp.
        "createTime": "A String", # Output only. Answer creation timestamp.
        "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.
              "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.
              },
            },
            "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
              "chunkContents": [ # List of cited chunk contents derived from document content.
                { # Chunk content.
                  "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",
        ],
        "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, 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)
  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.
  "endTime": "A String", # Output only. The time the session finished.
  "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.
        "citations": [ # Citations.
          { # Citation info for a segment.
            "endIndex": "A String", # End of the attributed segment, exclusive.
            "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).
          },
        ],
        "completeTime": "A String", # Output only. Answer completed timestamp.
        "createTime": "A String", # Output only. Answer creation timestamp.
        "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.
              "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.
              },
            },
            "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
              "chunkContents": [ # List of cited chunk contents derived from document content.
                { # Chunk content.
                  "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",
        ],
        "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` Example: "update_time desc" "create_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.
      "endTime": "A String", # Output only. The time the session finished.
      "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.
            "citations": [ # Citations.
              { # Citation info for a segment.
                "endIndex": "A String", # End of the attributed segment, exclusive.
                "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).
              },
            ],
            "completeTime": "A String", # Output only. Answer completed timestamp.
            "createTime": "A String", # Output only. Answer creation timestamp.
            "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.
                  "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.
                  },
                },
                "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
                  "chunkContents": [ # List of cited chunk contents derived from document content.
                    { # Chunk content.
                      "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",
            ],
            "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.
  "endTime": "A String", # Output only. The time the session finished.
  "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.
        "citations": [ # Citations.
          { # Citation info for a segment.
            "endIndex": "A String", # End of the attributed segment, exclusive.
            "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).
          },
        ],
        "completeTime": "A String", # Output only. Answer completed timestamp.
        "createTime": "A String", # Output only. Answer creation timestamp.
        "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.
              "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.
              },
            },
            "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
              "chunkContents": [ # List of cited chunk contents derived from document content.
                { # Chunk content.
                  "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",
        ],
        "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.
  "endTime": "A String", # Output only. The time the session finished.
  "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.
        "citations": [ # Citations.
          { # Citation info for a segment.
            "endIndex": "A String", # End of the attributed segment, exclusive.
            "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).
          },
        ],
        "completeTime": "A String", # Output only. Answer completed timestamp.
        "createTime": "A String", # Output only. Answer creation timestamp.
        "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.
              "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.
              },
            },
            "unstructuredDocumentInfo": { # Unstructured document information. # Unstructured document information.
              "chunkContents": [ # List of cited chunk contents derived from document content.
                { # Chunk content.
                  "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",
        ],
        "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.
}