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.
{'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' )
string
[REQUIRED]
The identifier of your Amazon Q application.
string
A token that you provide to identify the request to create your Amazon Q application retriever.
This field is autopopulated if not provided.
dict
[REQUIRED]
Provides information on how the retriever used for your Amazon Q application is configured.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set: kendraIndexConfiguration, nativeIndexConfiguration.
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.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set: dateConfiguration, numberConfiguration, stringConfiguration, stringListConfiguration.
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.
string
[REQUIRED]
The name of your retriever.
string
The ARN of an IAM role used by Amazon Q to access the basic authentication credentials stored in a Secrets Manager secret.
list
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.
string
[REQUIRED]
The type of retriever you are using.
dict
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.
{'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' )
string
[REQUIRED]
The identifier of the Amazon Q application using the retriever.
string
[REQUIRED]
The identifier of the retriever.
dict
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.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: kendraIndexConfiguration, nativeIndexConfiguration. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
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.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: dateConfiguration, numberConfiguration, stringConfiguration, stringListConfiguration. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
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.
{'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' )
string
[REQUIRED]
The identifier of the application associated with the feedback.
string
[REQUIRED]
The identifier of the conversation the feedback is attached to.
datetime
The timestamp for when the feedback was recorded.
string
[REQUIRED]
The identifier of the chat message that the feedback was given for.
dict
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.
string
[REQUIRED]
The identifier of the user giving the feedback.
None
{'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' )
string
[REQUIRED]
The identifier of your Amazon Q application.
dict
Provides information on how the retriever used for your Amazon Q application is configured.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set: kendraIndexConfiguration, nativeIndexConfiguration.
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.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set: dateConfiguration, numberConfiguration, stringConfiguration, stringListConfiguration.
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.
string
The name of your retriever.
string
[REQUIRED]
The identifier of your retriever.
string
The Amazon Resource Name (ARN) of an IAM role with permission to access the retriever and required resources.
dict
Response Syntax
{}
Response Structure
(dict) --