QBusiness

2024/02/14 - QBusiness - 4 updated api methods

Changes  This release adds the metadata-boosting feature, which allows customers to easily fine-tune the underlying ranking of retrieved RAG passages in order to optimize Q&A answer relevance. It also adds new feedback reasons for the PutFeedback API.

CreateRetriever (updated) Link ¶
Changes (request)
{'configuration': {'nativeIndexConfiguration': {'boostingOverride': {'string': {'dateConfiguration': {'boostingDurationInSeconds': 'long',
                                                                                                      'boostingLevel': 'NONE '
                                                                                                                       '| '
                                                                                                                       'LOW '
                                                                                                                       '| '
                                                                                                                       'MEDIUM '
                                                                                                                       '| '
                                                                                                                       'HIGH '
                                                                                                                       '| '
                                                                                                                       'VERY_HIGH'},
                                                                                'numberConfiguration': {'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH',
                                                                                                        'boostingType': 'PRIORITIZE_LARGER_VALUES '
                                                                                                                        '| '
                                                                                                                        'PRIORITIZE_SMALLER_VALUES'},
                                                                                'stringConfiguration': {'attributeValueBoosting': {'string': 'LOW '
                                                                                                                                             '| '
                                                                                                                                             'MEDIUM '
                                                                                                                                             '| '
                                                                                                                                             'HIGH '
                                                                                                                                             '| '
                                                                                                                                             'VERY_HIGH'},
                                                                                                        'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH'},
                                                                                'stringListConfiguration': {'boostingLevel': 'NONE '
                                                                                                                             '| '
                                                                                                                             'LOW '
                                                                                                                             '| '
                                                                                                                             'MEDIUM '
                                                                                                                             '| '
                                                                                                                             'HIGH '
                                                                                                                             '| '
                                                                                                                             'VERY_HIGH'}}}}}}

Adds a retriever to your Amazon Q application.

See also: AWS API Documentation

Request Syntax

client.create_retriever(
    applicationId='string',
    clientToken='string',
    configuration={
        'kendraIndexConfiguration': {
            'indexId': 'string'
        },
        'nativeIndexConfiguration': {
            'boostingOverride': {
                'string': {
                    'dateConfiguration': {
                        'boostingDurationInSeconds': 123,
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'numberConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH',
                        'boostingType': 'PRIORITIZE_LARGER_VALUES'|'PRIORITIZE_SMALLER_VALUES'
                    },
                    'stringConfiguration': {
                        'attributeValueBoosting': {
                            'string': 'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                        },
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'stringListConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    }
                }
            },
            'indexId': 'string'
        }
    },
    displayName='string',
    roleArn='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    type='NATIVE_INDEX'|'KENDRA_INDEX'
)
type applicationId

string

param applicationId

[REQUIRED]

The identifier of your Amazon Q application.

type clientToken

string

param clientToken

A token that you provide to identify the request to create your Amazon Q application retriever.

This field is autopopulated if not provided.

type configuration

dict

param configuration

[REQUIRED]

Provides information on how the retriever used for your Amazon Q application is configured.

  • kendraIndexConfiguration (dict) --

    Provides information on how the Amazon Kendra index used as a retriever for your Amazon Q application is configured.

    • indexId (string) -- [REQUIRED]

      The identifier of the Amazon Kendra index.

  • nativeIndexConfiguration (dict) --

    Provides information on how a Amazon Q index used as a retriever for your Amazon Q application is configured.

    • boostingOverride (dict) --

      Overrides the default boosts applied by Amazon Q to supported document attribute data types.

      • (string) --

        • (dict) --

          Provides information on boosting supported Amazon Q document attribute types. When an end user chat query matches document attributes that have been boosted, Amazon Q prioritizes generating responses from content that matches the boosted document attributes.

          Note

          For STRING and STRING_LIST type document attributes to be used for boosting on the console and the API, they must be enabled for search using the DocumentAttributeConfiguration object of the UpdateIndex API. If you haven't enabled searching on these attributes, you can't boost attributes of these data types on either the console or the API.

          For more information on how boosting document attributes work in Amazon Q, see Boosting using document attributes .

          • dateConfiguration (dict) --

            Provides information on boosting DATE type document attributes.

            • boostingDurationInSeconds (integer) --

              Specifies the duration, in seconds, of a boost applies to a DATE type document attribute.

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

          • numberConfiguration (dict) --

            Provides information on boosting NUMBER type document attributes.

            • boostingLevel (string) -- [REQUIRED]

              Specifies the duration, in seconds, of a boost applies to a NUMBER type document attribute.

            • boostingType (string) --

              Specifies how much a document attribute is boosted.

          • stringConfiguration (dict) --

            Provides information on boosting STRING type document attributes.

            • attributeValueBoosting (dict) --

              Specifies specific values of a STRING type document attribute being boosted.

              • (string) --

                • (string) --

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

          • stringListConfiguration (dict) --

            Provides information on boosting STRING_LIST type document attributes.

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

    • indexId (string) -- [REQUIRED]

      The identifier for the Amazon Q index.

type displayName

string

param displayName

[REQUIRED]

The name of your retriever.

type roleArn

string

param roleArn

The ARN of an IAM role used by Amazon Q to access the basic authentication credentials stored in a Secrets Manager secret.

type tags

list

param tags

A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

  • (dict) --

    A list of key/value pairs that identify an index, FAQ, or data source. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

    • key (string) -- [REQUIRED]

      The key for the tag. Keys are not case sensitive and must be unique for the Amazon Q application or data source.

    • value (string) -- [REQUIRED]

      The value associated with the tag. The value may be an empty string but it can't be null.

type type

string

param type

[REQUIRED]

The type of retriever you are using.

rtype

dict

returns

Response Syntax

{
    'retrieverArn': 'string',
    'retrieverId': 'string'
}

Response Structure

  • (dict) --

    • retrieverArn (string) --

      The Amazon Resource Name (ARN) of an IAM role associated with a retriever.

    • retrieverId (string) --

      The identifier of the retriever you are using.

GetRetriever (updated) Link ¶
Changes (response)
{'configuration': {'nativeIndexConfiguration': {'boostingOverride': {'string': {'dateConfiguration': {'boostingDurationInSeconds': 'long',
                                                                                                      'boostingLevel': 'NONE '
                                                                                                                       '| '
                                                                                                                       'LOW '
                                                                                                                       '| '
                                                                                                                       'MEDIUM '
                                                                                                                       '| '
                                                                                                                       'HIGH '
                                                                                                                       '| '
                                                                                                                       'VERY_HIGH'},
                                                                                'numberConfiguration': {'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH',
                                                                                                        'boostingType': 'PRIORITIZE_LARGER_VALUES '
                                                                                                                        '| '
                                                                                                                        'PRIORITIZE_SMALLER_VALUES'},
                                                                                'stringConfiguration': {'attributeValueBoosting': {'string': 'LOW '
                                                                                                                                             '| '
                                                                                                                                             'MEDIUM '
                                                                                                                                             '| '
                                                                                                                                             'HIGH '
                                                                                                                                             '| '
                                                                                                                                             'VERY_HIGH'},
                                                                                                        'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH'},
                                                                                'stringListConfiguration': {'boostingLevel': 'NONE '
                                                                                                                             '| '
                                                                                                                             'LOW '
                                                                                                                             '| '
                                                                                                                             'MEDIUM '
                                                                                                                             '| '
                                                                                                                             'HIGH '
                                                                                                                             '| '
                                                                                                                             'VERY_HIGH'}}}}}}

Gets information about an existing retriever used by an Amazon Q application.

See also: AWS API Documentation

Request Syntax

client.get_retriever(
    applicationId='string',
    retrieverId='string'
)
type applicationId

string

param applicationId

[REQUIRED]

The identifier of the Amazon Q application using the retriever.

type retrieverId

string

param retrieverId

[REQUIRED]

The identifier of the retriever.

rtype

dict

returns

Response Syntax

{
    'applicationId': 'string',
    'configuration': {
        'kendraIndexConfiguration': {
            'indexId': 'string'
        },
        'nativeIndexConfiguration': {
            'boostingOverride': {
                'string': {
                    'dateConfiguration': {
                        'boostingDurationInSeconds': 123,
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'numberConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH',
                        'boostingType': 'PRIORITIZE_LARGER_VALUES'|'PRIORITIZE_SMALLER_VALUES'
                    },
                    'stringConfiguration': {
                        'attributeValueBoosting': {
                            'string': 'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                        },
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'stringListConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    }
                }
            },
            'indexId': 'string'
        }
    },
    'createdAt': datetime(2015, 1, 1),
    'displayName': 'string',
    'retrieverArn': 'string',
    'retrieverId': 'string',
    'roleArn': 'string',
    'status': 'CREATING'|'ACTIVE'|'FAILED',
    'type': 'NATIVE_INDEX'|'KENDRA_INDEX',
    'updatedAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • applicationId (string) --

      The identifier of the Amazon Q application using the retriever.

    • configuration (dict) --

      Provides information on how the retriever used for your Amazon Q application is configured.

      • kendraIndexConfiguration (dict) --

        Provides information on how the Amazon Kendra index used as a retriever for your Amazon Q application is configured.

        • indexId (string) --

          The identifier of the Amazon Kendra index.

      • nativeIndexConfiguration (dict) --

        Provides information on how a Amazon Q index used as a retriever for your Amazon Q application is configured.

        • boostingOverride (dict) --

          Overrides the default boosts applied by Amazon Q to supported document attribute data types.

          • (string) --

            • (dict) --

              Provides information on boosting supported Amazon Q document attribute types. When an end user chat query matches document attributes that have been boosted, Amazon Q prioritizes generating responses from content that matches the boosted document attributes.

              Note

              For STRING and STRING_LIST type document attributes to be used for boosting on the console and the API, they must be enabled for search using the DocumentAttributeConfiguration object of the UpdateIndex API. If you haven't enabled searching on these attributes, you can't boost attributes of these data types on either the console or the API.

              For more information on how boosting document attributes work in Amazon Q, see Boosting using document attributes .

              • dateConfiguration (dict) --

                Provides information on boosting DATE type document attributes.

                • boostingDurationInSeconds (integer) --

                  Specifies the duration, in seconds, of a boost applies to a DATE type document attribute.

                • boostingLevel (string) --

                  Specifies how much a document attribute is boosted.

              • numberConfiguration (dict) --

                Provides information on boosting NUMBER type document attributes.

                • boostingLevel (string) --

                  Specifies the duration, in seconds, of a boost applies to a NUMBER type document attribute.

                • boostingType (string) --

                  Specifies how much a document attribute is boosted.

              • stringConfiguration (dict) --

                Provides information on boosting STRING type document attributes.

                • attributeValueBoosting (dict) --

                  Specifies specific values of a STRING type document attribute being boosted.

                  • (string) --

                    • (string) --

                • boostingLevel (string) --

                  Specifies how much a document attribute is boosted.

              • stringListConfiguration (dict) --

                Provides information on boosting STRING_LIST type document attributes.

                • boostingLevel (string) --

                  Specifies how much a document attribute is boosted.

        • indexId (string) --

          The identifier for the Amazon Q index.

    • createdAt (datetime) --

      The Unix timestamp when the retriever was created.

    • displayName (string) --

      The name of the retriever.

    • retrieverArn (string) --

      The Amazon Resource Name (ARN) of the IAM role associated with the retriever.

    • retrieverId (string) --

      The identifier of the retriever.

    • roleArn (string) --

      The Amazon Resource Name (ARN) of the role with the permission to access the retriever and required resources.

    • status (string) --

      The status of the retriever.

    • type (string) --

      The type of the retriever.

    • updatedAt (datetime) --

      The Unix timestamp when the retriever was last updated.

PutFeedback (updated) Link ¶
Changes (request)
{'messageUsefulness': {'reason': {'NOT_BASED_ON_DOCUMENTS',
                                  'NOT_COMPLETE',
                                  'NOT_CONCISE',
                                  'OTHER'}}}

Enables your end user to to provide feedback on their Amazon Q generated chat responses.

See also: AWS API Documentation

Request Syntax

client.put_feedback(
    applicationId='string',
    conversationId='string',
    messageCopiedAt=datetime(2015, 1, 1),
    messageId='string',
    messageUsefulness={
        'comment': 'string',
        'reason': 'NOT_FACTUALLY_CORRECT'|'HARMFUL_OR_UNSAFE'|'INCORRECT_OR_MISSING_SOURCES'|'NOT_HELPFUL'|'FACTUALLY_CORRECT'|'COMPLETE'|'RELEVANT_SOURCES'|'HELPFUL'|'NOT_BASED_ON_DOCUMENTS'|'NOT_COMPLETE'|'NOT_CONCISE'|'OTHER',
        'submittedAt': datetime(2015, 1, 1),
        'usefulness': 'USEFUL'|'NOT_USEFUL'
    },
    userId='string'
)
type applicationId

string

param applicationId

[REQUIRED]

The identifier of the application associated with the feedback.

type conversationId

string

param conversationId

[REQUIRED]

The identifier of the conversation the feedback is attached to.

type messageCopiedAt

datetime

param messageCopiedAt

The timestamp for when the feedback was recorded.

type messageId

string

param messageId

[REQUIRED]

The identifier of the chat message that the feedback was given for.

type messageUsefulness

dict

param messageUsefulness

The feedback usefulness value given by the user to the chat message.

  • comment (string) --

    A comment given by an end user on the usefulness of an AI-generated chat message.

  • reason (string) --

    The reason for a usefulness rating.

  • submittedAt (datetime) -- [REQUIRED]

    The timestamp for when the feedback was submitted.

  • usefulness (string) -- [REQUIRED]

    The usefulness value assigned by an end user to a message.

type userId

string

param userId

[REQUIRED]

The identifier of the user giving the feedback.

returns

None

UpdateRetriever (updated) Link ¶
Changes (request)
{'configuration': {'nativeIndexConfiguration': {'boostingOverride': {'string': {'dateConfiguration': {'boostingDurationInSeconds': 'long',
                                                                                                      'boostingLevel': 'NONE '
                                                                                                                       '| '
                                                                                                                       'LOW '
                                                                                                                       '| '
                                                                                                                       'MEDIUM '
                                                                                                                       '| '
                                                                                                                       'HIGH '
                                                                                                                       '| '
                                                                                                                       'VERY_HIGH'},
                                                                                'numberConfiguration': {'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH',
                                                                                                        'boostingType': 'PRIORITIZE_LARGER_VALUES '
                                                                                                                        '| '
                                                                                                                        'PRIORITIZE_SMALLER_VALUES'},
                                                                                'stringConfiguration': {'attributeValueBoosting': {'string': 'LOW '
                                                                                                                                             '| '
                                                                                                                                             'MEDIUM '
                                                                                                                                             '| '
                                                                                                                                             'HIGH '
                                                                                                                                             '| '
                                                                                                                                             'VERY_HIGH'},
                                                                                                        'boostingLevel': 'NONE '
                                                                                                                         '| '
                                                                                                                         'LOW '
                                                                                                                         '| '
                                                                                                                         'MEDIUM '
                                                                                                                         '| '
                                                                                                                         'HIGH '
                                                                                                                         '| '
                                                                                                                         'VERY_HIGH'},
                                                                                'stringListConfiguration': {'boostingLevel': 'NONE '
                                                                                                                             '| '
                                                                                                                             'LOW '
                                                                                                                             '| '
                                                                                                                             'MEDIUM '
                                                                                                                             '| '
                                                                                                                             'HIGH '
                                                                                                                             '| '
                                                                                                                             'VERY_HIGH'}}}}}}

Updates the retriever used for your Amazon Q application.

See also: AWS API Documentation

Request Syntax

client.update_retriever(
    applicationId='string',
    configuration={
        'kendraIndexConfiguration': {
            'indexId': 'string'
        },
        'nativeIndexConfiguration': {
            'boostingOverride': {
                'string': {
                    'dateConfiguration': {
                        'boostingDurationInSeconds': 123,
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'numberConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH',
                        'boostingType': 'PRIORITIZE_LARGER_VALUES'|'PRIORITIZE_SMALLER_VALUES'
                    },
                    'stringConfiguration': {
                        'attributeValueBoosting': {
                            'string': 'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                        },
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    },
                    'stringListConfiguration': {
                        'boostingLevel': 'NONE'|'LOW'|'MEDIUM'|'HIGH'|'VERY_HIGH'
                    }
                }
            },
            'indexId': 'string'
        }
    },
    displayName='string',
    retrieverId='string',
    roleArn='string'
)
type applicationId

string

param applicationId

[REQUIRED]

The identifier of your Amazon Q application.

type configuration

dict

param configuration

Provides information on how the retriever used for your Amazon Q application is configured.

  • kendraIndexConfiguration (dict) --

    Provides information on how the Amazon Kendra index used as a retriever for your Amazon Q application is configured.

    • indexId (string) -- [REQUIRED]

      The identifier of the Amazon Kendra index.

  • nativeIndexConfiguration (dict) --

    Provides information on how a Amazon Q index used as a retriever for your Amazon Q application is configured.

    • boostingOverride (dict) --

      Overrides the default boosts applied by Amazon Q to supported document attribute data types.

      • (string) --

        • (dict) --

          Provides information on boosting supported Amazon Q document attribute types. When an end user chat query matches document attributes that have been boosted, Amazon Q prioritizes generating responses from content that matches the boosted document attributes.

          Note

          For STRING and STRING_LIST type document attributes to be used for boosting on the console and the API, they must be enabled for search using the DocumentAttributeConfiguration object of the UpdateIndex API. If you haven't enabled searching on these attributes, you can't boost attributes of these data types on either the console or the API.

          For more information on how boosting document attributes work in Amazon Q, see Boosting using document attributes .

          • dateConfiguration (dict) --

            Provides information on boosting DATE type document attributes.

            • boostingDurationInSeconds (integer) --

              Specifies the duration, in seconds, of a boost applies to a DATE type document attribute.

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

          • numberConfiguration (dict) --

            Provides information on boosting NUMBER type document attributes.

            • boostingLevel (string) -- [REQUIRED]

              Specifies the duration, in seconds, of a boost applies to a NUMBER type document attribute.

            • boostingType (string) --

              Specifies how much a document attribute is boosted.

          • stringConfiguration (dict) --

            Provides information on boosting STRING type document attributes.

            • attributeValueBoosting (dict) --

              Specifies specific values of a STRING type document attribute being boosted.

              • (string) --

                • (string) --

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

          • stringListConfiguration (dict) --

            Provides information on boosting STRING_LIST type document attributes.

            • boostingLevel (string) -- [REQUIRED]

              Specifies how much a document attribute is boosted.

    • indexId (string) -- [REQUIRED]

      The identifier for the Amazon Q index.

type displayName

string

param displayName

The name of your retriever.

type retrieverId

string

param retrieverId

[REQUIRED]

The identifier of your retriever.

type roleArn

string

param roleArn

The Amazon Resource Name (ARN) of an IAM role with permission to access the retriever and required resources.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --