Deploying a standalone Text use case
Follow the step-by-step instructions in this section to configure and deploy the solution into your account.
Time to deploy: Approximately 10-30 minutes
-
Sign in to the AWS Management Console
and select the button to launch the CloudFront template that you want to deploy. -
The template launches in the US East (N. Virginia) Region by default. To launch the solution in a different AWS Region, use the Region selector in the console navigation bar.
Note: This solution uses Amazon Kendra and Amazon Bedrock, which are not currently available in all AWS Regions. If using these features, you must launch this solution in an AWS Region where these services are available. For the most current availability by Region, see the AWS Regional Services List
. -
On the Create stack *page, verify that the correct template URL is in the *Amazon S3 URL *text box and choose *Next.
-
On the *Specify stack details *page, assign a name to your solution stack. For information about naming character limitations, see IAM and STS Limits in the AWS Identity and Access Management User Guide.
-
Under Parameters, review the parameters for this solution template and modify them as necessary. This solution uses the following default values.
UseCaseUUID
<_Requires input_>36 character long UUIDv4 to identify this deployed use case within an application.
UseCaseConfigRecordKey
<_Requires input_>Key corresponding of the record containing configurations required by the chat provider Lambda at runtime. The record in the table must have a key attribute matching this value, and a config attribute containing the desired configuration. This record will be populated by the deployment platform if in use. For standalone deployments of this use case, a manually created entry in the table defined in UseCaseConfigTableName is required.
UseCaseConfigTableName
<_Requires input_>The stack will read the configuration from the table with this name at the key UseCaseConfigRecordKey
ExistingRestApiId
(Optional input)
Existing API Gateway REST API ID to use. If not provided, a new API Gateway REST API will be created. Typically provided when deploying from the Deployment dashboard.
Note: Using Existing APIs can help reduce resource duplication and simplify management of APIs when you need to deploy multiple standalone use cases. When supplying existing APIs for a standalone use case, you are responsible for ensuring that the API is configured with the required route(s) with expected models. A required pre-configured /details route (fetches use case details during chat) and optionally, a /feedback route (if FeedbackEnabled is set to
Yesto enable collection of feedback for LLM chat responses) must be configured. Additionally, ExistingApiRootResourceId, ExistingCognitoUserPoolId and ExistingCognitoGroupPolicyTableName must also be provided.ExistingApiRootResourceId
(Optional input)
Existing API Gateway REST API Root Resource ID to use. REST API Root Resource ID can be obtained from the AWS console by selecting the root resource (/) in the "Resources" section of the API. The Resource ID will then be displayed in the Resource details panel. You can alternatively run a describe API call on your REST API to find the Root Resource ID.
FeedbackEnabled
NoIf set to No, the deployed use case stack will not have access to the feedback feature.
ExistingModelInfoTableName
(Optional input)
DynamoDB table name for the table which contains model info and defaults. Used by the deployment platform. If omitted, a new table will be created to house model defaults.
DefaultUserEmail
placeholder@example.comEmail of the default user for this use case. An Amazon Cognito user for this email is created to access the use case. If not provided, the Cognito Group and User will not be created. You may also use
placeholder@example.comto create the Group but not the User. Refer to Manual User Pool Configuration for information on setting up your user pool.ExistingCognitoUserPoolId
(Optional input)
UserPoolId of an existing Amazon Cognito user pool which this use case will be authenticated with. Typically provided when deploying from the Deployment dashboard, but can be omitted when deploying this use case stack standalone.
CognitoDomainPrefix
(Optional input)
Enter a value if you want to provide a domain for the Cognito User Pool Client. If you don’t provide a value, the deployment will generate one.
ExistingCognitoUserPoolClient
(Optional input)
Provide a User Pool Client (App Client) to use an existing one. If you don’t provide a User Pool Client, a new one will be created. This parameter can only be provided if an existing User Pool Id is provided.
ExistingCognitoGroupPolicyTableName
(Optional input)
Name of the DynamoDB table containing user group policies. This is used by the custom authorizer on the use case’s API. Typically, you can provide an input when deploying from the deployment platform, but can be omitted when deploying this use case stack standalone.
RAGEnabled
trueIf set to true, the deployed use case stack uses the provided Amazon Kendra index created to provide RAG functionality. If set to
false, the user interacts directly with the LLM.KnowledgeBaseType
Bedrock
Knowledge base type to be used for RAG. Only set if RAGEnabled is
true. Can be Bedrock or Kendra.Note: Only relevant if RAGEnabled is true.
ExistingKendraIndexId
(Optional input)
Index ID of an existing Kendra index to be used for the use case. If none is provided and KnowledgeBaseType is Kendra, a new index will be created for you.
Note: Only relevant if RAGEnabled is
trueand KnowledgeBaseType isKendra.NewKendraIndexName
(Optional input)
Name for the new Kendra index to be created for this use case. Only applies if ExistingKendraIndexId is not supplied.
Note: Only relevant if RAGEnabled is true and KnowledgeBaseType is Kendra.
NewKendraQueryCapacityUnits
0
Additional query capacity units for the new Amazon Kendra index to be created for this use case. Only applies if ExistingKendraIndexId is not supplied, see CapacityUnitsConfiguration.
Note: Only relevant if RAGEnabled is
trueand KnowledgeBaseType isKendra.NewKendraStorageCapacityUnits
0Additional storage capacity units for the new Amazon Kendra index to be created for this use case. Only applies if ExistingKendraIndexId is not supplied, see CapacityUnitsConfiguration.
Note: Only relevant if RAGEnabled is
trueand KnowledgeBaseType isKendra.NewKendraIndexEdition
(Optional input)
The edition of Amazon Kendra to use for the new Amazon Kendra index to be created for this use case. Only applies if ExistingKendraIndexId is not supplied, see Amazon Kendra Editions.
Note: Only relevant if RAGEnabled is
trueand KnowledgeBaseType isKendra.BedrockKnowledgeBaseId
(Optional input)
ID of the bedrock knowledge base to use in a RAG use case. Cannot be provided if ExistingKendraIndexId or NewKendraIndexName are provided.
Note: Only relevant if RAGEnabled is
trueand KnowledgeBaseType isBedrock.VpcEnabled
NoShould the stacks resources be deployed within a VPC.
CreateNewVpc
NoSelect
Yes, if you want the solution to create a new VPC for you and be used for this use case.Note: Only relevant if VpcEnabled is
Yes.IPAMPoolId
(Optional input)
If you want to assign the CIDR range using Amazon VPC IP Address Manager, provide the IPAM pool Id to use.
Note: Only relevant if VpcEnabled is
Yesand CreateNewVpc isNo.ExistingVpcId
(Optional input)
VPC ID of an existing VPC to be used for the use case.
Note: Only relevant if VpcEnabled is
Yesand CreateNewVpc isNo.ExistingPrivateSubnetIds
(Optional input)
Comma separated list of subnet IDs of existing private subnets to be used to deploy the Lambda function.
Note: Only relevant if VpcEnabled is
Yesand CreateNewVpc isNo.ExistingSecurityGroupIds
(Optional input)
Comma separated list of security groups of the existing VPC to be used for configuring Lambda functions.
Note: Only relevant if VpcEnabled is
Yesand CreateNewVpc isNo.VpcAzs
(Optional input)
Comma separated list of AZs in which subnets of the VPCs are created
Note: Only relevant if VpcEnabled is
Yesand CreateNewVpc isNo.UseInferenceProfile
NoIf the model configured is Bedrock, you can indicate if you are using Bedrock Inference Profile. This will ensure that the required IAM policies will be configured during stack deployment. For more details, refer to the following https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html
DeployUI
Yes
Select the option to deploy the frontend UI for this deployment. Selecting No, will only create the infrastructure to host the APIs, the authentication for the APIs, and backend processing.
-
Choose Next.
-
On the Configure stack options page, choose Next.
-
On the Review page, review and confirm the settings. Select the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.
-
Choose Create stack to deploy the stack.
You can view the status of the stack in the AWS CloudFormation console in the Status column. You should receive a CREATE_COMPLETE status in approximately 10-30 minutes.