From dda2359ef682f84f0da68cecabe5b4aef2bea0e5 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 23 Jul 2024 16:00:37 -0400 Subject: [PATCH 01/31] feat(construct): added text to sql cdk and lambda --- .projenrc.ts | 22 +- .../aws-text-to-sql/query_config/Dockerfile | 19 + .../aws-text-to-sql/query_config/bedrock.py | 24 + .../query_config/config_types.py | 42 ++ .../query_config/custom_errors.py | 10 + lambda/aws-text-to-sql/query_config/lambda.py | 179 ++++++ lambda/aws-text-to-sql/query_config/parser.py | 14 + .../query_config/requirements.txt | 6 + .../aws-text-to-sql/query_executor/Dockerfile | 19 + .../aws-text-to-sql/query_executor/lambda.py | 27 + .../query_executor/requirements.txt | 5 + .../query_generator/Dockerfile | 19 + .../query_generator/bedrock.py | 24 + .../query_generator/config_types.py | 10 + .../query_generator/custom_errors.py | 16 + .../query_generator/db_helper.py | 26 + .../aws-text-to-sql/query_generator/lambda.py | 164 +++++ .../aws-text-to-sql/query_generator/parser.py | 14 + .../query_generator/requirements.txt | 7 + .../aws-text-to-sql/user_feedback/Dockerfile | 19 + .../aws-text-to-sql/user_feedback/lambda.py | 25 + .../user_feedback/requirements.txt | 5 + src/common/base-class/construct-name-enum.ts | 1 + src/index.ts | 2 + src/patterns/gen-ai/aws-text-to-sql/README.md | 331 ++++++++++ src/patterns/gen-ai/aws-text-to-sql/index.ts | 600 ++++++++++++++++++ 26 files changed, 1622 insertions(+), 8 deletions(-) create mode 100644 lambda/aws-text-to-sql/query_config/Dockerfile create mode 100644 lambda/aws-text-to-sql/query_config/bedrock.py create mode 100644 lambda/aws-text-to-sql/query_config/config_types.py create mode 100644 lambda/aws-text-to-sql/query_config/custom_errors.py create mode 100644 lambda/aws-text-to-sql/query_config/lambda.py create mode 100644 lambda/aws-text-to-sql/query_config/parser.py create mode 100644 lambda/aws-text-to-sql/query_config/requirements.txt create mode 100644 lambda/aws-text-to-sql/query_executor/Dockerfile create mode 100644 lambda/aws-text-to-sql/query_executor/lambda.py create mode 100644 lambda/aws-text-to-sql/query_executor/requirements.txt create mode 100644 lambda/aws-text-to-sql/query_generator/Dockerfile create mode 100644 lambda/aws-text-to-sql/query_generator/bedrock.py create mode 100644 lambda/aws-text-to-sql/query_generator/config_types.py create mode 100644 lambda/aws-text-to-sql/query_generator/custom_errors.py create mode 100644 lambda/aws-text-to-sql/query_generator/db_helper.py create mode 100644 lambda/aws-text-to-sql/query_generator/lambda.py create mode 100644 lambda/aws-text-to-sql/query_generator/parser.py create mode 100644 lambda/aws-text-to-sql/query_generator/requirements.txt create mode 100644 lambda/aws-text-to-sql/user_feedback/Dockerfile create mode 100644 lambda/aws-text-to-sql/user_feedback/lambda.py create mode 100644 lambda/aws-text-to-sql/user_feedback/requirements.txt create mode 100644 src/patterns/gen-ai/aws-text-to-sql/README.md create mode 100644 src/patterns/gen-ai/aws-text-to-sql/index.ts diff --git a/.projenrc.ts b/.projenrc.ts index a3ad2c51..24320e6e 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -32,10 +32,10 @@ const PUBLICATION_NAMESPACE = 'cdklabs'; const PROJECT_NAME = 'generative-ai-cdk-constructs'; const CDK_VERSION: string = '2.149.0'; -function camelCaseIt(input: string): string { - // Hypens and dashes to spaces and then CamelCase... - return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); -} +// function camelCaseIt(input: string): string { +// // Hypens and dashes to spaces and then CamelCase... +// return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); +// } const project = new awscdk.AwsCdkConstructLibrary({ author: 'Amazon Web Services - Prototyping and Cloud Engineering', @@ -64,9 +64,15 @@ const project = new awscdk.AwsCdkConstructLibrary({ 'typedoc-plugin-markdown', 'aws-sdk-mock', '@aws-cdk/assert', + '@aws-solutions-constructs/aws-constructs-factories@2.63.0', + ], deps: [ 'cdk-nag', + '@aws-solutions-constructs/core@2.63.0', + '@aws-solutions-constructs/aws-eventbridge-stepfunctions@2.63.0', + '@aws-solutions-constructs/aws-constructs-factories@2.63.0', + ], bundledDeps: [ 'deepmerge', @@ -85,10 +91,10 @@ const project = new awscdk.AwsCdkConstructLibrary({ // twineRegistryUrl: '${{ secrets.TWINE_REGISTRY_URL }}', }, - publishToNuget: { - dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - }, + // publishToNuget: { + // dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + // packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + // }, codeCov: true, codeCovTokenSecret: 'CODECOV_TOKEN', diff --git a/lambda/aws-text-to-sql/query_config/Dockerfile b/lambda/aws-text-to-sql/query_config/Dockerfile new file mode 100644 index 00000000..16d651d3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/Dockerfile @@ -0,0 +1,19 @@ +FROM public.ecr.aws/lambda/python:3.11.2023.11.13.10-x86_64 + +# Installs python, removes cache file to make things smaller +RUN yum update -y && \ + yum install -y python3 python3-dev python3-pip gcc git && \ + rm -Rf /var/cache/yum + +# Copies requirements.txt file into the container +COPY requirements.txt ./ +# Installs dependencies found in your requirements.txt file +RUN pip install -r requirements.txt + +# Be sure to copy over the function itself! +# Goes last to take advantage of Docker caching. +# COPY lambda.py ./ +COPY . . + +# Points to the handler function of your lambda function +CMD ["lambda.handler"] \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/bedrock.py b/lambda/aws-text-to-sql/query_config/bedrock.py new file mode 100644 index 00000000..ebc1e9b3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/bedrock.py @@ -0,0 +1,24 @@ +from aws_lambda_powertools import Logger +from langchain_aws import BedrockLLM +from langchain_aws import ChatBedrock +from config_types import BedrockModel + +logger = Logger(service="TEXT2SQL") + +def get_llm(config): + + try: + model_id=config.get("model_id", BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1) + + if ("claude-3" in model_id): + llm = ChatBedrock( + model_id=model_id + ) + else: + llm = BedrockLLM( + model_id=model_id + ) + return llm + except Exception as exp: + logger.error(f' response :: {exp}') + return None \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/config_types.py b/lambda/aws-text-to-sql/query_config/config_types.py new file mode 100644 index 00000000..2aafd02e --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/config_types.py @@ -0,0 +1,42 @@ +from enum import StrEnum + +class WorkflowStrategy(StrEnum): + AUTO = 'auto', + HUMAN_LOOP = 'human', + DISABLED = 'disabled' + +class Workflow(StrEnum): + BEDROCK = 'Bedrock' + +class Provider(StrEnum): + BEDROCK = 'Bedrock' + +class BedrockModel(StrEnum): + # ANTHROPIC MODELS + ANTHROPIC_CLAUDE_V2_1 = 'anthropic.claude-v2:1', + ANTHROPIC_CLAUDE_V2 = 'anthropic.claude-v2', + ANTHROPIC_CLAUDE_V3_HAIKU_V1 = 'anthropic.claude-3-haiku-20240307-v1:0', + ANTHROPIC_CLAUDE_V3_SONNET_V1 = 'anthropic.claude-3-sonnet-20240229-v1:0', + ANTHROPIC_CLAUDE_INSTANT_V1 = 'anthropic.claude-instant-v1' + # AMAZON + AMAZON_TITAN_TEXT_LITE_V1 = 'amazon.titan-text-lite-v1', + AMAZON_TITAN_TEXT_EXPRESS_V1 = 'amazon.titan-text-express-v1', + AMAZON_TITAN_EMBED_IMAGE_V1 = 'amazon.titan-embed-image-v1', + AMAZON_TITAN_EMBED_TEXT_V1 = 'amazon.titan-embed-text-v1', + AMAZON_TITAN_IMAGE_GENERATOR_V1 = 'amazon.titan-image-generator-v1', + AMAZON_TITAN_TEXT_PREMIER_V1 = 'amazon.titan-text-premier-v1:0' + +MAX_TOKENS_MAP = { + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2_1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2 : 100000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_SONNET_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_INSTANT_V1 : 100000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_LITE_V1 : 4000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_EXPRESS_V1 : 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_TEXT_V1: 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_IMAGE_V1: 128, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_IMAGE_GENERATOR_V1: 77, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_PREMIER_V1: 32000, +} + diff --git a/lambda/aws-text-to-sql/query_config/custom_errors.py b/lambda/aws-text-to-sql/query_config/custom_errors.py new file mode 100644 index 00000000..a6ea9895 --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/custom_errors.py @@ -0,0 +1,10 @@ +class LLMNotLoadedException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[501] The LLM {message} was not loaded correctly" + + +class KnowledgeBaseIDNotFound(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] Error occured, Reason :: {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/lambda.py b/lambda/aws-text-to-sql/query_config/lambda.py new file mode 100644 index 00000000..ccef26a3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/lambda.py @@ -0,0 +1,179 @@ +import os +import boto3 +from config_types import WorkflowStrategy +from bedrock import get_llm +from custom_errors import LLMNotLoadedException,KnowledgeBaseIDNotFound +# aws libs +from aws_lambda_powertools import Logger, Tracer, Metrics +from aws_lambda_powertools.utilities.typing import LambdaContext +from langchain_core.prompts import load_prompt +from langchain.chains import LLMChain +from parser import extract_reformulated_question + + + +logger = Logger(service="QUERY_CONFIG") +tracer = Tracer(service="QUERY_CONFIG") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") + +db_name = os.environ["DB_NAME"] +metadata_source = os.environ["METADATA_SOURCE"] +config_bucket = os.environ["CONFIG_BUCKET"] +knowledge_base_id = os.environ["KNOWLEDGE_BASE_ID"] + +s3 = boto3.client('s3') +bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') + +@logger.inject_lambda_context(log_event=True) +@tracer.capture_lambda_handler +@metrics.log_metrics(capture_cold_start_metric=True) +def handler(event, context: LambdaContext)-> dict: + user_question = event['user_question'] + logger.info("Starting textToSql configurer with input", event) + + keys = ['workflow_config.json', 'few_shots.json','knowledge_layer.json'] + file_contents = load_files_from_s3(keys, prefix='config') + + # check if file_contents has key workflow_config.json + if 'workflow_config.json' in file_contents: + config = file_contents['workflow_config.json'] + + else: + raise ValueError("workflow_config.json not found in file_contents") + + if 'knowledge_layer.json' in file_contents: + config = file_contents['workflow_config.json'] + knowledge_layer = file_contents["config/knowledge_layer.json"] + else: + raise ValueError("knowledge_layer.json not found in file_contents") + + few_shots_config = file_contents['few_shots.json'] + execute_query_config = config.get("execute_sql") + sql_generation_config = config.get("sql_generation") + sql_synth_config = config.get("sql_synth") + semantic_layer = config.get("semantic_layer") + knowledge_base=config.get("knowledge_base") + + + + semantic_layer_strategy = semantic_layer.get('strategy', WorkflowStrategy.AUTO) + + if (semantic_layer_strategy != WorkflowStrategy.DISABLED ): + new_user_question = get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base,user_question,metadata_source) + else: + logger.info('Semantic validation strategy disabled, using the same question as asked by the user...') + new_user_question = user_question + + response = { + 'new_user_question':new_user_question, + 'db_name':db_name, + 'metadata_source':metadata_source, + 'sql_generation_config':sql_generation_config, + 'sql_synth':sql_synth_config, + 'few_shots_config':few_shots_config, + 'execute_query_config':execute_query_config, + 'semantic_layer_strategy':semantic_layer_strategy + + } + + return response + + + + + + +def load_files_from_s3(keys, bucket_name=config_bucket, prefix=''): + """ + Load files from an Amazon S3 bucket based on a list of keys and a prefix. + + Args: + keys (list): A list of object keys (file paths) to load. + bucket_name (str): The name of the S3 bucket. + prefix (str): The prefix for the bucket name. + + Returns: + dict: A dictionary containing the file contents, with file paths as keys. + """ + file_contents = {} + + # Iterate over the list of keys + for key in keys: + try: + file_obj = s3.get_object(Bucket=f"{prefix}/{bucket_name}", Key=key) + file_data = file_obj['Body'].read().decode('utf-8') + + file_contents[key] = file_data + except Exception as e: + print(f"Error loading file {key}: {e}") + + return file_contents + + +def get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base, user_question, metadata_source): + """ + Reformulates the user's question using a language model based on the provided knowledge layer and metadata source. + + Args: + semantic_layer (dict): Configuration for the semantic layer. + knowledge_layer (dict): Data representing the knowledge layer. + knowledge_base (dict): Configuration for the knowledge base. + user_question (str): The user's original question. + metadata_source (str): The source of the metadata, either "config_file" or "knowledge_base". + + Returns: + str: The reformulated question. + + Raises: + LLMNotLoadedException: If the language model for the semantic layer cannot be loaded. + """ + + logger.info(f'Reformulating user question :: {user_question}') + semantic_layer_llm = get_llm(semantic_layer) + if semantic_layer_llm is None: + raise LLMNotLoadedException("semantic_layer") + + if metadata_source == "config_file": + answer_prompt = load_prompt(semantic_layer['prompt_template_path']) + knowledge_layer_data=knowledge_layer + else: + answer_prompt = load_prompt(semantic_layer['kb_prompt_template_path']) + knowledge_layer_data = get_knowledge_layer_data(metadata_source, knowledge_base, user_question, semantic_layer) + + chain = LLMChain(llm=semantic_layer_llm, prompt=answer_prompt, verbose=False) + response = chain.predict(knowledge_layer=knowledge_layer_data, question=user_question) + new_question = extract_reformulated_question(response) + + logger.info(f"Reformulated user question: {new_question}") + return new_question + + +def get_knowledge_layer_data(metadata_source, knowledge_base, user_question, semantic_layer): + """ + Retrieves the knowledge layer data based on the metadata source. + + Args: + metadata_source (str): The source of the metadata, either "config_file" or "knowledge_base". + knowledge_base (dict): Configuration for the knowledge base. + user_question (str): The user's original question. + semantic_layer (dict): Configuration for the semantic layer. + + Returns: + dict: The knowledge layer data. + """ + if metadata_source == "config_file": + logger.info('Semantic validation strategy enabled, running LLM against question + knowledge layer config file') + return + else: + logger.info('Semantic validation strategy enabled, running LLM against question + knowledge base') + if knowledge_base_id is None: + raise KnowledgeBaseIDNotFound("KNOWLEDGE_BASE_ID environment variable is not set") + + response = bedrock_agent_runtime.retrieve( + retrievalQuery={'text': user_question}, + knowledgeBaseId=knowledge_base_id, + retrievalConfiguration={'vectorSearchConfiguration': {'numberOfResults': 1}} + ) + return response['retrievalResults'] + + diff --git a/lambda/aws-text-to-sql/query_config/parser.py b/lambda/aws-text-to-sql/query_config/parser.py new file mode 100644 index 00000000..ec7dd19c --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/parser.py @@ -0,0 +1,14 @@ +import re + +def extract_reformulated_question(text): + # Define the regular expression pattern + pattern = r'\s*(.*?)\s*' + + # Search for the pattern in the text + match = re.search(pattern, text, re.DOTALL) + + # If a match is found, return the extracted substring + if match: + return match.group(1) + else: + return None \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/requirements.txt b/lambda/aws-text-to-sql/query_config/requirements.txt new file mode 100644 index 00000000..91da080e --- /dev/null +++ b/lambda/aws-text-to-sql/query_config/requirements.txt @@ -0,0 +1,6 @@ +aws-lambda-powertools +aws-xray-sdk +boto3>=1.28.61 +langchain_aws>=0.1.12 +langchain-core>=0.2.22 +langchain>=0.2.10 \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_executor/Dockerfile b/lambda/aws-text-to-sql/query_executor/Dockerfile new file mode 100644 index 00000000..16d651d3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/Dockerfile @@ -0,0 +1,19 @@ +FROM public.ecr.aws/lambda/python:3.11.2023.11.13.10-x86_64 + +# Installs python, removes cache file to make things smaller +RUN yum update -y && \ + yum install -y python3 python3-dev python3-pip gcc git && \ + rm -Rf /var/cache/yum + +# Copies requirements.txt file into the container +COPY requirements.txt ./ +# Installs dependencies found in your requirements.txt file +RUN pip install -r requirements.txt + +# Be sure to copy over the function itself! +# Goes last to take advantage of Docker caching. +# COPY lambda.py ./ +COPY . . + +# Points to the handler function of your lambda function +CMD ["lambda.handler"] \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py new file mode 100644 index 00000000..127d13fe --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -0,0 +1,27 @@ +import os + + +# aws libs +from aws_lambda_powertools import Logger, Tracer, Metrics +from aws_lambda_powertools.utilities.typing import LambdaContext + +logger = Logger(service="QUERY_CONFIG") +tracer = Tracer(service="QUERY_CONFIG") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") + +db_name = os.environ["DB_NAME"] +metadata_source = os.environ["METADATA_SOURCE"] + + + +@logger.inject_lambda_context(log_event=True) +@tracer.capture_lambda_handler +@metrics.log_metrics(capture_cold_start_metric=True) +def handler(event, context: LambdaContext)-> dict: + logger.info("Execute query", event) + response = { + 'db_name':db_name, + 'metadata_source':metadata_source + } + + return response diff --git a/lambda/aws-text-to-sql/query_executor/requirements.txt b/lambda/aws-text-to-sql/query_executor/requirements.txt new file mode 100644 index 00000000..6ace08a2 --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/requirements.txt @@ -0,0 +1,5 @@ +aws-lambda-powertools +aws-xray-sdk +boto3>=1.28.61 +requests==2.32.0 +requests-aws4auth==1.2.3 diff --git a/lambda/aws-text-to-sql/query_generator/Dockerfile b/lambda/aws-text-to-sql/query_generator/Dockerfile new file mode 100644 index 00000000..16d651d3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/Dockerfile @@ -0,0 +1,19 @@ +FROM public.ecr.aws/lambda/python:3.11.2023.11.13.10-x86_64 + +# Installs python, removes cache file to make things smaller +RUN yum update -y && \ + yum install -y python3 python3-dev python3-pip gcc git && \ + rm -Rf /var/cache/yum + +# Copies requirements.txt file into the container +COPY requirements.txt ./ +# Installs dependencies found in your requirements.txt file +RUN pip install -r requirements.txt + +# Be sure to copy over the function itself! +# Goes last to take advantage of Docker caching. +# COPY lambda.py ./ +COPY . . + +# Points to the handler function of your lambda function +CMD ["lambda.handler"] \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/bedrock.py b/lambda/aws-text-to-sql/query_generator/bedrock.py new file mode 100644 index 00000000..ebc1e9b3 --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/bedrock.py @@ -0,0 +1,24 @@ +from aws_lambda_powertools import Logger +from langchain_aws import BedrockLLM +from langchain_aws import ChatBedrock +from config_types import BedrockModel + +logger = Logger(service="TEXT2SQL") + +def get_llm(config): + + try: + model_id=config.get("model_id", BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1) + + if ("claude-3" in model_id): + llm = ChatBedrock( + model_id=model_id + ) + else: + llm = BedrockLLM( + model_id=model_id + ) + return llm + except Exception as exp: + logger.error(f' response :: {exp}') + return None \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/config_types.py b/lambda/aws-text-to-sql/query_generator/config_types.py new file mode 100644 index 00000000..110d2c27 --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/config_types.py @@ -0,0 +1,10 @@ +from enum import StrEnum + +class FewShotsStrategy(StrEnum): + STATIC = 'static', + DYNAMIC = 'dynamic', + +class WorkflowStrategy(StrEnum): + AUTO = 'auto', + HUMAN_LOOP = 'human', + DISABLED = 'disabled' \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/custom_errors.py b/lambda/aws-text-to-sql/query_generator/custom_errors.py new file mode 100644 index 00000000..e7cbc4af --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/custom_errors.py @@ -0,0 +1,16 @@ +class LLMNotLoadedException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[501] The LLM {message} was not loaded correctly" + + +class StrategyNotFoundException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[503] The selected strategy {message} doesn't exist" + + +class QueryGenerationException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[502] Failed to generate query {message}." \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/db_helper.py b/lambda/aws-text-to-sql/query_generator/db_helper.py new file mode 100644 index 00000000..c4ab452a --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/db_helper.py @@ -0,0 +1,26 @@ +from langchain_community.utilities import SQLDatabase + + +def get_db_connection(db_name): + try: + match db_name: + case "sqlite": + # SQLDatabase is an SQLAlchemy wrapper around a database, which provides a SQL Toolkit on top of databases. + # sample db - https://www.sqlitetutorial.net/wp-content/uploads/2018/03/sqlite-sample-database-diagram.pdf + db = SQLDatabase.from_uri("sqlite:///Chinook.db", sample_rows_in_table_info=3) + print(db.dialect) + return db + case "postgresql": + print("Retrieve db schema from postgresql") + # update connection url + return SQLDatabase.from_uri("postgresql://:@:/", sample_rows_in_table_info=3) + case "mysql": + print("Retrieve db schema from mysql") + return SQLDatabase.from_uri("mysql://:@:/", sample_rows_in_table_info=3) + + case _: + print(f"Error: {db_name} database is not supported.") + exit(1) + except Exception as exp: + logger.error(f'response :: {exp}') + exit(1) \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py new file mode 100644 index 00000000..50202959 --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -0,0 +1,164 @@ +import os + + +# aws libs +from aws_lambda_powertools import Logger, Tracer, Metrics +from aws_lambda_powertools.utilities.typing import LambdaContext +from bedrock import get_llm +from custom_errors import LLMNotLoadedException,StrategyNotFoundException,QueryGenerationException +from db_helper import get_db_connection +from config_types import FewShotsStrategy,WorkflowStrategy +from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate,ChatPromptTemplate +from langchain.chains import create_sql_query_chain +from langchain_core.output_parsers import StrOutputParser + +from parser import extract_sql_query + +logger = Logger(service="QUERY_CONFIG") +tracer = Tracer(service="QUERY_CONFIG") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") + + + + +@logger.inject_lambda_context(log_event=True) +@tracer.capture_lambda_handler +@metrics.log_metrics(capture_cold_start_metric=True) +def handler(event, context: LambdaContext)-> dict: + logger.info(f"Starting query Generator with input :: {event}" ) + + sql_generation_config = event.get("sql_generation") + db_name = event.get("db_name") + user_question = event.get("user_question") + few_shots_config = event.get("few_shots") + sql_generation_config = event.get("sql_generation_config") + + sql_validation_strategy = sql_generation_config.get('strategy', WorkflowStrategy.AUTO) + + text_to_sql_query_generation_llm = get_llm(sql_generation_config) + if text_to_sql_query_generation_llm is None: + raise LLMNotLoadedException("text_to_sql_query_generation_llm") + + db= get_db_connection(db_name) + table_info = db.get_usable_table_names() + logger.info(f"table_info :: {db.get_usable_table_names()}" ) + sql_generation_strategy = sql_generation_config.get('few_shots_strategy', FewShotsStrategy.STATIC) + + if sql_generation_strategy == FewShotsStrategy.STATIC: + max_number_few_shots = sql_generation_config.get("few_shots_max", 5) + few_shots_prompt = get_fewshots_static_prompt(few_shots_config,max_number_few_shots) + elif sql_generation_strategy == FewShotsStrategy.DYNAMIC: + few_shots_prompt = get_fewshots_dynamic_prompt() + else: + raise StrategyNotFoundException(sql_generation_strategy) + + generated_sql_query = generate_sql_from_text(text_to_sql_query_generation_llm,user_question,db,few_shots_prompt) + if generated_sql_query is None: + logger.error('Query generation failed') + + if (sql_validation_strategy != WorkflowStrategy.DISABLED): + validated_sql_query = valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy,generated_sql_query,db) + else: + logger.info('Semantic validation strategy not enabled, running sql query as is') + + response = { + 'validated_sql_query':validated_sql_query, + 'sql_validation_strategy':sql_validation_strategy + } + + return response + + +def get_fewshots_dynamic_prompt(): + logger.info("Not implemented right now") + + +def get_fewshots_static_prompt(few_shots,max_number_few_shots,autocorrect,db_name,error=None,generated_sql=None): + # Static strategy means data is loaded from a user-provided file + + if autocorrect: + # Auto-correction mode + logger.info("Autocorrect is enabled, running LLM against few shots prompt") + example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") + prompt_prefix = f"You are a {db_name} expert. This is the error {error} in this sql {generated_sql}. To correct this error, please generate an alternative syntactically correct {db_name} query for the question {user_question} and write it between the xml tags ." + prompt = FewShotPromptTemplate( + examples=few_shots[:max_number_few_shots], + example_prompt=example_prompt, + prefix=prompt_prefix + " Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries.", + suffix="User input: {input}\n ", + input_variables=["input", "top_k", "table_info"], + ) + else: + # Regular mode + example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") + prompt = FewShotPromptTemplate( + examples=few_shots[:max_number_few_shots], + example_prompt=example_prompt, + prefix="You are a SQLlite expert. Given an input question, create a syntactically correct SQLlite query to run and write it between the xml tags . Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries.", + suffix="User input: {input}\n ", + input_variables=["input", "top_k", "table_info"], + ) + + return prompt + + +def generate_sql_from_text(text_to_sql_query_generation_llm,user_question, db, prompt): + """ + Generate a SQL query from the given user question using a language model and the provided configurations. + + Args: + text_to_sql_query_generation_llm (LLM): The language model for SQL query generation. + db (Database): The database object. + prompt (str): The prompt to use for SQL query generation. + user_question (str): The user's natural language question. + + Returns: + str: The generated SQL query, or None if no query was generated. + """ + # Get the language model for SQL query generation + try: + chain = create_sql_query_chain(text_to_sql_query_generation_llm, db, prompt) + logger.info(f"question :: {user_question}") + response = chain.invoke({"question": user_question}) + + generated_sql_query = extract_sql_query(response) + if generated_sql_query: + logger.info(f'Generated SQL query: {generated_sql_query}') + else: + print("couldn't parse any genearted sql, returning...") + except Exception as e: + raise QueryGenerationException("generated_sql_query") + + + + logger.info(f' return Generated SQL query: {generated_sql_query}') + return generated_sql_query + + + + +def valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy,generated_sql_query,db): + system = """Double check the user's {dialect} query for common mistakes, including: + - Using NOT IN with NULL values + - Using UNION when UNION ALL should have been used + - Using BETWEEN for exclusive ranges + - Data type mismatch in predicates + - Properly quoting identifiers + - Using the correct number of arguments for functions + - Casting to the correct data type + - Using the proper columns for joins + + If there are any of the above mistakes, rewrite the query. If there are no mistakes, just reproduce the original query. + + Output the final SQL query only between tags .""" + + + prompt = ChatPromptTemplate.from_messages( + [("system", system), ("human", "{query}")] + ).partial(dialect=db.dialect) + validation_chain = prompt | text_to_sql_query_generation_llm | StrOutputParser() + response = validation_chain.invoke({"query": generated_sql_query}) + validated_sql_query = extract_sql_query(response) + logger.info(f'Validated SQL query: {validated_sql_query}') + + return validated_sql_query diff --git a/lambda/aws-text-to-sql/query_generator/parser.py b/lambda/aws-text-to-sql/query_generator/parser.py new file mode 100644 index 00000000..ccd3f236 --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/parser.py @@ -0,0 +1,14 @@ +import re + +def extract_sql_query(text): + # Define the regular expression pattern + pattern = r'\s*(.*?)\s*' + + # Search for the pattern in the text + match = re.search(pattern, text, re.DOTALL) + + # If a match is found, return the extracted substring + if match: + return match.group(1) + else: + return None \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/requirements.txt b/lambda/aws-text-to-sql/query_generator/requirements.txt new file mode 100644 index 00000000..bec89cda --- /dev/null +++ b/lambda/aws-text-to-sql/query_generator/requirements.txt @@ -0,0 +1,7 @@ +aws-lambda-powertools +aws-xray-sdk +boto3>=1.28.61 +langchain_aws>=0.1.12 +langchain-core>=0.2.22 +langchain>=0.2.10 +langchain_community>=0.2.10 diff --git a/lambda/aws-text-to-sql/user_feedback/Dockerfile b/lambda/aws-text-to-sql/user_feedback/Dockerfile new file mode 100644 index 00000000..16d651d3 --- /dev/null +++ b/lambda/aws-text-to-sql/user_feedback/Dockerfile @@ -0,0 +1,19 @@ +FROM public.ecr.aws/lambda/python:3.11.2023.11.13.10-x86_64 + +# Installs python, removes cache file to make things smaller +RUN yum update -y && \ + yum install -y python3 python3-dev python3-pip gcc git && \ + rm -Rf /var/cache/yum + +# Copies requirements.txt file into the container +COPY requirements.txt ./ +# Installs dependencies found in your requirements.txt file +RUN pip install -r requirements.txt + +# Be sure to copy over the function itself! +# Goes last to take advantage of Docker caching. +# COPY lambda.py ./ +COPY . . + +# Points to the handler function of your lambda function +CMD ["lambda.handler"] \ No newline at end of file diff --git a/lambda/aws-text-to-sql/user_feedback/lambda.py b/lambda/aws-text-to-sql/user_feedback/lambda.py new file mode 100644 index 00000000..7f9b3dc7 --- /dev/null +++ b/lambda/aws-text-to-sql/user_feedback/lambda.py @@ -0,0 +1,25 @@ +import os + + +# aws libs +from aws_lambda_powertools import Logger, Tracer, Metrics +from aws_lambda_powertools.utilities.typing import LambdaContext + +logger = Logger(service="QUERY_CONFIG") +tracer = Tracer(service="QUERY_CONFIG") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") + + + + +@logger.inject_lambda_context(log_event=True) +@tracer.capture_lambda_handler +@metrics.log_metrics(capture_cold_start_metric=True) +def handler(event, context: LambdaContext)-> dict: + logger.info("Request Feedback", event) + response = { + 'db_name':'dd', + 'metadata_source':'dd' + } + + return response diff --git a/lambda/aws-text-to-sql/user_feedback/requirements.txt b/lambda/aws-text-to-sql/user_feedback/requirements.txt new file mode 100644 index 00000000..6ace08a2 --- /dev/null +++ b/lambda/aws-text-to-sql/user_feedback/requirements.txt @@ -0,0 +1,5 @@ +aws-lambda-powertools +aws-xray-sdk +boto3>=1.28.61 +requests==2.32.0 +requests-aws4auth==1.2.3 diff --git a/src/common/base-class/construct-name-enum.ts b/src/common/base-class/construct-name-enum.ts index 8d212e9f..908e2122 100644 --- a/src/common/base-class/construct-name-enum.ts +++ b/src/common/base-class/construct-name-enum.ts @@ -21,4 +21,5 @@ export enum ConstructName { AWSCONTENTGENAPPSYNCLAMBDA = 'C8', AWSRAGAPPSYNCSTEPFNKENDRA = 'C9', AWSWEBCRAWLER = 'C10', + AWSTEXTTOSQL= 'C11' } diff --git a/src/index.ts b/src/index.ts index 4f1b67e0..6cd035e9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -17,6 +17,8 @@ export * from './patterns/gen-ai/aws-qa-appsync-opensearch'; export * from './patterns/gen-ai/aws-model-deployment-sagemaker'; export * from './patterns/gen-ai/aws-contentgen-appsync-lambda'; export * from './patterns/gen-ai/aws-web-crawler'; +export * from './patterns/gen-ai/aws-text-to-sql'; + export * as bedrock from './cdk-lib/bedrock'; export * as amazonaurora from './cdk-lib/amazonaurora'; diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md new file mode 100644 index 00000000..991a8a10 --- /dev/null +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -0,0 +1,331 @@ +# aws-web-crawler + + +--- + +![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) + +> All classes are under active development and subject to non-backward compatible changes or removal in any +> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. +> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. + +--- + + +| **Language** | **Package** | +|:-------------|-----------------| +|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) TypeScript|`@cdklabs/generative-ai-cdk-constructs`| +|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`cdklabs.generative_ai_cdk_constructs`| + +## Table of contents +- [Overview](#overview) +- [Initializer](#initializer) +- [Pattern Construct Props](#pattern-construct-props) +- [Pattern Properties](#pattern-properties) +- [Default properties](#default-properties) +- [Crawler Output](#crawler-output) +- [Architecture](#architecture) +- [Web Crawler Agent for Amazon Bedrock](#web-crawler-agent-for-amazon-bedrock) +- [Cost](#cost) +- [Security](#security) +- [Supported AWS Regions](#supported-aws-regions) +- [Quotas](#quotas) +- [Clean up](#clean-up) + +## Overview + +The WebCrawler construct provided here simplifies website crawling. It can crawl websites and RSS feeds on a schedule and store changeset data on S3. WebCrawler construct uses [Crawlee](https://crawlee.dev/) library to crawl websites. + +Crawling will begin shortly after the stack deployment. Please allow up to **15 minutes** for it to start the first time. + +All job status changes are notified via the SNS Topic available through the `snsTopic` property. + +Here is a minimal deployable pattern definition: + +TypeScript +```typescript +import * as cdk from 'aws-cdk-lib'; +import { Construct } from 'constructs'; +import { CrawlerTargetType, WebCrawler } from '@cdklabs/generative-ai-cdk-constructs'; + +export class SampleStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + new WebCrawler(this, 'WebCrawler', { + targets: [ + { + url: 'https://cloudprice.net/aws/ec2', + targetType: CrawlerTargetType.WEBSITE, + crawlIntervalHours: 24, + maxRequests: 15000, + }, + { + url: 'https://aws.amazon.com/about-aws/whats-new/recent/feed', + targetType: CrawlerTargetType.RSS_FEED, + crawlIntervalHours: 24, + }, + ], + }); + } +} + +``` + +Python +```python +from aws_cdk import Stack +from constructs import Construct +from cdklabs.generative_ai_cdk_constructs import WebCrawler, CrawlerTargetType + +class SampleStack(Stack): + def __init__(self, scope: Construct, id: str, **kwargs): + super().__init__(scope, id, **kwargs) + + WebCrawler(self, 'WebCrawler', + targets=[ + { + 'url': 'https://cloudprice.net/aws/ec2', + 'targetType': CrawlerTargetType.WEBSITE, + 'crawlIntervalHours': 24, + 'maxRequests': 15000, + }, + { + 'url': 'https://aws.amazon.com/about-aws/whats-new/recent/feed', + 'targetType': CrawlerTargetType.RSS_FEED, + 'crawlIntervalHours': 24, + } + ] + ) +``` + +## Initializer + +``` +new WebCrawler(scope: Construct, id: string, props: WebCrawlerProps) +``` + +Parameters + +- scope [Construct](https://docs.aws.amazon.com/cdk/api/v2/docs/constructs.Construct.html) +- id string +- props [WebCrawlerProps](../aws-web-crawler/index.ts) + +## Pattern Construct Props + +| **Name** | **Type** | **Required** |**Description** | +|:-------------|:----------------|-----------------|-----------------| +| existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct.| +| vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Optional custom properties for a VPC the construct will create. This VPC will be used by the compute resources the construct creates. Providing both this and existingVpc is an error.| +| existingOutputBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing instance of S3 Bucket object, providing both this and `bucketOutputProps` will cause an error..| +| bucketOutputProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User provided props to override the default props for the S3 Bucket. Providing both this and `existingOutputBucketObj` will cause an error.| +| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enables observability on all services used. Warning: associated costs with the services used. It is a best practice to enable by default. Defaults to true.| +| stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | +| targets | CrawlerTarget[] | ![Optional](https://img.shields.io/badge/optional-4169E1) | Target website and RSS feeds to be crawled | +| enableLambdaCrawler | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Specifies whether a separate crawler available as a Lambda function should be deployed. | + +## Target Properties + +| **Name** | **Type** |**Description** | +|:-------------|:----------------|-----------------| +| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | The VPC used by the construct (whether created by the construct or provided by the client). | +| dataBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | Returns an instance of s3.Bucket created by the construct. | +| snsTopic | [sns.ITopic](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.ITopic.html) | Returns an instance of SNS Topic created by the construct. | +| targetsTable | [dynamodb.ITable](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.ITable.html) | Returns the instance of Targets DynamoDB table created by the construct. | +| jobsTable | [dynamodb.ITable](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.ITable.html) | Returns the instance of Jobs DynamoDB table created by the construct. | +| jobQueue | [batch.IJobQueue](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_batch.IJobQueue.html) | Returns the instance of batch.IJobQueue created by the construct. | +| webCrawlerJobDefinition | [batch.IJobDefinition](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_batch.IJobDefinition.html) | Returns the instance of JobDefinition created by the construct. | +| lambdaCrawler | [lambda.IFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.IFunction.html) | Returns the instance of the lambda function created by the construct if ```enableLambdaCrawler``` was set to true in the construct properties. | +| lambdaCrawlerApiSchemaPath | string | Returns the path to the OpenAPI specification for the Lambda Crawler. | + +## Default properties + +Out of the box implementation of the construct without any override will set the following defaults: + +### Networking + +- Set up a VPC + - Uses existing VPC if provided, otherwise creates a new one + - Setup VPC endpoints for Amazon S3 and ECR + - Setup a VPC flow logs + +### Fargate + +- when an infrastructure update is triggered, any running jobs will be allowed to run until 30min has expired +- 2vCPUs +- 6144 MB as the container memory hard limit +- hard limit of 48 hours for container timeout, and 100 000 pages crawled + +### Amazon S3 Buckets + +- Set up one Amazon S3 Bucket + - Uses existing bucket if provided, otherwise creates new one +- Setup a logging access S3 bucket + +## Crawler Output + +S3 output bucket names is available via `dataBucket` property. Data is stored on S3 in the following format: +- /{target_key}/files/{file_name} +- /{target_key}/jobs/{job_id}/{data_file} + +| File Name | Description | +| -------- | ------- | +| crawl_data.jsonl | Raw HTML crawler output | +| crawl_files.jsonl| Links to files found on crawled pages | +| crawl_errors.jsonl| Crawler errors | +| crawl_sitemaps.jsonl| Links found in sitemaps | +| pages_changeset.jsonl| Cleaned data in text format from the pages, including information on whether the page was created, updated, deleted or not changed after a previous crawl. | +| files_changeset.jsonl| All downloaded files data including S3 key and information on whether the file was added, changed, or deleted after a previous crawl | + +All files are stored in jsonl format (JSON Lines) and can be processed line by line. Here is a Python snippet. + +```python +import json + +with open(FILE_NAME, 'r') as file: + for line in file: + try: + json_data = json.loads(line) + # TODO: Process the JSON data + except json.JSONDecodeError as e: + print(f"Error decoding JSON: {e}") +``` + +Page records have the following format + +```ts +{ + content_type: string; + url: string; + base_url?: string; + file_type?: string; + canonical?: string; + meta?: { + title?: string; + description?: string; + keywords?: string; + author?: string; + } + content?: string; + fingerprint?: string; + operation?: string; +} +``` + +File records have the following format + +```ts +{ + url: string; + file_type: string; + file_size: number; + last_modified: string, + checksum?: string, + s3_key?: string + operation?: string; +} +``` + +Operations: +- not_changed +- created +- updated +- deleted + +## Architecture +![Architecture Diagram](architecture.png) + +## Web Crawler Agent for Amazon Bedrock + +The WebCrawler construct also provides a Lambda Crawler function that can be used as an action in the Amazon Bedrock Agent. Here is an example of an agent capable of accessing the web. + +```typescript +import * as cdk from 'aws-cdk-lib'; +import { Construct } from 'constructs'; +import { WebCrawler, bedrock } from '@cdklabs/generative-ai-cdk-constructs'; + +export class WebCrawlerAgentStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + const crawler = new WebCrawler(this, 'WebCrawler', { + enableLambdaCrawler: true, + }); + + const agent = new bedrock.Agent(this, 'WebAgent', { + foundationModel: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_SONNET_V1_0, + instruction: `You are a helpful and friendly agent with access to the internet. + You can get content from web pages provided by an URL. + You can summarize web pages.`, + }); + + agent.addActionGroup( + new bedrock.AgentActionGroup(this, 'WebCrawlerActionGroup', { + actionGroupName: 'web-crawler', + description: 'Use this function to get content from a web page by HTTP or HTTPS URL', + actionGroupExecutor: { + lambda: crawler.lambdaCrawler + }, + actionGroupState: 'ENABLED', + apiSchema: bedrock.ApiSchema.fromAsset(crawler.lambdaCrawlerApiSchemaPath), + }), + ); + } +} + +``` + +## Cost + +When deploying this architecture, you as the customer are responsible for the costs of the AWS services utilized. Based on current pricing in the US East (N. Virginia) region, operating this infrastructure with the default configuration to crawle websites every day for 4 hours is estimated to cost approximately $52.75 per month. This cost estimate includes usage of the various AWS services leveraged in this architecture such as AWS Lambda, AWS Batch, AWS Fargate, and Amazon S3. + +We recommend creating a budget through [AWS Cost Explorer](http://aws.amazon.com/aws-cost-management/aws-cost-explorer/) to help manage costs. Prices are subject to change. For full details, refer to the pricing webpage for each AWS service used in this solution. + +The following table provides a sample cost breakdown for deploying this solution with the default parameters in the **US East (N. Virginia)** Region for **one month**. + +| **AWS Service** | **Dimensions** | **Cost [USD]** | +|:-------------|:----------------|-----------------| +| Amazon Virtual Private Cloud | | 37.35 | +| Amazon Simple Storage Service (S3) | 100 GB / month | 2.30 | +| AWS Fargate | 4 hours per day | 13.10 | + + +## Security + +When you build systems on AWS infrastructure, security responsibilities are shared between you and AWS. This [shared responsibility](http://aws.amazon.com/compliance/shared-responsibility-model/) model reduces your operational burden because AWS operates, manages, and controls the components including the host operating system, virtualization layer, and physical security of the facilities in which the services operate. For more information about AWS security, visit [AWS Cloud Security](http://aws.amazon.com/security/). + +Optionnaly, you can provide existing resources to the constructs (marked optional in the construct pattern props). If you chose to do so, please refer to the official documentation on best practices to secure each service: +- [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) +- [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) + +If you grant access to a user to your account where this construct is deployed, this user may access information stored by the construct (Amazon Simple Storage Service buckets, Amazon CloudWatch logs). To help secure your AWS resources, please follow the best practices for [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). + +> **Note** + +> This construct stores documents in the output assets bucket. You should consider validating each file stored in the output bucket before using it in your application. [here](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) for file validation best practices. + +> If you use the data generated by this construct in a knowledge base, you should consider ingesting only the documents you deem appropriate. Depending on the service and LLM you use, results returned by the knowledge base may be eligible for inclusion into the prompt; and therefore, may be sent to the LLM or underlying service. If you use a third-party LLM, you should consider auditing the documents contained within your knowledge base. + +> The construct Web Crawler can be used to index your own web pages, or web pages that you have authorization to index. Using this construct Web Crawler to aggressively crawl websites or web pages you don't own could violate the rights, laws, and terms of others. Some forms of web scraping, like extracting copyrighted content, personal information without consent, or engaging in activities that interfere with the normal operation of websites may constitute unlawful behavior. Accordingly, you should consider reviewing the applicable laws and regulations that apply to you and your intended web crawling and web scraping activities before using this construct. + +> This construct provides several configurable options for logging. Please consider security best practices when enabling or disabling logging and related features. Verbose logging, for instance, may log content of API calls. You can disable this functionality by ensuring observability flag is set to false. + +## Supported AWS Regions + +This solution uses multiple AWS services, which might not be currently available in all AWS Regions. You must launch this construct in an AWS Region where these services are available. For the most current availability of AWS services by Region, see the [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). + +## Quotas + +Service quotas, also referred to as limits, are the maximum number of service resources or operations for your AWS account. + +Make sure you have sufficient quota for each of the services implemented in this solution and the associated instance types. For more information, refer to [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). + +To view the service quotas for all AWS services in the documentation without switching pages, view the information in the [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information) page in the PDF instead. + +## Clean up + +When deleting your stack which uses this construct, do not forget to go over the following instructions to avoid unexpected charges: + - delete the logs uploaded to the account + +*** +© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts new file mode 100644 index 00000000..b287f498 --- /dev/null +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -0,0 +1,600 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance + * with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions + * and limitations under the License. + */ +import * as path from 'path'; +import { ConstructsFactories } from '@aws-solutions-constructs/aws-constructs-factories'; +import { + EventbridgeToStepfunctions, + EventbridgeToStepfunctionsProps, +} from '@aws-solutions-constructs/aws-eventbridge-stepfunctions'; +import { Aws, Duration } from 'aws-cdk-lib'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import * as events from 'aws-cdk-lib/aws-events'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import * as logs from 'aws-cdk-lib/aws-logs'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as sqs from 'aws-cdk-lib/aws-sqs'; +import * as stepfunctions from 'aws-cdk-lib/aws-stepfunctions'; +import * as tasks from 'aws-cdk-lib/aws-stepfunctions-tasks'; +import { NagSuppressions } from 'cdk-nag'; +import { Construct } from 'constructs'; +import { + BaseClass, + BaseClassProps, +} from '../../../common/base-class/base-class'; +import { ConstructName } from '../../../common/base-class/construct-name-enum'; +import { buildDockerLambdaFunction } from '../../../common/helpers/lambda-builder-helper'; +import { + generatePhysicalNameV2, + lambdaMemorySizeLimiter, +} from '../../../common/helpers/utils'; +import { DockerLambdaCustomProps } from '../../../common/props/DockerLambdaCustomProps'; + +export interface TextToSqlProps { + /** + * Optional. The construct creates a custom VPC based on vpcProps. + * Providing both this and existingVpc is an error. + * + * @default - none + */ + readonly vpcProps?: ec2.VpcProps; + + /** + * Optional. An existing VPC can be used to deploy the construct. + * Providing both this and vpcProps is an error. + * + * @default - none + */ + readonly existingVpc?: ec2.IVpc; + + /** + * Optional. Security group for the lambda function which this construct will use. + * If no exisiting security group is provided it will create one from the vpc. + * @default - none + */ + readonly existingSecurityGroup?: ec2.ISecurityGroup; + + /** + * Value will be appended to resources name. + * + * @default - _dev + */ + readonly stage?: string; + /** + * Enable observability. Warning: associated cost with the services + * used. Best practice to enable by default. + * + * @default - true + */ + readonly observability?: boolean; + + /** + * Database name. This is the target database against which the query will be generated. + */ + readonly dbName: string; + + /** + * Optional. Allows to provide custom lambda code for all pre steps required before generating the query. + * If not provided, default code will be used. + * + */ + readonly customQueryConfigurerLambdaProps?: + | DockerLambdaCustomProps + | undefined; + + /** + * Optional. Allows to provide custom lambda code for generating the query. + * If not provided, default code will be used. + * + */ + readonly customQueryGeneratorLambdaProps?: + | DockerLambdaCustomProps + | undefined; + + /** + * Optional. Allows to provide custom lambda code for requesting the feedback from the user. + * If not provided, default code will be used. + * + */ + readonly customFeedbackLambdaProps?: DockerLambdaCustomProps | undefined; + + /** + * Optional. Allows to provide custom lambda code for executing the query. + * If not provided, default code will be used. + * + */ + readonly customQueryExecutorLambdaProps?: DockerLambdaCustomProps | undefined; + + /** + * The source of metatdata. This metadata is required to reduce the natual language ambiguity + * in order to generate the correct sql query. A knowledge layer is used to map the natural language + * to the database schema. + * Two metatdata source are supported: + * 1: config_file - A local json file containing the knowledge layer key value pair. + * 2: Knowledge base - Semantic search is used to fetch the knowledge layer from AWS knowledge base + * @default - config_file + */ + readonly metadataSource: string; + + /** + * Optional. User provided props to override the default props for the S3 Bucket. + * + * @default - Default props are used + */ + readonly configAssetsBucketProps?: s3.BucketProps; + + /** + * Optional. Existing s3 Bucket to store the config files. + * + * @default - None + */ + readonly existingconfigAssetsBucketObj?: s3.IBucket; + + /** + * Optional. Existing Knowledge base ID. + * + * @default - None + */ + readonly existingKnowledgeBaseId?: string; +} + +export class TextToSql extends BaseClass { + /** + * Returns the instance of ec2.IVpc used by the construct + */ + public readonly vpc: ec2.IVpc; + + /** + * Returns the instance of ec2.ISecurityGroup used by the construct + */ + public readonly securityGroup: ec2.ISecurityGroup; + + /** + * Returns the instance of s3.IBucket used by the construct + */ + public readonly configAssetBucket: s3.IBucket; + + /** + * Constructs a new instance of the TextToSql class. + * @param {Construct} scope - represents the scope for all the resources. + * @param {string} id - this is a a scope-unique id. + * @param {TextToSqlProps} props - user provided props for the construct. + * @since 0.0.0 + * @public + */ + constructor(scope: Construct, id: string, props: TextToSqlProps) { + super(scope, id); + + const baseProps: BaseClassProps = { + stage: props.stage, + constructName: ConstructName.AWSTEXTTOSQL, + constructId: id, + observability: props.observability, + }; + + this.updateEnvSuffix(baseProps); + this.addObservabilityToConstruct(baseProps); + + // vpc + if (props?.existingVpc) { + this.vpc = props.existingVpc; + } else { + this.vpc = new ec2.Vpc(this, 'Vpc', props.vpcProps); + } + // Security group + if (props?.existingSecurityGroup) { + this.securityGroup = props.existingSecurityGroup; + } else { + this.securityGroup = new ec2.SecurityGroup(this, 'securityGroup', { + vpc: this.vpc, + allowAllOutbound: true, + }); + } + + // vpc flowloggroup + const logGroup = new logs.LogGroup(this, 'textToSqlConstructVPCGroup'); + const vpcFlowLogrole = new iam.Role(this, 'textToSqlConstructRole', { + assumedBy: new iam.ServicePrincipal('vpc-flow-logs.amazonaws.com'), + }); + + // vpc flowlogs + new ec2.FlowLog(this, 'FlowLog', { + resourceType: ec2.FlowLogResourceType.fromVpc(this.vpc), + destination: ec2.FlowLogDestination.toCloudWatchLogs( + logGroup, + vpcFlowLogrole, + ), + }); + + // s3 bucket + if (props?.existingconfigAssetsBucketObj) { + this.configAssetBucket = props.existingconfigAssetsBucketObj; + } else if (props?.configAssetsBucketProps) { + const factories = new ConstructsFactories(this, 'resourceFactory'); + + this.configAssetBucket = factories.s3BucketFactory('configBucket', { + bucketProps: props.configAssetsBucketProps, + }).s3Bucket; + } else { + const factories = new ConstructsFactories(this, 'resourceFactory'); + this.configAssetBucket = factories.s3BucketFactory( + 'configBucket', + {}, + ).s3Bucket; + } + + const textToSQLFunctionRole = new iam.Role( + this, + 'queryConfigFunctionRole', + { + assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), + inlinePolicies: { + LambdaFunctionServiceRolePolicy: new iam.PolicyDocument({ + statements: [ + new iam.PolicyStatement({ + actions: [ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + 'logs:PutLogEvents', + 'bedrock:InvokeModel', + 'bedrock:InvokeModelWithResponseStream', + 's3:GetObject', + 's3:GetBucketLocation', + 's3:ListBucket', + 's3:PutObject', + ], + resources: [ + `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, + 'arn:' + + Aws.PARTITION + + ':s3:::' + + this.configAssetBucket + + '/*', + + 'arn:' + + Aws.PARTITION + + ':bedrock:' + + Aws.REGION + + '::foundation-model/*', + ], + }), + ], + }), + }, + }, + ); + + // Minimum permissions for a Lambda function to execute while accessing a resource within a VPC + textToSQLFunctionRole.addToPolicy( + new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + actions: [ + 'ec2:CreateNetworkInterface', + 'ec2:DeleteNetworkInterface', + 'ec2:AssignPrivateIpAddresses', + 'ec2:UnassignPrivateIpAddresses', + ], + resources: [ + 'arn:' + + Aws.PARTITION + + ':ec2:' + + Aws.REGION + + ':' + + Aws.ACCOUNT_ID + + ':*/*', + ], + }), + ); + + textToSQLFunctionRole.addToPolicy( + new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + actions: ['ec2:DescribeNetworkInterfaces'], + resources: ['*'], + }), + ); + + NagSuppressions.addResourceSuppressions( + textToSQLFunctionRole, + [ + { + id: 'AwsSolutions-IAM5', + reason: 'AWSLambdaBasicExecutionRole is used.', + }, + ], + true, + ); + + const queryConfigFunctionName = generatePhysicalNameV2( + this, + 'queryconfigurerFunction' + this.stage, + { maxLength: 63, lower: true }, + ); + + + const queryConfigFunctionProps = { + functionName: queryConfigFunctionName, + description: + 'Lambda function to do all config work before query generation', + code: lambda.DockerImageCode.fromImageAsset( + path.join(__dirname, '../../../../lambda/aws-text-to-sql/query_config'), + ), + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + securityGroups: [this.securityGroup], + memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), + timeout: Duration.minutes(10), + tracing: this.lambdaTracing, + role: textToSQLFunctionRole, + environment: { + DB_NAME: props.dbName, + METADATA_SOURCE: props.metadataSource, + CONFIG_BUCKET: this.configAssetBucket.bucketName, + KB_ID: props.existingKnowledgeBaseId ?props.existingKnowledgeBaseId : '', + }, + }; + + // Lambda function to load the config and do all pre steps before query generation. + const queryConfigurerFunction = buildDockerLambdaFunction( + this, + 'queryconfigurerFunction' + this.stage, + queryConfigFunctionProps, + props.customQueryConfigurerLambdaProps, + ); + const queryGeneratorFunctionName = generatePhysicalNameV2( + this, + 'queryGeneratorFunction' + this.stage, + { maxLength: 63, lower: true }, + ); + + const queryGeneratorFunctionProps = { + functionName: queryGeneratorFunctionName, + description: + 'Lambda function to generate the query based on user question.', + code: lambda.DockerImageCode.fromImageAsset( + path.join( + __dirname, + '../../../../lambda/aws-text-to-sql/query_generator', + ), + ), + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + securityGroups: [this.securityGroup], + memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), + timeout: Duration.minutes(10), + tracing: this.lambdaTracing, + role: textToSQLFunctionRole, + + }; + + // Lambda function used to generate the query + const queryGeneratorFunction = buildDockerLambdaFunction( + this, + 'queryGeneratorFunction' + this.stage, + queryGeneratorFunctionProps, + props.customQueryGeneratorLambdaProps, + ); + + // Lambda function used to execute the query + + const queryExecutorFunctionName = generatePhysicalNameV2( + this, + 'queryExecutorFunctionName' + this.stage, + { maxLength: 63, lower: true }, + ); + + const queryExecutorFunctionProps = { + functionName: queryExecutorFunctionName, + description: 'Lambda function to execute the query.', + code: lambda.DockerImageCode.fromImageAsset( + path.join( + __dirname, + '../../../../lambda/aws-text-to-sql/query_executor', + ), + ), + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + securityGroups: [this.securityGroup], + memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), + timeout: Duration.minutes(10), + tracing: this.lambdaTracing, + role: textToSQLFunctionRole, + }; + + // Lambda function used to generate the query + const queryExecutorFunction = buildDockerLambdaFunction( + this, + 'queryExecutorFunctionName' + this.stage, + queryExecutorFunctionProps, + props.customQueryExecutorLambdaProps, + ); + + const feedbackQueueName = generatePhysicalNameV2( + this, + 'feedbackQueue' + this.stage, + { maxLength: 63, lower: true }, + ); + + const queue = new sqs.Queue(this, 'userFeedbackQueue', { + queueName: feedbackQueueName, + visibilityTimeout: Duration.seconds(3600), + }); + + // STEP FUNCTION + //const startState = new stepfunctions.Pass(this, "StartState"); + + //const endState = new stepfunctions.Pass(this, 'EndState'); + + const queryConfigState = new tasks.LambdaInvoke( + this, + 'Query Config state', + { + lambdaFunction: queryConfigurerFunction, + outputPath: '$.', + resultPath: '$.queryConfig', + payload: stepfunctions.TaskInput.fromObject({ + user_question: stepfunctions.JsonPath.stringAt('$.user_question'), + }), + + }, + ); + + const reformulatedQuestionFeedbackState = new tasks.SqsSendMessage( + this, + 'reformulatedQuestionFeedbackState', + { + queue, + messageBody: stepfunctions.TaskInput.fromObject({ + message: 'Following is the reformulated question. Do you agree with the new question?', + reformualted_question: stepfunctions.JsonPath.stringAt('$.queryConfig.new_user_question'), + TaskToken: stepfunctions.JsonPath.taskToken, + }), + integrationPattern: + stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, + }, + ); + + const generatedQueryFeedbackOneState = new tasks.SqsSendMessage( + this, + 'generatedQueryFeedbackOneState', + { + queue, + messageBody: stepfunctions.TaskInput.fromObject({ + message: 'Following is the generated query. Do you agree with it or want to override?', + generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.validated_sql_query'), + TaskToken: stepfunctions.JsonPath.taskToken, + }), + integrationPattern: + stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, + }, + ); + + const generatedQueryFeedbackTwoState = new tasks.SqsSendMessage( + this, + 'generatedQueryFeedbackTwoState', + { + queue, + messageBody: stepfunctions.TaskInput.fromObject({ + message: 'Following is the generated query. Do you agree with it or want to override?', + generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.validated_sql_query'), + TaskToken: stepfunctions.JsonPath.taskToken, + }), + integrationPattern: + stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, + }, + ); + + const queryGeneratorOneState = new tasks.LambdaInvoke( + this, + 'queryGeneratorOneState', + { + lambdaFunction: queryGeneratorFunction, + outputPath: '$.queryGenerated', + resultPath: '$.queryConfig', + inputPath: '$.', + }, + ); + + const queryGeneratorTwoState = new tasks.LambdaInvoke( + this, + 'queryGeneratorTwoState', + { + lambdaFunction: queryGeneratorFunction, + outputPath: '$.status', + }, + ); + + const queryExecutorState = new tasks.LambdaInvoke( + this, + 'Query Executor state', + { + lambdaFunction: queryExecutorFunction, + outputPath: '$.status', + }, + ); + + const feedbackChoiceStateOne = new stepfunctions.Choice( + this, + 'feedbackChoiceStateOne', + { + inputPath: '$.queryConfig', + outputPath: '$.', + + }, + ); + const feedbackChoiceStateTwo = new stepfunctions.Choice( + this, + 'feedbackChoiceStateTwo', + { + outputPath: '$.is_feed_back_req', + }, + ); + const feedbackChoiceStateThree = new stepfunctions.Choice( + this, + 'feedbackChoiceStateThree', + { + outputPath: '$.is_feed_back_req', + }, + ); + + const constructProps: EventbridgeToStepfunctionsProps = { + stateMachineProps: { + definition: queryConfigState + .next( + feedbackChoiceStateOne + .when( + stepfunctions.Condition.stringEquals( + '$.semantic_layer_strategy', + 'human', + ), + reformulatedQuestionFeedbackState.next( + queryGeneratorOneState.next( + feedbackChoiceStateTwo + .when( + stepfunctions.Condition.stringEquals( + '$.sql_validation_strategy', + 'human', + ), + generatedQueryFeedbackOneState.next(queryExecutorState), + ) + .otherwise(queryExecutorState), + ), + ), + ) + .otherwise( + queryGeneratorTwoState.next( + feedbackChoiceStateThree + .when( + stepfunctions.Condition.booleanEquals( + '$.is_generated_sql_feedback_req', + true, + ), + generatedQueryFeedbackTwoState.next(queryExecutorState), + ) + .otherwise(queryExecutorState), + ), + ), + ), + }, + eventRuleProps: { + schedule: events.Schedule.rate(Duration.days(1)), + }, + }; + + new EventbridgeToStepfunctions( + this, + 'test-eventbridge-stepfunctions-stack', + constructProps, + ); + } +} From b4f73e9486d5496dfbbbebeb49fe4a80c1d23bf4 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 24 Jul 2024 10:59:57 -0400 Subject: [PATCH 02/31] feat(construct): updated query configurer lambda function --- .../query_config/config_types.py | 11 +++ .../query_config/custom_errors.py | 7 +- lambda/aws-text-to-sql/query_config/lambda.py | 82 +++++++++++++------ .../query_config/requirements.txt | 1 + src/patterns/gen-ai/aws-text-to-sql/index.ts | 2 +- 5 files changed, 75 insertions(+), 28 deletions(-) diff --git a/lambda/aws-text-to-sql/query_config/config_types.py b/lambda/aws-text-to-sql/query_config/config_types.py index 2aafd02e..6af74306 100644 --- a/lambda/aws-text-to-sql/query_config/config_types.py +++ b/lambda/aws-text-to-sql/query_config/config_types.py @@ -10,6 +10,17 @@ class Workflow(StrEnum): class Provider(StrEnum): BEDROCK = 'Bedrock' + +class Database_supported(StrEnum): + SQLITE = 'Sqlite', + POSTGRESQL='postgresql' + MYSQL='mysql' + + + +class Metadata_source(StrEnum): + CONFIG_FILE = 'config_file', + KNOWLEDGE_BASE = 'knowledge_base' class BedrockModel(StrEnum): # ANTHROPIC MODELS diff --git a/lambda/aws-text-to-sql/query_config/custom_errors.py b/lambda/aws-text-to-sql/query_config/custom_errors.py index a6ea9895..b147c4eb 100644 --- a/lambda/aws-text-to-sql/query_config/custom_errors.py +++ b/lambda/aws-text-to-sql/query_config/custom_errors.py @@ -7,4 +7,9 @@ def __init__(self, message): class KnowledgeBaseIDNotFound(Exception): def __init__(self, message): super().__init__(message) - self.message = f"[404] Error occured, Reason :: {message}" \ No newline at end of file + self.message = f"[404] Error occured, Reason :: {message}" + +class FileNotFound(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] File not found, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/lambda.py b/lambda/aws-text-to-sql/query_config/lambda.py index ccef26a3..11954d1c 100644 --- a/lambda/aws-text-to-sql/query_config/lambda.py +++ b/lambda/aws-text-to-sql/query_config/lambda.py @@ -1,8 +1,11 @@ import os import boto3 -from config_types import WorkflowStrategy +import botocore +import tempfile +import json +from config_types import WorkflowStrategy,Metadata_source,Database_supported from bedrock import get_llm -from custom_errors import LLMNotLoadedException,KnowledgeBaseIDNotFound +from custom_errors import LLMNotLoadedException,KnowledgeBaseIDNotFound,FileNotFound # aws libs from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext @@ -29,25 +32,24 @@ @metrics.log_metrics(capture_cold_start_metric=True) def handler(event, context: LambdaContext)-> dict: user_question = event['user_question'] - logger.info("Starting textToSql configurer with input", event) - - keys = ['workflow_config.json', 'few_shots.json','knowledge_layer.json'] - file_contents = load_files_from_s3(keys, prefix='config') + logger.info(f"Load texttpsql config files for input :: {event}", ) + keys = ['config/workflow_config.json', 'config/few_shots.json','config/knowledge_layer.json'] + file_contents = load_files_from_s3(keys) # check if file_contents has key workflow_config.json - if 'workflow_config.json' in file_contents: - config = file_contents['workflow_config.json'] + if 'config/workflow_config.json' in file_contents: + config = json.loads(file_contents['config/workflow_config.json']) else: raise ValueError("workflow_config.json not found in file_contents") - if 'knowledge_layer.json' in file_contents: - config = file_contents['workflow_config.json'] - knowledge_layer = file_contents["config/knowledge_layer.json"] + if 'config/knowledge_layer.json' in file_contents: + knowledge_layer = json.loads(file_contents["config/knowledge_layer.json"]) else: raise ValueError("knowledge_layer.json not found in file_contents") - few_shots_config = file_contents['few_shots.json'] + #print(f'config :: {config}') + few_shots_config = 'config/few_shots.json' execute_query_config = config.get("execute_sql") sql_generation_config = config.get("sql_generation") sql_synth_config = config.get("sql_synth") @@ -59,13 +61,14 @@ def handler(event, context: LambdaContext)-> dict: semantic_layer_strategy = semantic_layer.get('strategy', WorkflowStrategy.AUTO) if (semantic_layer_strategy != WorkflowStrategy.DISABLED ): - new_user_question = get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base,user_question,metadata_source) + reformulated_user_question = get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base,user_question,metadata_source) else: logger.info('Semantic validation strategy disabled, using the same question as asked by the user...') - new_user_question = user_question + reformulated_user_question = user_question response = { - 'new_user_question':new_user_question, + 'reformulated_user_question':reformulated_user_question, + 'user_question':user_question, 'db_name':db_name, 'metadata_source':metadata_source, 'sql_generation_config':sql_generation_config, @@ -75,7 +78,7 @@ def handler(event, context: LambdaContext)-> dict: 'semantic_layer_strategy':semantic_layer_strategy } - + logger.info(f"Returning response :: {response}") return response @@ -83,30 +86,31 @@ def handler(event, context: LambdaContext)-> dict: -def load_files_from_s3(keys, bucket_name=config_bucket, prefix=''): +def load_files_from_s3(keys, bucket_name=config_bucket): """ Load files from an Amazon S3 bucket based on a list of keys and a prefix. Args: keys (list): A list of object keys (file paths) to load. bucket_name (str): The name of the S3 bucket. - prefix (str): The prefix for the bucket name. Returns: dict: A dictionary containing the file contents, with file paths as keys. """ file_contents = {} - + # Iterate over the list of keys for key in keys: try: - file_obj = s3.get_object(Bucket=f"{prefix}/{bucket_name}", Key=key) + logger.info(f"Loading files from S3: {bucket_name} key {key} ") + file_obj = s3.get_object(Bucket=f"{bucket_name}", Key=key) file_data = file_obj['Body'].read().decode('utf-8') file_contents[key] = file_data except Exception as e: - print(f"Error loading file {key}: {e}") + raise FileNotFound(f"Error loading file from S3: {e}") + logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents @@ -133,18 +137,19 @@ def get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base, u if semantic_layer_llm is None: raise LLMNotLoadedException("semantic_layer") - if metadata_source == "config_file": - answer_prompt = load_prompt(semantic_layer['prompt_template_path']) + if metadata_source == Metadata_source.CONFIG_FILE: + downloaded_file=download_file_from_s3(config_bucket, semantic_layer['prompt_template_path']) + answer_prompt = load_prompt(downloaded_file) knowledge_layer_data=knowledge_layer else: - answer_prompt = load_prompt(semantic_layer['kb_prompt_template_path']) + downloaded_file=download_file_from_s3(config_bucket, semantic_layer['kb_prompt_template_path']) + answer_prompt = load_prompt(downloaded_file) knowledge_layer_data = get_knowledge_layer_data(metadata_source, knowledge_base, user_question, semantic_layer) chain = LLMChain(llm=semantic_layer_llm, prompt=answer_prompt, verbose=False) response = chain.predict(knowledge_layer=knowledge_layer_data, question=user_question) new_question = extract_reformulated_question(response) - logger.info(f"Reformulated user question: {new_question}") return new_question @@ -161,7 +166,7 @@ def get_knowledge_layer_data(metadata_source, knowledge_base, user_question, sem Returns: dict: The knowledge layer data. """ - if metadata_source == "config_file": + if metadata_source == Metadata_source.CONFIG_FILE: logger.info('Semantic validation strategy enabled, running LLM against question + knowledge layer config file') return else: @@ -177,3 +182,28 @@ def get_knowledge_layer_data(metadata_source, knowledge_base, user_question, sem return response['retrievalResults'] + + +def download_file_from_s3(bucket_name, object_key): + """ + Download a file from an Amazon S3 bucket. + + Args: + bucket_name (str): The name of the S3 bucket. + object_key (str): The key (path) of the object in the bucket. + + Returns: + bool: True if the file was downloaded successfully, False otherwise. + """ + s3 = boto3.client('s3') + + try: + download_path = os.path.join(tempfile.gettempdir(), os.path.basename(object_key)) + s3.download_file(bucket_name, object_key, download_path) + except botocore.exceptions.ClientError as e: + raise FileNotFound(f"Error loading file from S3: {e}") + + return download_path + + +handler({"user_question": "How many makers are there?"}, None) \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/requirements.txt b/lambda/aws-text-to-sql/query_config/requirements.txt index 91da080e..a9d3adbf 100644 --- a/lambda/aws-text-to-sql/query_config/requirements.txt +++ b/lambda/aws-text-to-sql/query_config/requirements.txt @@ -1,6 +1,7 @@ aws-lambda-powertools aws-xray-sdk boto3>=1.28.61 +botocore>=1.34.147 langchain_aws>=0.1.12 langchain-core>=0.2.22 langchain>=0.2.10 \ No newline at end of file diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index b287f498..edd4f87e 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -340,7 +340,7 @@ export class TextToSql extends BaseClass { DB_NAME: props.dbName, METADATA_SOURCE: props.metadataSource, CONFIG_BUCKET: this.configAssetBucket.bucketName, - KB_ID: props.existingKnowledgeBaseId ?props.existingKnowledgeBaseId : '', + KNOWLEDGE_BASE_ID: props.existingKnowledgeBaseId ?props.existingKnowledgeBaseId : '', }, }; From b588708706a94197c199ad21f7802b23ef299000 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 24 Jul 2024 11:01:40 -0400 Subject: [PATCH 03/31] feat(construct): removed unwanted code --- lambda/aws-text-to-sql/query_config/lambda.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lambda/aws-text-to-sql/query_config/lambda.py b/lambda/aws-text-to-sql/query_config/lambda.py index 11954d1c..3e08a17f 100644 --- a/lambda/aws-text-to-sql/query_config/lambda.py +++ b/lambda/aws-text-to-sql/query_config/lambda.py @@ -206,4 +206,3 @@ def download_file_from_s3(bucket_name, object_key): return download_path -handler({"user_question": "How many makers are there?"}, None) \ No newline at end of file From 9690d81e6b45238006e20b3989af6da63fe85c83 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 25 Jul 2024 14:29:05 -0400 Subject: [PATCH 04/31] feat(construct): updated feedback loop --- .../Dockerfile | 0 .../lambda.py | 16 +- .../requirements.txt | 0 .../aws-text-to-sql/query_executor/Chinook.db | 0 .../bedrock.py | 0 .../query_executor/config_types.py | 54 ++++ .../query_executor/custom_errors.py | 15 ++ .../query_executor/db_helper.py | 34 +++ .../aws-text-to-sql/query_executor/lambda.py | 174 ++++++++++++- .../query_executor/requirements.txt | 10 +- .../query_generator/Chinook.db | 0 .../query_generator/config_types.py | 46 +++- .../query_generator/custom_errors.py | 7 +- .../query_generator/db_helper.py | 18 +- .../aws-text-to-sql/query_generator/lambda.py | 236 ++++++++++++++---- .../query_generator/requirements.txt | 5 +- .../Dockerfile | 0 .../reformulate_question/bedrock.py | 24 ++ .../config_types.py | 6 + .../custom_errors.py | 0 .../lambda.py | 39 +-- .../parser.py | 0 .../requirements.txt | 4 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 182 ++++++++++---- 24 files changed, 723 insertions(+), 147 deletions(-) rename lambda/aws-text-to-sql/{query_config => query_autocorrect}/Dockerfile (100%) rename lambda/aws-text-to-sql/{user_feedback => query_autocorrect}/lambda.py (64%) rename lambda/aws-text-to-sql/{user_feedback => query_autocorrect}/requirements.txt (100%) create mode 100644 lambda/aws-text-to-sql/query_executor/Chinook.db rename lambda/aws-text-to-sql/{query_config => query_executor}/bedrock.py (100%) create mode 100644 lambda/aws-text-to-sql/query_executor/config_types.py create mode 100644 lambda/aws-text-to-sql/query_executor/custom_errors.py create mode 100644 lambda/aws-text-to-sql/query_executor/db_helper.py create mode 100644 lambda/aws-text-to-sql/query_generator/Chinook.db rename lambda/aws-text-to-sql/{user_feedback => reformulate_question}/Dockerfile (100%) create mode 100644 lambda/aws-text-to-sql/reformulate_question/bedrock.py rename lambda/aws-text-to-sql/{query_config => reformulate_question}/config_types.py (91%) rename lambda/aws-text-to-sql/{query_config => reformulate_question}/custom_errors.py (100%) rename lambda/aws-text-to-sql/{query_config => reformulate_question}/lambda.py (84%) rename lambda/aws-text-to-sql/{query_config => reformulate_question}/parser.py (100%) rename lambda/aws-text-to-sql/{query_config => reformulate_question}/requirements.txt (65%) diff --git a/lambda/aws-text-to-sql/query_config/Dockerfile b/lambda/aws-text-to-sql/query_autocorrect/Dockerfile similarity index 100% rename from lambda/aws-text-to-sql/query_config/Dockerfile rename to lambda/aws-text-to-sql/query_autocorrect/Dockerfile diff --git a/lambda/aws-text-to-sql/user_feedback/lambda.py b/lambda/aws-text-to-sql/query_autocorrect/lambda.py similarity index 64% rename from lambda/aws-text-to-sql/user_feedback/lambda.py rename to lambda/aws-text-to-sql/query_autocorrect/lambda.py index 7f9b3dc7..0656f180 100644 --- a/lambda/aws-text-to-sql/user_feedback/lambda.py +++ b/lambda/aws-text-to-sql/query_autocorrect/lambda.py @@ -10,8 +10,6 @@ metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") - - @logger.inject_lambda_context(log_event=True) @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) @@ -21,5 +19,17 @@ def handler(event, context: LambdaContext)-> dict: 'db_name':'dd', 'metadata_source':'dd' } - + index = event['iterator']['index'] + step = event['iterator']['step'] + count = event['iterator']['count'] + + index = index + step + + response.update({ + 'index': index, + 'step': step, + 'count': count, + 'continue': index < count + }) + logger.info("Response Feedback", response) return response diff --git a/lambda/aws-text-to-sql/user_feedback/requirements.txt b/lambda/aws-text-to-sql/query_autocorrect/requirements.txt similarity index 100% rename from lambda/aws-text-to-sql/user_feedback/requirements.txt rename to lambda/aws-text-to-sql/query_autocorrect/requirements.txt diff --git a/lambda/aws-text-to-sql/query_executor/Chinook.db b/lambda/aws-text-to-sql/query_executor/Chinook.db new file mode 100644 index 00000000..e69de29b diff --git a/lambda/aws-text-to-sql/query_config/bedrock.py b/lambda/aws-text-to-sql/query_executor/bedrock.py similarity index 100% rename from lambda/aws-text-to-sql/query_config/bedrock.py rename to lambda/aws-text-to-sql/query_executor/bedrock.py diff --git a/lambda/aws-text-to-sql/query_executor/config_types.py b/lambda/aws-text-to-sql/query_executor/config_types.py new file mode 100644 index 00000000..8f07d909 --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/config_types.py @@ -0,0 +1,54 @@ +from enum import StrEnum + +class FewShotsStrategy(StrEnum): + STATIC = 'static', + DYNAMIC = 'dynamic', + +class WorkflowStrategy(StrEnum): + AUTO = 'auto', + HUMAN_LOOP = 'human', + DISABLED = 'disabled' + +class Database_supported(StrEnum): + SQLITE = 'Sqlite', + POSTGRESQL='postgresql' + MYSQL='mysql' + +class ConfigFilesName(StrEnum): + WORKFLOW_JSON = 'config/workflow_config.json' + KNOWLEDGE_LAYER_JSON = 'config/knowledge_layer.json' + FEW_SHOTS_JSON = 'config/few_shots.json' + + +class Provider(StrEnum): + BEDROCK = 'Bedrock' + + +class BedrockModel(StrEnum): + # ANTHROPIC MODELS + ANTHROPIC_CLAUDE_V2_1 = 'anthropic.claude-v2:1', + ANTHROPIC_CLAUDE_V2 = 'anthropic.claude-v2', + ANTHROPIC_CLAUDE_V3_HAIKU_V1 = 'anthropic.claude-3-haiku-20240307-v1:0', + ANTHROPIC_CLAUDE_V3_SONNET_V1 = 'anthropic.claude-3-sonnet-20240229-v1:0', + ANTHROPIC_CLAUDE_INSTANT_V1 = 'anthropic.claude-instant-v1' + # AMAZON + AMAZON_TITAN_TEXT_LITE_V1 = 'amazon.titan-text-lite-v1', + AMAZON_TITAN_TEXT_EXPRESS_V1 = 'amazon.titan-text-express-v1', + AMAZON_TITAN_EMBED_IMAGE_V1 = 'amazon.titan-embed-image-v1', + AMAZON_TITAN_EMBED_TEXT_V1 = 'amazon.titan-embed-text-v1', + AMAZON_TITAN_IMAGE_GENERATOR_V1 = 'amazon.titan-image-generator-v1', + AMAZON_TITAN_TEXT_PREMIER_V1 = 'amazon.titan-text-premier-v1:0' + +MAX_TOKENS_MAP = { + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2_1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2 : 100000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_SONNET_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_INSTANT_V1 : 100000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_LITE_V1 : 4000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_EXPRESS_V1 : 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_TEXT_V1: 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_IMAGE_V1: 128, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_IMAGE_GENERATOR_V1: 77, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_PREMIER_V1: 32000, +} diff --git a/lambda/aws-text-to-sql/query_executor/custom_errors.py b/lambda/aws-text-to-sql/query_executor/custom_errors.py new file mode 100644 index 00000000..99c3595f --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/custom_errors.py @@ -0,0 +1,15 @@ +class LLMNotLoadedException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[501] The LLM {message} was not loaded correctly" + +class QueryExecutionException(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[502] Failed to run query {message} against DB" + + +class FileNotFound(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] File not found, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_executor/db_helper.py b/lambda/aws-text-to-sql/query_executor/db_helper.py new file mode 100644 index 00000000..41afd739 --- /dev/null +++ b/lambda/aws-text-to-sql/query_executor/db_helper.py @@ -0,0 +1,34 @@ +from langchain_community.utilities import SQLDatabase +from config_types import Database_supported +from aws_lambda_powertools import Logger, Tracer, Metrics + +logger = Logger(service="QUERY_EXECUTOR") +tracer = Tracer(service="QUERY_EXECUTOR") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_EXECUTOR") + + +def get_db_connection(db_name): + try: + match db_name: + case Database_supported.SQLITE: + # SQLDatabase is an SQLAlchemy wrapper around a database, which provides a SQL Toolkit on top of databases. + # sample db - https://www.sqlitetutorial.net/wp-content/uploads/2018/03/sqlite-sample-database-diagram.pdf + print(f"fetching db schema for {db_name}") + db = SQLDatabase.from_uri("sqlite:///:memory:", sample_rows_in_table_info=3) + print(db.get_usable_table_names()) + + # db = SQLDatabase.from_uri("sqlite:///:memory:", sample_rows_in_table_info=3) + # print(db.get_usable_table_names()) + return db + case Database_supported.POSTGRESQL: + print("Retrieve db schema from postgresql") + # update connection url + return SQLDatabase.from_uri("postgresql://:@:/", sample_rows_in_table_info=3) + case Database_supported.MYSQL: + print("Retrieve db schema from mysql") + return SQLDatabase.from_uri("mysql://:@:/", sample_rows_in_table_info=3) + + case _: + print(f"Error: {db_name} database is not supported.") + except Exception as exp: + logger.error(f'response :: {exp}') diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index 127d13fe..b4b39204 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -1,27 +1,183 @@ import os - +import time +import json +import boto3 +from bedrock import get_llm +from langchain_core.prompts import PromptTemplate +from langchain.chains import LLMChain +from config_types import WorkflowStrategy,ConfigFilesName +from custom_errors import LLMNotLoadedException,FileNotFound +from db_helper import get_db_connection # aws libs from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext -logger = Logger(service="QUERY_CONFIG") -tracer = Tracer(service="QUERY_CONFIG") -metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") +logger = Logger(service="QUERY_EXECUTOR") +tracer = Tracer(service="QUERY_EXECUTOR") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_EXECUTOR") db_name = os.environ["DB_NAME"] -metadata_source = os.environ["METADATA_SOURCE"] +config_bucket = os.environ["CONFIG_BUCKET"] +s3 = boto3.client('s3') @logger.inject_lambda_context(log_event=True) @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) def handler(event, context: LambdaContext)-> dict: - logger.info("Execute query", event) + logger.info("Executing query for the input", event) response = { - 'db_name':db_name, - 'metadata_source':metadata_source + 'status':'Fail', + 'result':'' } - + + + keys = [ConfigFilesName.WORKFLOW_JSON,ConfigFilesName.KNOWLEDGE_LAYER_JSON] + file_contents = load_files_from_s3(keys) + + if ConfigFilesName.WORKFLOW_JSON in file_contents: + config = json.loads(file_contents[ConfigFilesName.WORKFLOW_JSON]) + + else: + raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") + + + execute_query_config = config.get("execute_sql") + user_question = event.get("reformulated_user_question") + + print(f"Retrieve schema from:: {db_name}") + generated_sql_query = event.get("generated_query") + sql_synth = config.get("sql_synth") + + + execute_query_strategy = execute_query_config.get('strategy', WorkflowStrategy.AUTO) + + if (execute_query_strategy != WorkflowStrategy.DISABLED): + db = get_db_connection(db_name) + print("db tables::") + print(db.get_usable_table_names()) + query_result = execute_query(generated_sql_query,db) + if "QUERY_ERROR" in query_result: + response['status'] = 'QUERY_ERROR' + else: + response['status'] = 'success' + else: + logger.info('Executing query against the database disabled') + response['status'] = 'success' + + formatted_output = format_output(query_result, sql_synth,user_question,generated_sql_query) + response ['result'] = formatted_output + return response + + + +def execute_query(generated_sql_query,db): + """ + Execute a SQL query against the database. + + Args: + generated_sql_query (str): The SQL query to be executed. + db (object): The database connection object. + + Returns: + str: The result of the query execution or an error message. + """ + + logger.info(f'Executing query against the database :: {generated_sql_query}') + try: + start_time = time.time() + query_result = db.run(generated_sql_query) + end_time = time.time() + + except Exception as exp: + end_time = time.time() + execution_time = end_time - start_time + logger.error(f"Error executing query: {exp}") + query_result = "QUERY_ERROR :: " + str(exp) + + else: + execution_time = end_time - start_time + + logger.info(f"DB execution Query result : {query_result}") + logger.info(f"Query execution time: {execution_time} seconds") + + return query_result + + + +def format_output(query_result,sql_synth,user_question,generated_sql_query): + """ + Format the output of a SQL query execution based on the provided configurations. + + Args: + query_result (str): The result of the SQL query execution. + user_question (str): The user's original question. + generated_sql_query (str): The SQL query generated from the user's question. + sql_synth (dict): Configuration for the SQL synthesis strategy. + execute_query_strategy (types.WorkflowStrategy): The strategy for executing the SQL query. + bedrock (object): The Bedrock object for accessing language models. + verbose (bool, optional): Whether to enable verbose logging. Defaults to False. + + Returns: + str: The formatted output response. + """ + + sql_synthesize_strategy = sql_synth.get('strategy', WorkflowStrategy.AUTO) + if sql_synthesize_strategy != WorkflowStrategy.DISABLED: + answer_synth_llm = get_llm(sql_synth) + if answer_synth_llm is None: + raise LLMNotLoadedException("answer_synth_llm") + + # Define the prompt template for answer synthesis + answer_prompt = PromptTemplate.from_template( + """Given the following user question, corresponding SQL query, and SQL result, answer the user question. + + Question: {question} + SQL Query: {query} + SQL Result: {result} + Answer: """ + ) + + chain = LLMChain(llm=answer_synth_llm, prompt=answer_prompt, verbose=False) + synthesized_answer = chain.predict(question=user_question, query=generated_sql_query, result=query_result) + final_response = synthesized_answer + + logger.info(f"Final response:: {final_response}") + + return final_response + + + +def load_files_from_s3(keys, bucket_name=config_bucket): + """ + Load files from an Amazon S3 bucket based on a list of keys and a prefix. + + Args: + keys (list): A list of object keys (file paths) to load. + bucket_name (str): The name of the S3 bucket. + + Returns: + dict: A dictionary containing the file contents, with file paths as keys. + """ + file_contents = {} + + # Iterate over the list of keys + for key in keys: + try: + logger.info(f"Loading files from S3: {bucket_name} key {key} ") + file_obj = s3.get_object(Bucket=f"{bucket_name}", Key=key) + file_data = file_obj['Body'].read().decode('utf-8') + + file_contents[key] = file_data + except Exception as e: + raise FileNotFound(f"Error loading file from S3: {e}") + + logger.info(f"Loaded {len(file_contents)} files from S3") + return file_contents + +input = { + +} \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_executor/requirements.txt b/lambda/aws-text-to-sql/query_executor/requirements.txt index 6ace08a2..3b173330 100644 --- a/lambda/aws-text-to-sql/query_executor/requirements.txt +++ b/lambda/aws-text-to-sql/query_executor/requirements.txt @@ -1,5 +1,7 @@ -aws-lambda-powertools -aws-xray-sdk +aws-lambda-powertools>=2.41.0 +aws-xray-sdk>=2.14.0 boto3>=1.28.61 -requests==2.32.0 -requests-aws4auth==1.2.3 +langchain_aws>=0.1.12 +langchain-core>=0.2.22 +langchain>=0.2.10 +langchain_community>=0.2.10 diff --git a/lambda/aws-text-to-sql/query_generator/Chinook.db b/lambda/aws-text-to-sql/query_generator/Chinook.db new file mode 100644 index 00000000..e69de29b diff --git a/lambda/aws-text-to-sql/query_generator/config_types.py b/lambda/aws-text-to-sql/query_generator/config_types.py index 110d2c27..79759e85 100644 --- a/lambda/aws-text-to-sql/query_generator/config_types.py +++ b/lambda/aws-text-to-sql/query_generator/config_types.py @@ -7,4 +7,48 @@ class FewShotsStrategy(StrEnum): class WorkflowStrategy(StrEnum): AUTO = 'auto', HUMAN_LOOP = 'human', - DISABLED = 'disabled' \ No newline at end of file + DISABLED = 'disabled' + +class Database_supported(StrEnum): + SQLITE = 'Sqlite', + POSTGRESQL='postgresql' + MYSQL='mysql' + + +class Provider(StrEnum): + BEDROCK = 'Bedrock' + +class ConfigFilesName(StrEnum): + WORKFLOW_JSON = 'config/workflow_config.json' + KNOWLEDGE_LAYER_JSON = 'config/knowledge_layer.json' + FEW_SHOTS_JSON = 'config/few_shots.json' + + +class BedrockModel(StrEnum): + # ANTHROPIC MODELS + ANTHROPIC_CLAUDE_V2_1 = 'anthropic.claude-v2:1', + ANTHROPIC_CLAUDE_V2 = 'anthropic.claude-v2', + ANTHROPIC_CLAUDE_V3_HAIKU_V1 = 'anthropic.claude-3-haiku-20240307-v1:0', + ANTHROPIC_CLAUDE_V3_SONNET_V1 = 'anthropic.claude-3-sonnet-20240229-v1:0', + ANTHROPIC_CLAUDE_INSTANT_V1 = 'anthropic.claude-instant-v1' + # AMAZON + AMAZON_TITAN_TEXT_LITE_V1 = 'amazon.titan-text-lite-v1', + AMAZON_TITAN_TEXT_EXPRESS_V1 = 'amazon.titan-text-express-v1', + AMAZON_TITAN_EMBED_IMAGE_V1 = 'amazon.titan-embed-image-v1', + AMAZON_TITAN_EMBED_TEXT_V1 = 'amazon.titan-embed-text-v1', + AMAZON_TITAN_IMAGE_GENERATOR_V1 = 'amazon.titan-image-generator-v1', + AMAZON_TITAN_TEXT_PREMIER_V1 = 'amazon.titan-text-premier-v1:0' + +MAX_TOKENS_MAP = { + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2_1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V2 : 100000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_V3_SONNET_V1 : 200000, + Provider.BEDROCK+'.'+BedrockModel.ANTHROPIC_CLAUDE_INSTANT_V1 : 100000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_LITE_V1 : 4000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_EXPRESS_V1 : 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_TEXT_V1: 8000, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_EMBED_IMAGE_V1: 128, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_IMAGE_GENERATOR_V1: 77, + Provider.BEDROCK+'.'+BedrockModel.AMAZON_TITAN_TEXT_PREMIER_V1: 32000, +} diff --git a/lambda/aws-text-to-sql/query_generator/custom_errors.py b/lambda/aws-text-to-sql/query_generator/custom_errors.py index e7cbc4af..eb8f4836 100644 --- a/lambda/aws-text-to-sql/query_generator/custom_errors.py +++ b/lambda/aws-text-to-sql/query_generator/custom_errors.py @@ -13,4 +13,9 @@ def __init__(self, message): class QueryGenerationException(Exception): def __init__(self, message): super().__init__(message) - self.message = f"[502] Failed to generate query {message}." \ No newline at end of file + self.message = f"[502] Failed to generate query {message}." + +class FileNotFound(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] File not found, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/db_helper.py b/lambda/aws-text-to-sql/query_generator/db_helper.py index c4ab452a..842d209a 100644 --- a/lambda/aws-text-to-sql/query_generator/db_helper.py +++ b/lambda/aws-text-to-sql/query_generator/db_helper.py @@ -1,26 +1,30 @@ from langchain_community.utilities import SQLDatabase +from config_types import Database_supported +from aws_lambda_powertools import Logger, Tracer, Metrics + +logger = Logger(service="QUERY_GENERATOR") +tracer = Tracer(service="QUERY_GENERATOR") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_GENERATOR") def get_db_connection(db_name): try: match db_name: - case "sqlite": + case Database_supported.SQLITE: # SQLDatabase is an SQLAlchemy wrapper around a database, which provides a SQL Toolkit on top of databases. # sample db - https://www.sqlitetutorial.net/wp-content/uploads/2018/03/sqlite-sample-database-diagram.pdf - db = SQLDatabase.from_uri("sqlite:///Chinook.db", sample_rows_in_table_info=3) - print(db.dialect) + db = SQLDatabase.from_uri("sqlite:///:memory:", sample_rows_in_table_info=3) + print(db.get_usable_table_names()) return db - case "postgresql": + case Database_supported.POSTGRESQL: print("Retrieve db schema from postgresql") # update connection url return SQLDatabase.from_uri("postgresql://:@:/", sample_rows_in_table_info=3) - case "mysql": + case Database_supported.MYSQL: print("Retrieve db schema from mysql") return SQLDatabase.from_uri("mysql://:@:/", sample_rows_in_table_info=3) case _: print(f"Error: {db_name} database is not supported.") - exit(1) except Exception as exp: logger.error(f'response :: {exp}') - exit(1) \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index 50202959..49247ad3 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -1,25 +1,27 @@ import os - - +import boto3 +import json # aws libs from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext from bedrock import get_llm -from custom_errors import LLMNotLoadedException,StrategyNotFoundException,QueryGenerationException +from custom_errors import LLMNotLoadedException,StrategyNotFoundException,QueryGenerationException,FileNotFound from db_helper import get_db_connection -from config_types import FewShotsStrategy,WorkflowStrategy +from config_types import FewShotsStrategy,WorkflowStrategy,ConfigFilesName from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate,ChatPromptTemplate from langchain.chains import create_sql_query_chain from langchain_core.output_parsers import StrOutputParser from parser import extract_sql_query -logger = Logger(service="QUERY_CONFIG") -tracer = Tracer(service="QUERY_CONFIG") -metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_CONFIG") - +logger = Logger(service="QUERY_GENERATOR") +tracer = Tracer(service="QUERY_GENERATOR") +metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_GENERATOR") +s3 = boto3.client('s3') +db_name = os.environ["DB_NAME"] +config_bucket = os.environ["CONFIG_BUCKET"] @logger.inject_lambda_context(log_event=True) @tracer.capture_lambda_handler @@ -27,14 +29,17 @@ def handler(event, context: LambdaContext)-> dict: logger.info(f"Starting query Generator with input :: {event}" ) - sql_generation_config = event.get("sql_generation") - db_name = event.get("db_name") - user_question = event.get("user_question") - few_shots_config = event.get("few_shots") - sql_generation_config = event.get("sql_generation_config") + keys = [ConfigFilesName.WORKFLOW_JSON] + file_contents = load_files_from_s3(keys,config_bucket) - sql_validation_strategy = sql_generation_config.get('strategy', WorkflowStrategy.AUTO) + if ConfigFilesName.WORKFLOW_JSON in file_contents: + config = json.loads(file_contents[ConfigFilesName.WORKFLOW_JSON]) + else: + raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") + + sql_generation_config = config.get("sql_generation") + sql_validation_strategy = sql_generation_config.get('strategy', WorkflowStrategy.AUTO) text_to_sql_query_generation_llm = get_llm(sql_generation_config) if text_to_sql_query_generation_llm is None: raise LLMNotLoadedException("text_to_sql_query_generation_llm") @@ -44,20 +49,32 @@ def handler(event, context: LambdaContext)-> dict: logger.info(f"table_info :: {db.get_usable_table_names()}" ) sql_generation_strategy = sql_generation_config.get('few_shots_strategy', FewShotsStrategy.STATIC) + reformulated_user_question = event.get("reformulated_user_question") + original_user_question = event.get("user_question") + + logger.info(f' reforumlated question :: {reformulated_user_question}') + logger.info(f' original question ::{original_user_question}') + if sql_generation_strategy == FewShotsStrategy.STATIC: - max_number_few_shots = sql_generation_config.get("few_shots_max", 5) - few_shots_prompt = get_fewshots_static_prompt(few_shots_config,max_number_few_shots) + # Static strategy means data is loaded from a user-provided file + few_shots_prompt = get_fewshots_static_prompt(event, sql_generation_config, + original_user_question,table_info) + elif sql_generation_strategy == FewShotsStrategy.DYNAMIC: few_shots_prompt = get_fewshots_dynamic_prompt() + else: raise StrategyNotFoundException(sql_generation_strategy) - generated_sql_query = generate_sql_from_text(text_to_sql_query_generation_llm,user_question,db,few_shots_prompt) + + generated_sql_query = generate_sql_from_text(text_to_sql_query_generation_llm, + reformulated_user_question,db,few_shots_prompt) if generated_sql_query is None: logger.error('Query generation failed') if (sql_validation_strategy != WorkflowStrategy.DISABLED): - validated_sql_query = valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy,generated_sql_query,db) + validated_sql_query = valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy, + generated_sql_query,db) else: logger.info('Semantic validation strategy not enabled, running sql query as is') @@ -73,41 +90,137 @@ def get_fewshots_dynamic_prompt(): logger.info("Not implemented right now") -def get_fewshots_static_prompt(few_shots,max_number_few_shots,autocorrect,db_name,error=None,generated_sql=None): - # Static strategy means data is loaded from a user-provided file - +def get_fewshots_static_prompt(event, sql_generation_config,original_user_question,table_info): + """ + Generate a few-shot prompt for SQL generation based on the provided event, + configuration,and user question. + + Args: + event (dict): The event data containing information about the generated query + and query status. + sql_generation_config (dict): The configuration for SQL generation, + including the maximum number of few-shots. + orignal_user_question (str): The user's original question. + table_info (str): Information about the relevant tables. + + Raises: + ValueError: If the few-shot configuration file is not found in the file contents. + + Returns: + str: The generated few-shot prompt. + """ + few_shots_config = ConfigFilesName.FEW_SHOTS_JSON + file_contents = load_files_from_s3([few_shots_config], config_bucket) + + if ConfigFilesName.FEW_SHOTS_JSON in file_contents: + few_shots = json.loads(file_contents[ConfigFilesName.FEW_SHOTS_JSON]) + else: + raise ValueError(f"{ConfigFilesName.FEW_SHOTS_JSON} not found in file_contents") + + generated_query = event.get("generated_query", None) + query_status = event.get("queryStatus", None) + + autocorrect = False + if query_status is not None and query_status.get("Payload").get("status") == "QUERY_ERROR": + autocorrect = True + error_message = query_status.get("Payload").get("result") + else: + logger.info("autocorrect is False, execute query without autocorrect") + + max_number_few_shots = sql_generation_config.get("few_shots_max", 5) + + # Generate the few-shot prompt based on the autocorrect flag if autocorrect: - # Auto-correction mode - logger.info("Autocorrect is enabled, running LLM against few shots prompt") - example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") - prompt_prefix = f"You are a {db_name} expert. This is the error {error} in this sql {generated_sql}. To correct this error, please generate an alternative syntactically correct {db_name} query for the question {user_question} and write it between the xml tags ." - prompt = FewShotPromptTemplate( - examples=few_shots[:max_number_few_shots], - example_prompt=example_prompt, - prefix=prompt_prefix + " Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries.", - suffix="User input: {input}\n ", - input_variables=["input", "top_k", "table_info"], - ) + few_shots_prompt = get_fewshots_static_autocorrect_prompt( + few_shots, + max_number_few_shots, + original_user_question, + error_message, + generated_query, + table_info + ) else: - # Regular mode - example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") - prompt = FewShotPromptTemplate( - examples=few_shots[:max_number_few_shots], - example_prompt=example_prompt, - prefix="You are a SQLlite expert. Given an input question, create a syntactically correct SQLlite query to run and write it between the xml tags . Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries.", - suffix="User input: {input}\n ", - input_variables=["input", "top_k", "table_info"], - ) - + few_shots_prompt = get_fewshots_static_regular_prompt( + few_shots, + max_number_few_shots, + table_info + ) + + return few_shots_prompt + + +def get_fewshots_static_autocorrect_prompt(few_shots, max_number_few_shots, user_question, + error, generated_sql, table_info ): + """ + Generate a few-shot prompt for SQL auto-correction based on the provided parameters. + + Args: + few_shots (list): A list of few-shot examples. + max_number_few_shots (int): The maximum number of few-shots to include in the prompt. + user_question (str): The user's original question. + error (str): The error message associated with the generated SQL query. + generated_sql (str): The generated SQL query that caused the error. + table_info (str): Information about the relevant tables. + + Returns: + PromptTemplate: The generated few-shot prompt for SQL auto-correction. + """ + logger.info("Autocorrect is enabled, running LLM against few shots prompt") + + example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") + prompt_prefix = f"You are a {db_name} expert. This is the error {error} in this sql {generated_sql}. To correct this error, please generate an alternative syntactically correct {db_name} query for the question {user_question} and write it between the xml tags ." + prompt_suffix = "User input: {input}\n " + prompt = FewShotPromptTemplate( + examples=few_shots[:max_number_few_shots], + example_prompt=example_prompt, + prefix=prompt_prefix + " Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries.", + suffix=prompt_suffix, + input_variables=["input", "top_k", "table_info"], + ) + + return prompt + + + +def get_fewshots_static_regular_prompt(few_shots, max_number_few_shots, table_info): + """ + Generate a few-shot prompt for regular SQL generation based on the + provided parameters. + + Args: + few_shots (list): A list of few-shot examples. + max_number_few_shots (int): The maximum number of few-shots to include in the prompt. + top_k (int): The maximum number of rows to return in the SQL query. + table_info (str): Information about the relevant tables. + + Returns: + PromptTemplate: The generated few-shot prompt for regular SQL generation. + """ + logger.info("Running LLM against few shots prompt") + + example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") + prompt_prefix = "You are a SQLlite expert. Given an input question, create a syntactically correct SQLlite query to run and write it between the xml tags . Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries." + prompt_suffix = "User input: {input}\n " + prompt = FewShotPromptTemplate( + examples=few_shots[:max_number_few_shots], + example_prompt=example_prompt, + prefix=prompt_prefix, + suffix=prompt_suffix, + input_variables=["input", "top_k", "table_info"], + ) + return prompt + def generate_sql_from_text(text_to_sql_query_generation_llm,user_question, db, prompt): """ - Generate a SQL query from the given user question using a language model and the provided configurations. + Generate a SQL query from the given user question using a language model + and the provided configurations. Args: - text_to_sql_query_generation_llm (LLM): The language model for SQL query generation. + text_to_sql_query_generation_llm (LLM): The language model for + SQL query generation. db (Database): The database object. prompt (str): The prompt to use for SQL query generation. user_question (str): The user's natural language question. @@ -129,8 +242,6 @@ def generate_sql_from_text(text_to_sql_query_generation_llm,user_question, db, p except Exception as e: raise QueryGenerationException("generated_sql_query") - - logger.info(f' return Generated SQL query: {generated_sql_query}') return generated_sql_query @@ -148,7 +259,8 @@ def valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy,generat - Casting to the correct data type - Using the proper columns for joins - If there are any of the above mistakes, rewrite the query. If there are no mistakes, just reproduce the original query. + If there are any of the above mistakes, rewrite the query. + If there are no mistakes, just reproduce the original query. Output the final SQL query only between tags .""" @@ -162,3 +274,33 @@ def valiate_sql(text_to_sql_query_generation_llm,sql_validation_strategy,generat logger.info(f'Validated SQL query: {validated_sql_query}') return validated_sql_query + + + +def load_files_from_s3(keys, bucket_name): + """ + Load files from an Amazon S3 bucket based on a list of keys and a prefix. + + Args: + keys (list): A list of object keys (file paths) to load. + bucket_name (str): The name of the S3 bucket. + + Returns: + dict: A dictionary containing the file contents, with file paths as keys. + """ + file_contents = {} + + # Iterate over the list of keys + for key in keys: + try: + logger.info(f"Loading files from S3: {bucket_name} key {key} ") + file_obj = s3.get_object(Bucket=f"{bucket_name}", Key=key) + file_data = file_obj['Body'].read().decode('utf-8') + + file_contents[key] = file_data + except Exception as e: + raise FileNotFound(f"Error loading file from S3: {e}") + + logger.info(f"Loaded {len(file_contents)} files from S3") + return file_contents + diff --git a/lambda/aws-text-to-sql/query_generator/requirements.txt b/lambda/aws-text-to-sql/query_generator/requirements.txt index bec89cda..c196a62b 100644 --- a/lambda/aws-text-to-sql/query_generator/requirements.txt +++ b/lambda/aws-text-to-sql/query_generator/requirements.txt @@ -1,6 +1,7 @@ -aws-lambda-powertools -aws-xray-sdk +aws-lambda-powertools>=2.41.0 +aws-xray-sdk>=2.14.0 boto3>=1.28.61 +botocore>=1.34.147 langchain_aws>=0.1.12 langchain-core>=0.2.22 langchain>=0.2.10 diff --git a/lambda/aws-text-to-sql/user_feedback/Dockerfile b/lambda/aws-text-to-sql/reformulate_question/Dockerfile similarity index 100% rename from lambda/aws-text-to-sql/user_feedback/Dockerfile rename to lambda/aws-text-to-sql/reformulate_question/Dockerfile diff --git a/lambda/aws-text-to-sql/reformulate_question/bedrock.py b/lambda/aws-text-to-sql/reformulate_question/bedrock.py new file mode 100644 index 00000000..ebc1e9b3 --- /dev/null +++ b/lambda/aws-text-to-sql/reformulate_question/bedrock.py @@ -0,0 +1,24 @@ +from aws_lambda_powertools import Logger +from langchain_aws import BedrockLLM +from langchain_aws import ChatBedrock +from config_types import BedrockModel + +logger = Logger(service="TEXT2SQL") + +def get_llm(config): + + try: + model_id=config.get("model_id", BedrockModel.ANTHROPIC_CLAUDE_V3_HAIKU_V1) + + if ("claude-3" in model_id): + llm = ChatBedrock( + model_id=model_id + ) + else: + llm = BedrockLLM( + model_id=model_id + ) + return llm + except Exception as exp: + logger.error(f' response :: {exp}') + return None \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_config/config_types.py b/lambda/aws-text-to-sql/reformulate_question/config_types.py similarity index 91% rename from lambda/aws-text-to-sql/query_config/config_types.py rename to lambda/aws-text-to-sql/reformulate_question/config_types.py index 6af74306..cb29af09 100644 --- a/lambda/aws-text-to-sql/query_config/config_types.py +++ b/lambda/aws-text-to-sql/reformulate_question/config_types.py @@ -16,6 +16,12 @@ class Database_supported(StrEnum): POSTGRESQL='postgresql' MYSQL='mysql' + +class ConfigFilesName(StrEnum): + WORKFLOW_JSON = 'config/workflow_config.json' + KNOWLEDGE_LAYER_JSON = 'config/knowledge_layer.json' + FEW_SHOTS_JSON = 'config/few_shots.json' + class Metadata_source(StrEnum): diff --git a/lambda/aws-text-to-sql/query_config/custom_errors.py b/lambda/aws-text-to-sql/reformulate_question/custom_errors.py similarity index 100% rename from lambda/aws-text-to-sql/query_config/custom_errors.py rename to lambda/aws-text-to-sql/reformulate_question/custom_errors.py diff --git a/lambda/aws-text-to-sql/query_config/lambda.py b/lambda/aws-text-to-sql/reformulate_question/lambda.py similarity index 84% rename from lambda/aws-text-to-sql/query_config/lambda.py rename to lambda/aws-text-to-sql/reformulate_question/lambda.py index 3e08a17f..b60e039c 100644 --- a/lambda/aws-text-to-sql/query_config/lambda.py +++ b/lambda/aws-text-to-sql/reformulate_question/lambda.py @@ -3,7 +3,7 @@ import botocore import tempfile import json -from config_types import WorkflowStrategy,Metadata_source,Database_supported +from config_types import WorkflowStrategy,Metadata_source,ConfigFilesName from bedrock import get_llm from custom_errors import LLMNotLoadedException,KnowledgeBaseIDNotFound,FileNotFound # aws libs @@ -24,6 +24,7 @@ config_bucket = os.environ["CONFIG_BUCKET"] knowledge_base_id = os.environ["KNOWLEDGE_BASE_ID"] + s3 = boto3.client('s3') bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') @@ -34,30 +35,23 @@ def handler(event, context: LambdaContext)-> dict: user_question = event['user_question'] logger.info(f"Load texttpsql config files for input :: {event}", ) - keys = ['config/workflow_config.json', 'config/few_shots.json','config/knowledge_layer.json'] + keys = [ConfigFilesName.WORKFLOW_JSON,ConfigFilesName.KNOWLEDGE_LAYER_JSON] file_contents = load_files_from_s3(keys) # check if file_contents has key workflow_config.json - if 'config/workflow_config.json' in file_contents: - config = json.loads(file_contents['config/workflow_config.json']) + if ConfigFilesName.WORKFLOW_JSON in file_contents: + config = json.loads(file_contents[ConfigFilesName.WORKFLOW_JSON]) else: - raise ValueError("workflow_config.json not found in file_contents") + raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") - if 'config/knowledge_layer.json' in file_contents: - knowledge_layer = json.loads(file_contents["config/knowledge_layer.json"]) + if ConfigFilesName.KNOWLEDGE_LAYER_JSON in file_contents: + knowledge_layer = json.loads(file_contents[ConfigFilesName.KNOWLEDGE_LAYER_JSON]) else: - raise ValueError("knowledge_layer.json not found in file_contents") + raise ValueError(f"{ConfigFilesName.KNOWLEDGE_LAYER_JSON} not found in file_contents") - #print(f'config :: {config}') - few_shots_config = 'config/few_shots.json' - execute_query_config = config.get("execute_sql") - sql_generation_config = config.get("sql_generation") - sql_synth_config = config.get("sql_synth") semantic_layer = config.get("semantic_layer") knowledge_base=config.get("knowledge_base") - - semantic_layer_strategy = semantic_layer.get('strategy', WorkflowStrategy.AUTO) if (semantic_layer_strategy != WorkflowStrategy.DISABLED ): @@ -68,24 +62,14 @@ def handler(event, context: LambdaContext)-> dict: response = { 'reformulated_user_question':reformulated_user_question, - 'user_question':user_question, - 'db_name':db_name, - 'metadata_source':metadata_source, - 'sql_generation_config':sql_generation_config, - 'sql_synth':sql_synth_config, - 'few_shots_config':few_shots_config, - 'execute_query_config':execute_query_config, - 'semantic_layer_strategy':semantic_layer_strategy - + 'user_question':user_question, + 'semantic_layer_strategy':semantic_layer_strategy } logger.info(f"Returning response :: {response}") return response - - - def load_files_from_s3(keys, bucket_name=config_bucket): """ Load files from an Amazon S3 bucket based on a list of keys and a prefix. @@ -205,4 +189,3 @@ def download_file_from_s3(bucket_name, object_key): return download_path - diff --git a/lambda/aws-text-to-sql/query_config/parser.py b/lambda/aws-text-to-sql/reformulate_question/parser.py similarity index 100% rename from lambda/aws-text-to-sql/query_config/parser.py rename to lambda/aws-text-to-sql/reformulate_question/parser.py diff --git a/lambda/aws-text-to-sql/query_config/requirements.txt b/lambda/aws-text-to-sql/reformulate_question/requirements.txt similarity index 65% rename from lambda/aws-text-to-sql/query_config/requirements.txt rename to lambda/aws-text-to-sql/reformulate_question/requirements.txt index a9d3adbf..cf60174e 100644 --- a/lambda/aws-text-to-sql/query_config/requirements.txt +++ b/lambda/aws-text-to-sql/reformulate_question/requirements.txt @@ -1,5 +1,5 @@ -aws-lambda-powertools -aws-xray-sdk +aws-lambda-powertools>=2.41.0 +aws-xray-sdk>=2.14.0 boto3>=1.28.61 botocore>=1.34.147 langchain_aws>=0.1.12 diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index edd4f87e..68168b14 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -258,7 +258,7 @@ export class TextToSql extends BaseClass { 'arn:' + Aws.PARTITION + ':s3:::' + - this.configAssetBucket + + this.configAssetBucket.bucketName + '/*', 'arn:' + @@ -315,19 +315,19 @@ export class TextToSql extends BaseClass { true, ); - const queryConfigFunctionName = generatePhysicalNameV2( + const reformulateQuestionFunctionName = generatePhysicalNameV2( this, - 'queryconfigurerFunction' + this.stage, + 'reformulateQuestionFunction' + this.stage, { maxLength: 63, lower: true }, ); - const queryConfigFunctionProps = { - functionName: queryConfigFunctionName, + const reformulateQuestionFunctionProps = { + functionName: reformulateQuestionFunctionName, description: - 'Lambda function to do all config work before query generation', + 'Lambda function to reformulate user question', code: lambda.DockerImageCode.fromImageAsset( - path.join(__dirname, '../../../../lambda/aws-text-to-sql/query_config'), + path.join(__dirname, '../../../../lambda/aws-text-to-sql/reformulate_question'), ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, @@ -345,12 +345,13 @@ export class TextToSql extends BaseClass { }; // Lambda function to load the config and do all pre steps before query generation. - const queryConfigurerFunction = buildDockerLambdaFunction( + const reformulateQuestionFunction = buildDockerLambdaFunction( this, - 'queryconfigurerFunction' + this.stage, - queryConfigFunctionProps, + 'reformulateQuestionFunction' + this.stage, + reformulateQuestionFunctionProps, props.customQueryConfigurerLambdaProps, ); + const queryGeneratorFunctionName = generatePhysicalNameV2( this, 'queryGeneratorFunction' + this.stage, @@ -374,6 +375,11 @@ export class TextToSql extends BaseClass { timeout: Duration.minutes(10), tracing: this.lambdaTracing, role: textToSQLFunctionRole, + environment: { + DB_NAME: props.dbName, + CONFIG_BUCKET: this.configAssetBucket.bucketName, + }, + }; @@ -409,6 +415,10 @@ export class TextToSql extends BaseClass { timeout: Duration.minutes(10), tracing: this.lambdaTracing, role: textToSQLFunctionRole, + environment: { + DB_NAME: props.dbName, + CONFIG_BUCKET: this.configAssetBucket.bucketName, + }, }; // Lambda function used to generate the query @@ -419,6 +429,42 @@ export class TextToSql extends BaseClass { props.customQueryExecutorLambdaProps, ); + // lambda function for autocorrect loop + + const autocorrectQueryFunctionName = generatePhysicalNameV2( + this, + 'autocorrectQueryFunction' + this.stage, + { maxLength: 63, lower: true }, + ); + + const autocorrectQueryFunctionProps = { + functionName: autocorrectQueryFunctionName, + description: + 'Lambda function to keep the count of autocorrect loop.', + code: lambda.DockerImageCode.fromImageAsset( + path.join( + __dirname, + '../../../../lambda/aws-text-to-sql/query_autocorrect', + ), + ), + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + securityGroups: [this.securityGroup], + memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), + timeout: Duration.minutes(10), + tracing: this.lambdaTracing, + role: textToSQLFunctionRole, + + }; + + const autocorrectQueryFunction = buildDockerLambdaFunction( + this, + 'autocorrectQueryFunction' + this.stage, + autocorrectQueryFunctionProps, + undefined, + ); + + const feedbackQueueName = generatePhysicalNameV2( this, 'feedbackQueue' + this.stage, @@ -431,16 +477,16 @@ export class TextToSql extends BaseClass { }); // STEP FUNCTION - //const startState = new stepfunctions.Pass(this, "StartState"); + const completedState = new stepfunctions.Pass(this, 'Done'); //const endState = new stepfunctions.Pass(this, 'EndState'); - const queryConfigState = new tasks.LambdaInvoke( + const reformulateQuestionState = new tasks.LambdaInvoke( this, - 'Query Config state', + 'reformulate_question', { - lambdaFunction: queryConfigurerFunction, - outputPath: '$.', + lambdaFunction: reformulateQuestionFunction, + // outputPath: '$.', resultPath: '$.queryConfig', payload: stepfunctions.TaskInput.fromObject({ user_question: stepfunctions.JsonPath.stringAt('$.user_question'), @@ -451,12 +497,13 @@ export class TextToSql extends BaseClass { const reformulatedQuestionFeedbackState = new tasks.SqsSendMessage( this, - 'reformulatedQuestionFeedbackState', + 'get_feedback_on_reformulated_question', { queue, messageBody: stepfunctions.TaskInput.fromObject({ message: 'Following is the reformulated question. Do you agree with the new question?', - reformualted_question: stepfunctions.JsonPath.stringAt('$.queryConfig.new_user_question'), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), + user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -466,13 +513,16 @@ export class TextToSql extends BaseClass { const generatedQueryFeedbackOneState = new tasks.SqsSendMessage( this, - 'generatedQueryFeedbackOneState', + 'get_feedback_on_generated_query_path_one', { queue, messageBody: stepfunctions.TaskInput.fromObject({ message: 'Following is the generated query. Do you agree with it or want to override?', - generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.validated_sql_query'), + generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), + user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), TaskToken: stepfunctions.JsonPath.taskToken, + }), integrationPattern: stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, @@ -481,12 +531,14 @@ export class TextToSql extends BaseClass { const generatedQueryFeedbackTwoState = new tasks.SqsSendMessage( this, - 'generatedQueryFeedbackTwoState', + 'get_feedback_on_generated_query_path_two', { queue, messageBody: stepfunctions.TaskInput.fromObject({ message: 'Following is the generated query. Do you agree with it or want to override?', - generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.validated_sql_query'), + generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), + user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -496,60 +548,104 @@ export class TextToSql extends BaseClass { const queryGeneratorOneState = new tasks.LambdaInvoke( this, - 'queryGeneratorOneState', + 'generate_query_path_one', { lambdaFunction: queryGeneratorFunction, - outputPath: '$.queryGenerated', + //outputPath: '$.queryGenerated', resultPath: '$.queryConfig', - inputPath: '$.', }, ); + const alternateQueryGeneratorState = new tasks.LambdaInvoke( + this, + 'generate_alternate_query', + { + lambdaFunction: queryGeneratorFunction, + //outputPath: '$.queryGenerated', + resultPath: '$.queryConfig', + }, + ); + + + const autocorrectChoiceState = new stepfunctions.Choice( + this, + 'is_autocorrect_required?', + { + //inputPath: '$.queryStatus.Payload', + + }, + ); + + const configureCountState = new stepfunctions.Pass(this, 'configure_count', { + result: stepfunctions.Result.fromObject({ + count: 3, + index: 0, + step: 1, + }), + resultPath: '$.iterator', + }); + + const iteratorState = new tasks.LambdaInvoke(this, 'iterator', { + lambdaFunction: autocorrectQueryFunction, + resultPath: '$.iterator', + + }); + + const isCountReachedState = new stepfunctions.Choice(this, 'is_count_reached', { + //inputPath: '$.iterator', + }); + const queryGeneratorTwoState = new tasks.LambdaInvoke( this, - 'queryGeneratorTwoState', + 'generate_query_path_two', { lambdaFunction: queryGeneratorFunction, - outputPath: '$.status', + //outputPath: '$.status', + resultPath: '$.queryConfig', }, ); const queryExecutorState = new tasks.LambdaInvoke( this, - 'Query Executor state', + 'execute_query', { lambdaFunction: queryExecutorFunction, - outputPath: '$.status', + // outputPath: '$.status', + resultPath: '$.queryStatus', }, - ); + ).next(autocorrectChoiceState.when( + stepfunctions.Condition.stringEquals('$.queryStatus.Payload.status', 'QUERY_ERROR'), + configureCountState.next(iteratorState).next(isCountReachedState.when( + stepfunctions.Condition.booleanEquals('$.iterator.Payload.continue', true), + alternateQueryGeneratorState.next(iteratorState), + ).otherwise(completedState), + )).otherwise(completedState)); const feedbackChoiceStateOne = new stepfunctions.Choice( this, - 'feedbackChoiceStateOne', + 'is_feedback_req_on_reformualted_question?', { - inputPath: '$.queryConfig', - outputPath: '$.', + inputPath: '$.queryConfig.Payload', }, ); const feedbackChoiceStateTwo = new stepfunctions.Choice( this, - 'feedbackChoiceStateTwo', + 'is_feedback_req_on_generated_query_path_two?', { - outputPath: '$.is_feed_back_req', + inputPath: '$.queryConfig.Payload', }, ); const feedbackChoiceStateThree = new stepfunctions.Choice( this, - 'feedbackChoiceStateThree', + 'is_feedback_req_on_generated_query_path_one?', { - outputPath: '$.is_feed_back_req', }, ); const constructProps: EventbridgeToStepfunctionsProps = { stateMachineProps: { - definition: queryConfigState + definition: reformulateQuestionState .next( feedbackChoiceStateOne .when( @@ -559,10 +655,10 @@ export class TextToSql extends BaseClass { ), reformulatedQuestionFeedbackState.next( queryGeneratorOneState.next( - feedbackChoiceStateTwo + feedbackChoiceStateThree .when( stepfunctions.Condition.stringEquals( - '$.sql_validation_strategy', + '$.queryConfig.Payload.sql_validation_strategy', 'human', ), generatedQueryFeedbackOneState.next(queryExecutorState), @@ -573,11 +669,11 @@ export class TextToSql extends BaseClass { ) .otherwise( queryGeneratorTwoState.next( - feedbackChoiceStateThree + feedbackChoiceStateTwo .when( - stepfunctions.Condition.booleanEquals( - '$.is_generated_sql_feedback_req', - true, + stepfunctions.Condition.stringEquals( + '$.queryConfig.Payload.sql_validation_strategy', + 'human', ), generatedQueryFeedbackTwoState.next(queryExecutorState), ) From 722ad55a8d1c51b25d79c151b759b25dbd75046b Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 25 Jul 2024 14:52:02 -0400 Subject: [PATCH 05/31] feat(construct): added documentation --- src/patterns/gen-ai/aws-text-to-sql/README.md | 339 +++++++----------- 1 file changed, 129 insertions(+), 210 deletions(-) diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 991a8a10..bf0f3ddc 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -1,4 +1,4 @@ -# aws-web-crawler +# aws-text-to-sql --- @@ -18,14 +18,14 @@ |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`cdklabs.generative_ai_cdk_constructs`| ## Table of contents + - [Overview](#overview) - [Initializer](#initializer) - [Pattern Construct Props](#pattern-construct-props) - [Pattern Properties](#pattern-properties) - [Default properties](#default-properties) -- [Crawler Output](#crawler-output) +- [Troubleshooting](#troubleshooting) - [Architecture](#architecture) -- [Web Crawler Agent for Amazon Bedrock](#web-crawler-agent-for-amazon-bedrock) - [Cost](#cost) - [Security](#security) - [Supported AWS Regions](#supported-aws-regions) @@ -34,298 +34,217 @@ ## Overview -The WebCrawler construct provided here simplifies website crawling. It can crawl websites and RSS feeds on a schedule and store changeset data on S3. WebCrawler construct uses [Crawlee](https://crawlee.dev/) library to crawl websites. +This construct leverages natural language processing (NLP) techniques to generate SQL queries based on user input in natural language form. Given the inherent ambiguity in natural language, the system employs semantic linking, which utilizes a knowledge layer loaded from configuration files or a knowledge base. + +The semantic linking component reformulates the user's query to disambiguate and clarify the intent. It then prompts the user for feedback on the reformulated query. If the user approves the reformulated query, the construct generates the corresponding SQL query and presents it to the user for further validation. + +If the user rejects the reformulated query, the process is terminated, and no further action is taken. Similarly, if the user disapproves of the generated SQL query, the flow is aborted. + +Upon user approval of the generated SQL query, it is executed against the target database. Optionally, the user can configure the workflow strategy to operate in an automatic mode by updating the configuration files. In this mode, the system bypasses the feedback prompts and executes the generated SQL queries without user intervention. -Crawling will begin shortly after the stack deployment. Please allow up to **15 minutes** for it to start the first time. +The system's architecture incorporates robust error handling and logging mechanisms to ensure reliable operation and facilitate troubleshooting in case of any issues. -All job status changes are notified via the SNS Topic available through the `snsTopic` property. +This construct builds a Lambda function from a Docker image, thus you need [Docker desktop](https://www.docker.com/products/docker-desktop/) running on your machine. + + +Make sure the model (anthropic.claude-v2:1) is enabled in your account. Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. + +AWS Lambda functions provisioned in this construct use [Powertools for AWS Lambda (Python)](https://github.com/aws-powertools/powertools-lambda-python) for tracing, structured logging and custom metrics creation. Here is a minimal deployable pattern definition: +Create a CDK TypeScript project and then update the stack with below configuration. + TypeScript -```typescript -import * as cdk from 'aws-cdk-lib'; +``` typescript import { Construct } from 'constructs'; -import { CrawlerTargetType, WebCrawler } from '@cdklabs/generative-ai-cdk-constructs'; - -export class SampleStack extends cdk.Stack { - constructor(scope: Construct, id: string, props?: cdk.StackProps) { - super(scope, id, props); - - new WebCrawler(this, 'WebCrawler', { - targets: [ - { - url: 'https://cloudprice.net/aws/ec2', - targetType: CrawlerTargetType.WEBSITE, - crawlIntervalHours: 24, - maxRequests: 15000, - }, - { - url: 'https://aws.amazon.com/about-aws/whats-new/recent/feed', - targetType: CrawlerTargetType.RSS_FEED, - crawlIntervalHours: 24, - }, - ], - }); - } -} - +import { Stack, StackProps } from 'aws-cdk-lib'; +import * as emergingTech from '@cdklabs/generative-ai-cdk-constructs'; + +// get an existing userpool +const textToSql = new emergingTech.TextToSql(this, "TextToSql", { + dbName: "Sqlite", + metadataSource:"config_file", + stage:"dev", + }) + ``` Python -```python -from aws_cdk import Stack +``` python from constructs import Construct -from cdklabs.generative_ai_cdk_constructs import WebCrawler, CrawlerTargetType - -class SampleStack(Stack): - def __init__(self, scope: Construct, id: str, **kwargs): - super().__init__(scope, id, **kwargs) - - WebCrawler(self, 'WebCrawler', - targets=[ - { - 'url': 'https://cloudprice.net/aws/ec2', - 'targetType': CrawlerTargetType.WEBSITE, - 'crawlIntervalHours': 24, - 'maxRequests': 15000, - }, - { - 'url': 'https://aws.amazon.com/about-aws/whats-new/recent/feed', - 'targetType': CrawlerTargetType.RSS_FEED, - 'crawlIntervalHours': 24, - } - ] - ) +from aws_cdk import aws_cognito as cognito +from cdklabs.generative_ai_cdk_constructs import TextToSql + +text_to_sql_construct = TextToSql( + self, + 'TextToSql', + dbName= "Sqlite", + metadataSource="config_file", + stage:"dev", +) ``` + + ## Initializer ``` -new WebCrawler(scope: Construct, id: string, props: WebCrawlerProps) +new TextToSql(scope: Construct, id: string, props: TextToSqlProps) ``` Parameters - scope [Construct](https://docs.aws.amazon.com/cdk/api/v2/docs/constructs.Construct.html) - id string -- props [WebCrawlerProps](../aws-web-crawler/index.ts) +- props TextToSqlProps ## Pattern Construct Props | **Name** | **Type** | **Required** |**Description** | |:-------------|:----------------|-----------------|-----------------| +| cognitoUserPool | [cognito.IUserPool](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cognito.IUserPool.html) | ![Required](https://img.shields.io/badge/required-ff0000) | Amazon Cognito user pool used for authentication. | +| vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | The construct creates a custom VPC based on vpcProps. Providing both this and existingVpc will result in an error. | | existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct.| -| vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Optional custom properties for a VPC the construct will create. This VPC will be used by the compute resources the construct creates. Providing both this and existingVpc is an error.| -| existingOutputBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing instance of S3 Bucket object, providing both this and `bucketOutputProps` will cause an error..| -| bucketOutputProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User provided props to override the default props for the S3 Bucket. Providing both this and `existingOutputBucketObj` will cause an error.| +| existingSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the Lambda function which this construct will use. If no exisiting security group is provided it will create one from the VPC.| +| existingInputAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the input document to be summarized. PDF is the supported input document format. If transformed (.txt format) file is available, then this bucket is optional. | +| bucketInputsAssetsProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingInputAssetsBucketObj` will result in an error.| +| isFileTransformationRequired | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | The summary construct transforms the input document into .txt format. If the transformation is not required then this flag can be set to false. If set to true, then a transformed asset bucket is created which transforms the input document from input asset bucket to .txt format.| +| existingProcessedAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | This bucket stores the transformed (.txt) assets for generating the summary. If none is provided then this contruct will create one.| +| bucketProcessedAssetsProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingProcessedAssetsBucket` will result in an error.| +| existingBusInterface | [events.IEventBus](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing instance of event bus. The summary construct integrates AppSync with EventBridge to route the request to Step Functions.| +| eventBusProps | [events.EventBusProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | A new custom event bus is created with provided props. Providing both ```existingBusInterface``` and ```eventBusProps``` will result in an error.| +| existingMergedApi | [appsync.CfnGraphQLApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnGraphQLApi.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Merged API instance. The Merged API provides a federated schema over source API schemas.| +| summaryApiName | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided name for summary API on AppSync. A GraphQL API will be created with this name.| | observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enables observability on all services used. Warning: associated costs with the services used. It is a best practice to enable by default. Defaults to true.| +| summaryChainType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Chain type defines how to pass the document to the LLM. There are three chain types. Stuff: Simply "stuff" all your documents into a single prompt. Map-reduce: Summarize each document on its own in a "map" step and then "reduce" the summaries into a final summary. Refine: Loops over the input documents and iteratively updates its answer. | | stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | -| targets | CrawlerTarget[] | ![Optional](https://img.shields.io/badge/optional-4169E1) | Target website and RSS feeds to be crawled | -| enableLambdaCrawler | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Specifies whether a separate crawler available as a Lambda function should be deployed. | +| customDocumentReaderDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide document reading custom lambda code and settings instead of the default construct implementation.| +| customInputValidationDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide input validation custom lambda code and settings instead of the default construct implementation.| +| customSummaryGeneratorDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide summary generation custom lambda code and settings instead of the default construct implementation.| -## Target Properties +## Pattern Properties -| **Name** | **Type** |**Description** | +| **Name** | **Type** | **Description** | |:-------------|:----------------|-----------------| -| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | The VPC used by the construct (whether created by the construct or provided by the client). | -| dataBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | Returns an instance of s3.Bucket created by the construct. | -| snsTopic | [sns.ITopic](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.ITopic.html) | Returns an instance of SNS Topic created by the construct. | -| targetsTable | [dynamodb.ITable](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.ITable.html) | Returns the instance of Targets DynamoDB table created by the construct. | -| jobsTable | [dynamodb.ITable](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.ITable.html) | Returns the instance of Jobs DynamoDB table created by the construct. | -| jobQueue | [batch.IJobQueue](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_batch.IJobQueue.html) | Returns the instance of batch.IJobQueue created by the construct. | -| webCrawlerJobDefinition | [batch.IJobDefinition](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_batch.IJobDefinition.html) | Returns the instance of JobDefinition created by the construct. | -| lambdaCrawler | [lambda.IFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.IFunction.html) | Returns the instance of the lambda function created by the construct if ```enableLambdaCrawler``` was set to true in the construct properties. | -| lambdaCrawlerApiSchemaPath | string | Returns the path to the OpenAPI specification for the Lambda Crawler. | +| eventBridgeBus | [events.IEventBus](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html) | An instance of events.IEventBus created by the construct | +| mergeApi | [appsync.CfnGraphQLApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnGraphQLApi.html) | Instance of appsync.CfnGraphQLApi for Merged API created by the construct | +| graphqlApi | [appsync.IGraphqlApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.IGraphqlApi.html) | Instance of appsync.CfnGraphQLApi for summary created by the construct| +| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) |Returns the instance of ec2.ISecurityGroup used by the construct | +| securityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct. | +| inputAssetBucket | [s3.Bucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Instance of s3.IBucket used by the construct | +| processedAssetBucket | [s3.Bucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) |Instance of s3.IBucket used by the construct| +| summaryGeneratorLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the summary generation job created by the construct | +| documentReaderLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the document reading job created by the construct | +| inputValidationLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the input validation job created by the construct | ## Default properties -Out of the box implementation of the construct without any override will set the following defaults: - -### Networking +Out-of-the-box implementation of the construct without any override will set the following defaults: -- Set up a VPC - - Uses existing VPC if provided, otherwise creates a new one - - Setup VPC endpoints for Amazon S3 and ECR - - Setup a VPC flow logs +### VPC +- Sets up VPC to deploy the contruct -### Fargate -- when an infrastructure update is triggered, any running jobs will be allowed to run until 30min has expired -- 2vCPUs -- 6144 MB as the container memory hard limit -- hard limit of 48 hours for container timeout, and 100 000 pages crawled +### AppSync +- Sets up AWS AppSync Merged API + - Associate the source api with Merged API using 'AUTO-MERGE' ### Amazon S3 Buckets -- Set up one Amazon S3 Bucket - - Uses existing bucket if provided, otherwise creates new one -- Setup a logging access S3 bucket - -## Crawler Output - -S3 output bucket names is available via `dataBucket` property. Data is stored on S3 in the following format: -- /{target_key}/files/{file_name} -- /{target_key}/jobs/{job_id}/{data_file} - -| File Name | Description | -| -------- | ------- | -| crawl_data.jsonl | Raw HTML crawler output | -| crawl_files.jsonl| Links to files found on crawled pages | -| crawl_errors.jsonl| Crawler errors | -| crawl_sitemaps.jsonl| Links found in sitemaps | -| pages_changeset.jsonl| Cleaned data in text format from the pages, including information on whether the page was created, updated, deleted or not changed after a previous crawl. | -| files_changeset.jsonl| All downloaded files data including S3 key and information on whether the file was added, changed, or deleted after a previous crawl | - -All files are stored in jsonl format (JSON Lines) and can be processed line by line. Here is a Python snippet. - -```python -import json - -with open(FILE_NAME, 'r') as file: - for line in file: - try: - json_data = json.loads(line) - # TODO: Process the JSON data - except json.JSONDecodeError as e: - print(f"Error decoding JSON: {e}") -``` - -Page records have the following format - -```ts -{ - content_type: string; - url: string; - base_url?: string; - file_type?: string; - canonical?: string; - meta?: { - title?: string; - description?: string; - keywords?: string; - author?: string; - } - content?: string; - fingerprint?: string; - operation?: string; -} -``` +- Sets up two S3 Buckets + - Uses existing buckets if provided, otherwise creates new ones +- If isFileTransformationRequired is set to False then +only one bucket is created for input assets -File records have the following format - -```ts -{ - url: string; - file_type: string; - file_size: number; - last_modified: string, - checksum?: string, - s3_key?: string - operation?: string; -} -``` +### Observability -Operations: -- not_changed -- created -- updated -- deleted +By default the construct will enable logging and tracing on all services which support those features. Observability can be turned off through the pattern properties. +- AWS Lambda: AWS X-Ray, Amazon CloudWatch Logs +- AWS Step Functions: AWS X-Ray, Amazon CloudWatch Logs +- AWS AppSync GraphQL API: AWS X-Ray, Amazon CloudWatch Logs -## Architecture -![Architecture Diagram](architecture.png) -## Web Crawler Agent for Amazon Bedrock +## Troubleshooting -The WebCrawler construct also provides a Lambda Crawler function that can be used as an action in the Amazon Bedrock Agent. Here is an example of an agent capable of accessing the web. +| **Error Code** | **Message** | **Description** |**Fix** | +|:-------------|:----------------|-----------------|-----------------| +| 601 | Invalid file format. | Only .txt and .pdf file format are supported | Provide a valid file with .pdf or .txt extension | +| 602 | Not able to transform the file. | File transformation from .pdf to .txt failed | Check if valid file exist in input bucket | +| 603 | No file available to read. | Couldn't read file from input bucket | Check if valid file exist in input bucket | +| 604 | Something went wrong while generating summary! | LLM threw an exception | Check if your account has access to Amazon Bedrock | -```typescript -import * as cdk from 'aws-cdk-lib'; -import { Construct } from 'constructs'; -import { WebCrawler, bedrock } from '@cdklabs/generative-ai-cdk-constructs'; - -export class WebCrawlerAgentStack extends cdk.Stack { - constructor(scope: Construct, id: string, props?: cdk.StackProps) { - super(scope, id, props); - - const crawler = new WebCrawler(this, 'WebCrawler', { - enableLambdaCrawler: true, - }); - - const agent = new bedrock.Agent(this, 'WebAgent', { - foundationModel: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_SONNET_V1_0, - instruction: `You are a helpful and friendly agent with access to the internet. - You can get content from web pages provided by an URL. - You can summarize web pages.`, - }); - - agent.addActionGroup( - new bedrock.AgentActionGroup(this, 'WebCrawlerActionGroup', { - actionGroupName: 'web-crawler', - description: 'Use this function to get content from a web page by HTTP or HTTPS URL', - actionGroupExecutor: { - lambda: crawler.lambdaCrawler - }, - actionGroupState: 'ENABLED', - apiSchema: bedrock.ApiSchema.fromAsset(crawler.lambdaCrawlerApiSchemaPath), - }), - ); - } -} -``` +## Architecture +![Architecture Diagram](architecture.png) ## Cost -When deploying this architecture, you as the customer are responsible for the costs of the AWS services utilized. Based on current pricing in the US East (N. Virginia) region, operating this infrastructure with the default configuration to crawle websites every day for 4 hours is estimated to cost approximately $52.75 per month. This cost estimate includes usage of the various AWS services leveraged in this architecture such as AWS Lambda, AWS Batch, AWS Fargate, and Amazon S3. +You are responsible for the cost of the AWS services used while running this construct. As of this revision, the cost for running this construct with the default settings in the US East (N. Virginia) Region is approximately $292.04 per month. We recommend creating a budget through [AWS Cost Explorer](http://aws.amazon.com/aws-cost-management/aws-cost-explorer/) to help manage costs. Prices are subject to change. For full details, refer to the pricing webpage for each AWS service used in this solution. The following table provides a sample cost breakdown for deploying this solution with the default parameters in the **US East (N. Virginia)** Region for **one month**. + | **AWS Service** | **Dimensions** | **Cost [USD]** | |:-------------|:----------------|-----------------| -| Amazon Virtual Private Cloud | | 37.35 | -| Amazon Simple Storage Service (S3) | 100 GB / month | 2.30 | -| AWS Fargate | 4 hours per day | 13.10 | - +| AWS Step Functions | 15 requests per hour for summarization, each with 2 files (4 steps per workflow) | 0.99 | +| Amazon Virtual Private Cloud | | 0.00 | +| AWS AppSync | 15 requests per hour to trigger summarization + (15 x 4 calls to notify clients through subscriptions) = 54,000 requests per month | 0.22 | +| Amazon EventBridge | 15 requests per hour = 10800 custom events per month | 0.01 | +| AWS Lambda | 15 summarization requests per hour with 2 files each time, through 4 Lambda functions each allocated with 7076 MB of memory allocated and 512 MB of ephemeral storage allocated and an average run time of 30 seconds = 43200 requests per month | 142.59 | +| Amazon Simple Storage Service | 15 requests per hour for summarization with 2 files in input format (PDF) with an average size of 1MB and transformed files to text format with an average size of 1 MB = 43.2 GB per month in S3 Standard Storage | 0.99 | +| Amazon Bedrock | With the on-demand mode, for text generation models, you are charged for every input token processed and every output token generated. Anthropic.claude model price for 1000 input tokens= $0.01102 and for 1000 output tokens = $0.03268. With a pdf of 50 pages (asumming each page having 200 words) , 50 * 200 , there are 10000 words, which are ~= 7500 tokens. Input token cost for 200 request per month = 7.5 * 0.01102 * 200 = 16.53. Asumming a summary of 200 words (150 tokens) for 200 requests per month cost of output token = 150 * (0.03268/1000) * 200 = 9.804. Total cost for 200 summary requests , 16.53 + 9.804 = $26.334| 26.34 | +| Amazon CloudWatch | 15 metrics using 5 GB data ingested for logs | 7.02 | +| AWS X-Ray | 100,000 requests per month through AppSync and Lambda calls | 0.50 | +| Total Deployment cost | | 178.16 | + +The resources not created by this construct (Amazon Cognito User Pool, AppSync Merged API, AWS Secrets Manager secret) do not appear in the table above. You can refer to the decicated pages to get an estimate of the cost related to those services: +- [AWS AppSync pricing (for Merged API if used)](https://aws.amazon.com/appsync/pricing/) +- [Amazon Cognito Pricing](https://aws.amazon.com/cognito/pricing/) +- [AWS Secrets Manager Pricing](https://aws.amazon.com/secrets-manager/pricing/) ## Security When you build systems on AWS infrastructure, security responsibilities are shared between you and AWS. This [shared responsibility](http://aws.amazon.com/compliance/shared-responsibility-model/) model reduces your operational burden because AWS operates, manages, and controls the components including the host operating system, virtualization layer, and physical security of the facilities in which the services operate. For more information about AWS security, visit [AWS Cloud Security](http://aws.amazon.com/security/). +This construct requires you to provide an existing Amazon Cognito User Pool. Please refer to the official documentation on best practices to secure this service: +- [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/security.html) + Optionnaly, you can provide existing resources to the constructs (marked optional in the construct pattern props). If you chose to do so, please refer to the official documentation on best practices to secure each service: - [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) - [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) +- [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-security.html) +- [AWS AppSync](https://docs.aws.amazon.com/appsync/latest/devguide/best-practices.html) -If you grant access to a user to your account where this construct is deployed, this user may access information stored by the construct (Amazon Simple Storage Service buckets, Amazon CloudWatch logs). To help secure your AWS resources, please follow the best practices for [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). +If you grant access to a user to your account where this construct is deployed, this user may access information stored by the construct (Amazon Simple Storage Service buckets, Amazon Elasticache, Amazon CloudWatch logs). To help secure your AWS resources, please follow the best practices for [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). > **Note** - -> This construct stores documents in the output assets bucket. You should consider validating each file stored in the output bucket before using it in your application. [here](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) for file validation best practices. - -> If you use the data generated by this construct in a knowledge base, you should consider ingesting only the documents you deem appropriate. Depending on the service and LLM you use, results returned by the knowledge base may be eligible for inclusion into the prompt; and therefore, may be sent to the LLM or underlying service. If you use a third-party LLM, you should consider auditing the documents contained within your knowledge base. - -> The construct Web Crawler can be used to index your own web pages, or web pages that you have authorization to index. Using this construct Web Crawler to aggressively crawl websites or web pages you don't own could violate the rights, laws, and terms of others. Some forms of web scraping, like extracting copyrighted content, personal information without consent, or engaging in activities that interfere with the normal operation of websites may constitute unlawful behavior. Accordingly, you should consider reviewing the applicable laws and regulations that apply to you and your intended web crawling and web scraping activities before using this construct. - +> This construct requires you to provide documents in the input assets bucket. You should validate each file in the bucket before using this construct. See [here](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) for file input validation best practices. +> Ensure you only ingest the appropriate documents into your knowledge base. Any results returned by the knowledge base is eligible for inclusion into the prompt; and therefore, being sent to the LLM. If using a third-party LLM, ensure you audit the documents contained within your knowledge base. > This construct provides several configurable options for logging. Please consider security best practices when enabling or disabling logging and related features. Verbose logging, for instance, may log content of API calls. You can disable this functionality by ensuring observability flag is set to false. ## Supported AWS Regions -This solution uses multiple AWS services, which might not be currently available in all AWS Regions. You must launch this construct in an AWS Region where these services are available. For the most current availability of AWS services by Region, see the [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). +This solution optionally uses the Amazon Bedrock service, which is not currently available in all AWS Regions. You must launch this construct in an AWS Region where these services are available. For the most current availability of AWS services by Region, see the [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). + +> **Note** +>You need to explicity enable access to models before they are available for use in the Amazon Bedrock service. Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. ## Quotas Service quotas, also referred to as limits, are the maximum number of service resources or operations for your AWS account. -Make sure you have sufficient quota for each of the services implemented in this solution and the associated instance types. For more information, refer to [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). +Make sure you have sufficient quota for each of the services implemented in this solution. For more information, refer to [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). To view the service quotas for all AWS services in the documentation without switching pages, view the information in the [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information) page in the PDF instead. ## Clean up When deleting your stack which uses this construct, do not forget to go over the following instructions to avoid unexpected charges: - - delete the logs uploaded to the account + - empty and delete the Amazon Simple Storage Bucket(s) created by this construct if you didn't provide existing ones during the construct creation + - if the observability flag is turned on, delete all the associated logs created by the different services in Amazon CloudWatch logs *** © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. From 379a33611566958d614dd97e1127b2190bc095ee Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 25 Jul 2024 16:41:37 -0400 Subject: [PATCH 06/31] feat(construct): updated step function with publish state --- .../query_autocorrect/lambda.py | 23 ++++++----- .../reformulate_question/lambda.py | 5 ++- src/patterns/gen-ai/aws-text-to-sql/README.md | 5 +++ src/patterns/gen-ai/aws-text-to-sql/index.ts | 41 +++++++++++++------ 4 files changed, 50 insertions(+), 24 deletions(-) diff --git a/lambda/aws-text-to-sql/query_autocorrect/lambda.py b/lambda/aws-text-to-sql/query_autocorrect/lambda.py index 0656f180..be2af9e6 100644 --- a/lambda/aws-text-to-sql/query_autocorrect/lambda.py +++ b/lambda/aws-text-to-sql/query_autocorrect/lambda.py @@ -15,21 +15,24 @@ @metrics.log_metrics(capture_cold_start_metric=True) def handler(event, context: LambdaContext)-> dict: logger.info("Request Feedback", event) - response = { - 'db_name':'dd', - 'metadata_source':'dd' - } - index = event['iterator']['index'] - step = event['iterator']['step'] - count = event['iterator']['count'] + + if 'iterator' in event: + if 'index' in event['iterator']: + index= event['iterator']['index'] + step = event['iterator']['step'] + count = event['iterator']['count'] + elif 'Payload' in event['iterator']: + index= event['iterator']['Payload']['index'] + step = event['iterator']['Payload']['step'] + count = event['iterator']['Payload']['count'] index = index + step - response.update({ + response ={ 'index': index, 'step': step, 'count': count, 'continue': index < count - }) - logger.info("Response Feedback", response) + } + logger.info(f"Response :: {response}") return response diff --git a/lambda/aws-text-to-sql/reformulate_question/lambda.py b/lambda/aws-text-to-sql/reformulate_question/lambda.py index b60e039c..2275c35d 100644 --- a/lambda/aws-text-to-sql/reformulate_question/lambda.py +++ b/lambda/aws-text-to-sql/reformulate_question/lambda.py @@ -32,8 +32,10 @@ @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) def handler(event, context: LambdaContext)-> dict: + logger.info(f"Starting textToSql construct for input :: {event}", ) + user_question = event['user_question'] - logger.info(f"Load texttpsql config files for input :: {event}", ) + question_unique_id = event['unique_id'] keys = [ConfigFilesName.WORKFLOW_JSON,ConfigFilesName.KNOWLEDGE_LAYER_JSON] file_contents = load_files_from_s3(keys) @@ -63,6 +65,7 @@ def handler(event, context: LambdaContext)-> dict: response = { 'reformulated_user_question':reformulated_user_question, 'user_question':user_question, + 'question_unique_id':question_unique_id, 'semantic_layer_strategy':semantic_layer_strategy } logger.info(f"Returning response :: {response}") diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index bf0f3ddc..7af1cf29 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -68,6 +68,11 @@ const textToSql = new emergingTech.TextToSql(this, "TextToSql", { stage:"dev", }) +// sample input to construct +{ + "user_question": "How many makers are there?", + "unique_id":1234 +} ``` Python diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 68168b14..cfc94aaa 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -476,8 +476,20 @@ export class TextToSql extends BaseClass { visibilityTimeout: Duration.seconds(3600), }); + const outputQueueName = generatePhysicalNameV2( + this, + 'outputQueue' + this.stage, + { maxLength: 63, lower: true }, + ); + + const outputQueue = new sqs.Queue(this, 'outputQueue', { + queueName: outputQueueName, + visibilityTimeout: Duration.seconds(3600), + }); + + // STEP FUNCTION - const completedState = new stepfunctions.Pass(this, 'Done'); + //const completedState = new stepfunctions.Pass(this, 'Done'); //const endState = new stepfunctions.Pass(this, 'EndState'); @@ -486,12 +498,7 @@ export class TextToSql extends BaseClass { 'reformulate_question', { lambdaFunction: reformulateQuestionFunction, - // outputPath: '$.', resultPath: '$.queryConfig', - payload: stepfunctions.TaskInput.fromObject({ - user_question: stepfunctions.JsonPath.stringAt('$.user_question'), - }), - }, ); @@ -504,6 +511,7 @@ export class TextToSql extends BaseClass { message: 'Following is the reformulated question. Do you agree with the new question?', reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -521,6 +529,7 @@ export class TextToSql extends BaseClass { generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), TaskToken: stepfunctions.JsonPath.taskToken, }), @@ -539,6 +548,7 @@ export class TextToSql extends BaseClass { generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -551,7 +561,6 @@ export class TextToSql extends BaseClass { 'generate_query_path_one', { lambdaFunction: queryGeneratorFunction, - //outputPath: '$.queryGenerated', resultPath: '$.queryConfig', }, ); @@ -561,7 +570,6 @@ export class TextToSql extends BaseClass { 'generate_alternate_query', { lambdaFunction: queryGeneratorFunction, - //outputPath: '$.queryGenerated', resultPath: '$.queryConfig', }, ); @@ -600,17 +608,25 @@ export class TextToSql extends BaseClass { 'generate_query_path_two', { lambdaFunction: queryGeneratorFunction, - //outputPath: '$.status', resultPath: '$.queryConfig', }, ); + const outputState =new tasks.SqsSendMessage(this, 'publish_query_result', { + queue: outputQueue, + messageBody: stepfunctions.TaskInput.fromObject({ + result: stepfunctions.TaskInput.fromJsonPathAt('$.queryStatus.Payload.result'), + user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), + + }), + }); + const queryExecutorState = new tasks.LambdaInvoke( this, 'execute_query', { lambdaFunction: queryExecutorFunction, - // outputPath: '$.status', resultPath: '$.queryStatus', }, ).next(autocorrectChoiceState.when( @@ -618,8 +634,8 @@ export class TextToSql extends BaseClass { configureCountState.next(iteratorState).next(isCountReachedState.when( stepfunctions.Condition.booleanEquals('$.iterator.Payload.continue', true), alternateQueryGeneratorState.next(iteratorState), - ).otherwise(completedState), - )).otherwise(completedState)); + ).otherwise(outputState), + )).otherwise(outputState)); const feedbackChoiceStateOne = new stepfunctions.Choice( this, @@ -633,7 +649,6 @@ export class TextToSql extends BaseClass { this, 'is_feedback_req_on_generated_query_path_two?', { - inputPath: '$.queryConfig.Payload', }, ); const feedbackChoiceStateThree = new stepfunctions.Choice( From 52da5fccd1991694755102d615d7a82b517a8c14 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 30 Jul 2024 16:38:44 -0400 Subject: [PATCH 07/31] feat(construct): aurora cluster and rda mysql instance --- .../query_executor/config_types.py | 4 +- .../query_generator/config_types.py | 4 +- .../query_generator/db_helper.py | 39 +- .../aws-text-to-sql/query_generator/lambda.py | 1 + .../query_generator/requirements.txt | 2 + .../reformulate_question/config_types.py | 4 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 358 +++++++++++++----- 7 files changed, 311 insertions(+), 101 deletions(-) diff --git a/lambda/aws-text-to-sql/query_executor/config_types.py b/lambda/aws-text-to-sql/query_executor/config_types.py index 8f07d909..88366b24 100644 --- a/lambda/aws-text-to-sql/query_executor/config_types.py +++ b/lambda/aws-text-to-sql/query_executor/config_types.py @@ -11,8 +11,8 @@ class WorkflowStrategy(StrEnum): class Database_supported(StrEnum): SQLITE = 'Sqlite', - POSTGRESQL='postgresql' - MYSQL='mysql' + POSTGRESQL='PostgreSQL' + MYSQL='MySQL' class ConfigFilesName(StrEnum): WORKFLOW_JSON = 'config/workflow_config.json' diff --git a/lambda/aws-text-to-sql/query_generator/config_types.py b/lambda/aws-text-to-sql/query_generator/config_types.py index 79759e85..3b49e8c9 100644 --- a/lambda/aws-text-to-sql/query_generator/config_types.py +++ b/lambda/aws-text-to-sql/query_generator/config_types.py @@ -11,8 +11,8 @@ class WorkflowStrategy(StrEnum): class Database_supported(StrEnum): SQLITE = 'Sqlite', - POSTGRESQL='postgresql' - MYSQL='mysql' + POSTGRESQL='PostgreSQL' + MYSQL='MySQL' class Provider(StrEnum): diff --git a/lambda/aws-text-to-sql/query_generator/db_helper.py b/lambda/aws-text-to-sql/query_generator/db_helper.py index 842d209a..5d468cfa 100644 --- a/lambda/aws-text-to-sql/query_generator/db_helper.py +++ b/lambda/aws-text-to-sql/query_generator/db_helper.py @@ -1,11 +1,20 @@ +import os +import boto3 +import json +import pymysql from langchain_community.utilities import SQLDatabase from config_types import Database_supported from aws_lambda_powertools import Logger, Tracer, Metrics +from sqlalchemy import create_engine +from sqlalchemy.engine import URL logger = Logger(service="QUERY_GENERATOR") tracer = Tracer(service="QUERY_GENERATOR") metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_GENERATOR") +proxy_endpoint = os.environ['PROXY_ENDPOINT'] +secret_arn = os.environ['SECRET_ARN'] + def get_db_connection(db_name): try: @@ -19,12 +28,38 @@ def get_db_connection(db_name): case Database_supported.POSTGRESQL: print("Retrieve db schema from postgresql") # update connection url - return SQLDatabase.from_uri("postgresql://:@:/", sample_rows_in_table_info=3) case Database_supported.MYSQL: print("Retrieve db schema from mysql") - return SQLDatabase.from_uri("mysql://:@:/", sample_rows_in_table_info=3) + credentials = get_secret() + db_user = credentials['username'] + db_password = credentials['password'] + db_host = proxy_endpoint + db_name = credentials['dbname'] + db_uri = f"mysql+pymysql://{db_user}:{db_password}@{db_host}/{db_name}" + + print(f"db_uri :: {db_uri}") + return SQLDatabase.from_uri(db_uri, sample_rows_in_table_info=3) + case _: print(f"Error: {db_name} database is not supported.") except Exception as exp: logger.error(f'response :: {exp}') + + +def get_secret(): + session = boto3.session.Session() + client = session.client( + service_name='secretsmanager', + region_name=session.region_name + ) + + get_secret_value_response = client.get_secret_value( + SecretId=secret_arn + ) + + if 'dbSecret' in get_secret_value_response: + secret = get_secret_value_response['dbSecret'] + + logger.info(f'secret :: {secret}') + return json.loads(secret) diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index 49247ad3..87e7bfae 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -23,6 +23,7 @@ db_name = os.environ["DB_NAME"] config_bucket = os.environ["CONFIG_BUCKET"] + @logger.inject_lambda_context(log_event=True) @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) diff --git a/lambda/aws-text-to-sql/query_generator/requirements.txt b/lambda/aws-text-to-sql/query_generator/requirements.txt index c196a62b..22aabdbf 100644 --- a/lambda/aws-text-to-sql/query_generator/requirements.txt +++ b/lambda/aws-text-to-sql/query_generator/requirements.txt @@ -6,3 +6,5 @@ langchain_aws>=0.1.12 langchain-core>=0.2.22 langchain>=0.2.10 langchain_community>=0.2.10 +sqlalchemy>=2.0.31 +pymysql>=1.1.1 \ No newline at end of file diff --git a/lambda/aws-text-to-sql/reformulate_question/config_types.py b/lambda/aws-text-to-sql/reformulate_question/config_types.py index cb29af09..a772b8ac 100644 --- a/lambda/aws-text-to-sql/reformulate_question/config_types.py +++ b/lambda/aws-text-to-sql/reformulate_question/config_types.py @@ -13,8 +13,8 @@ class Provider(StrEnum): class Database_supported(StrEnum): SQLITE = 'Sqlite', - POSTGRESQL='postgresql' - MYSQL='mysql' + POSTGRESQL='PostgreSQL' + MYSQL='MySQL' class ConfigFilesName(StrEnum): diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index cfc94aaa..2eef08fa 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -22,7 +22,9 @@ import * as events from 'aws-cdk-lib/aws-events'; import * as iam from 'aws-cdk-lib/aws-iam'; import * as lambda from 'aws-cdk-lib/aws-lambda'; import * as logs from 'aws-cdk-lib/aws-logs'; +import * as rds from 'aws-cdk-lib/aws-rds'; import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager'; import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as stepfunctions from 'aws-cdk-lib/aws-stepfunctions'; import * as tasks from 'aws-cdk-lib/aws-stepfunctions-tasks'; @@ -40,6 +42,15 @@ import { } from '../../../common/helpers/utils'; import { DockerLambdaCustomProps } from '../../../common/props/DockerLambdaCustomProps'; +export enum DatabaseType{ + AURORA = 'Aurora', + RDS = 'RDS' +} + +export enum DbName{ + MYSQL = 'MySQL', + POSTGRESQL = 'PostgreSQL', +} export interface TextToSqlProps { /** * Optional. The construct creates a custom VPC based on vpcProps. @@ -57,6 +68,13 @@ export interface TextToSqlProps { */ readonly existingVpc?: ec2.IVpc; + /** + * Optional. An existing subnet group can be used to deploy the construct. + * + * @default - none + */ + readonly existingSubnetGroup?: rds.SubnetGroup; + /** * Optional. Security group for the lambda function which this construct will use. * If no exisiting security group is provided it will create one from the vpc. @@ -81,7 +99,15 @@ export interface TextToSqlProps { /** * Database name. This is the target database against which the query will be generated. */ - readonly dbName: string; + readonly dbName: DbName; + + /** + * Database type. Select between Aurora or RDS as database type. If none selected then Aurora is + * used as default database type. + * @default - Aurora + */ + + readonly databaseType?: DatabaseType; /** * Optional. Allows to provide custom lambda code for all pre steps required before generating the query. @@ -154,6 +180,11 @@ export class TextToSql extends BaseClass { */ public readonly vpc: ec2.IVpc; + /** + * Returns the instance of subnet group used by the construct + */ + public readonly subnetGroup: rds.SubnetGroup; + /** * Returns the instance of ec2.ISecurityGroup used by the construct */ @@ -164,6 +195,16 @@ export class TextToSql extends BaseClass { */ public readonly configAssetBucket: s3.IBucket; + /** + * Returns the instance of RDS proxy used by the construct + */ + public readonly proxy: rds.DatabaseProxy | undefined; + + /** + * Returns the instance of secret manager used by the construct + */ + public readonly secret: secretsmanager.Secret; + /** * Constructs a new instance of the TextToSql class. * @param {Construct} scope - represents the scope for all the resources. @@ -186,10 +227,16 @@ export class TextToSql extends BaseClass { this.addObservabilityToConstruct(baseProps); // vpc - if (props?.existingVpc) { + if (props?.existingVpc && props?.existingSubnetGroup) { this.vpc = props.existingVpc; + this.subnetGroup = props.existingSubnetGroup; } else { this.vpc = new ec2.Vpc(this, 'Vpc', props.vpcProps); + this.subnetGroup = new rds.SubnetGroup(this, 'SubnetGroup', { + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + description: 'Subnet group for Aurora Serverless', + }); } // Security group if (props?.existingSecurityGroup) { @@ -216,6 +263,86 @@ export class TextToSql extends BaseClass { ), }); + + // Create a database cluster based on the provided properties + if (props.databaseType === DatabaseType.RDS) { + this.secret = new secretsmanager.Secret(this, 'AuroraSecret', { + secretName: 'dbSecret', + }); + if (props.dbName === DbName.MYSQL) { + const instanceIdentifier = 'mysql-01'; + const dbServer = new rds.DatabaseInstance(this, 'MysqlRdsInstance', { + vpcSubnets: { + onePerAz: true, + subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, + }, + credentials: rds.Credentials.fromSecret(this.secret), + vpc: this.vpc, + port: 3306, + databaseName: 'main', + allocatedStorage: 20, + instanceIdentifier, + engine: rds.DatabaseInstanceEngine.mysql({ + version: rds.MysqlEngineVersion.VER_8_0, + }), + instanceType: ec2.InstanceType.of( + ec2.InstanceClass.T2, + ec2.InstanceSize.LARGE, + ), + }); + + // Create an RDS Proxy + this.proxy = new rds.DatabaseProxy(this, 'DatabaseProxy', { + proxyTarget: rds.ProxyTarget.fromInstance(dbServer), + secrets: [this.secret], + vpc: this.vpc, + clientPasswordAuthType: + rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD, + }); + } else { + // Add code for RDS PostgreSQL instance + } + } else { + // Default is Aurora cluster, create secret credentials + this.secret = new secretsmanager.Secret(this, 'AuroraSecret', { + secretName: 'dbSecret', + }); + + // create database cluster + if (props.dbName === DbName.MYSQL) { + const databaseCluster = new rds.DatabaseCluster(this, 'AuroraCluster', { + engine: rds.DatabaseClusterEngine.auroraMysql({ + version: rds.AuroraMysqlEngineVersion.VER_3_07_0, + }), + instanceProps: { + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + instanceType: ec2.InstanceType.of( + ec2.InstanceClass.BURSTABLE3, + ec2.InstanceSize.MEDIUM, + ), + }, + instances: 1, + defaultDatabaseName: 'textToSQLDatabase', + }); + // Create RDS proxy + this.proxy = new rds.DatabaseProxy(this, 'DatabaseProxy', { + proxyTarget: rds.ProxyTarget.fromCluster(databaseCluster), + secrets: [this.secret], + vpc: this.vpc, + clientPasswordAuthType: + rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD, + }); + } else { + // TODO : Add code for Aurora PostgreSQL cluster + } + } + + let proxyEndpoint=''; + if (this.proxy) { + proxyEndpoint= this.proxy.endpoint; + } + // s3 bucket if (props?.existingconfigAssetsBucketObj) { this.configAssetBucket = props.existingconfigAssetsBucketObj; @@ -321,13 +448,14 @@ export class TextToSql extends BaseClass { { maxLength: 63, lower: true }, ); - const reformulateQuestionFunctionProps = { functionName: reformulateQuestionFunctionName, - description: - 'Lambda function to reformulate user question', + description: 'Lambda function to reformulate user question', code: lambda.DockerImageCode.fromImageAsset( - path.join(__dirname, '../../../../lambda/aws-text-to-sql/reformulate_question'), + path.join( + __dirname, + '../../../../lambda/aws-text-to-sql/reformulate_question', + ), ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, @@ -340,10 +468,13 @@ export class TextToSql extends BaseClass { DB_NAME: props.dbName, METADATA_SOURCE: props.metadataSource, CONFIG_BUCKET: this.configAssetBucket.bucketName, - KNOWLEDGE_BASE_ID: props.existingKnowledgeBaseId ?props.existingKnowledgeBaseId : '', + KNOWLEDGE_BASE_ID: props.existingKnowledgeBaseId + ? props.existingKnowledgeBaseId + : '', }, }; + // Lambda function to load the config and do all pre steps before query generation. const reformulateQuestionFunction = buildDockerLambdaFunction( this, @@ -378,9 +509,10 @@ export class TextToSql extends BaseClass { environment: { DB_NAME: props.dbName, CONFIG_BUCKET: this.configAssetBucket.bucketName, - }, - + PROXY_ENDPOINT: proxyEndpoint, + SECRET_ARN: this.secret.secretArn, + }, }; // Lambda function used to generate the query @@ -418,6 +550,8 @@ export class TextToSql extends BaseClass { environment: { DB_NAME: props.dbName, CONFIG_BUCKET: this.configAssetBucket.bucketName, + PROXY_ENDPOINT: proxyEndpoint, + SECRET_ARN: this.secret.secretArn, }, }; @@ -439,8 +573,7 @@ export class TextToSql extends BaseClass { const autocorrectQueryFunctionProps = { functionName: autocorrectQueryFunctionName, - description: - 'Lambda function to keep the count of autocorrect loop.', + description: 'Lambda function to keep the count of autocorrect loop.', code: lambda.DockerImageCode.fromImageAsset( path.join( __dirname, @@ -454,7 +587,6 @@ export class TextToSql extends BaseClass { timeout: Duration.minutes(10), tracing: this.lambdaTracing, role: textToSQLFunctionRole, - }; const autocorrectQueryFunction = buildDockerLambdaFunction( @@ -464,7 +596,6 @@ export class TextToSql extends BaseClass { undefined, ); - const feedbackQueueName = generatePhysicalNameV2( this, 'feedbackQueue' + this.stage, @@ -488,6 +619,9 @@ export class TextToSql extends BaseClass { }); + this.secret.grantRead(queryGeneratorFunction); + this.secret.grantRead(queryExecutorFunction); + // STEP FUNCTION //const completedState = new stepfunctions.Pass(this, 'Done'); @@ -508,10 +642,16 @@ export class TextToSql extends BaseClass { { queue, messageBody: stepfunctions.TaskInput.fromObject({ - message: 'Following is the reformulated question. Do you agree with the new question?', - reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), - user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), - question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), + message: + 'Following is the reformulated question. Do you agree with the new question?', + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( + '$.reformulated_user_question', + ), + user_question: + stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( + '$.question_unique_id', + ), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -525,13 +665,20 @@ export class TextToSql extends BaseClass { { queue, messageBody: stepfunctions.TaskInput.fromObject({ - message: 'Following is the generated query. Do you agree with it or want to override?', - generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), - reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), - user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), - question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), + message: + 'Following is the generated query. Do you agree with it or want to override?', + generated_query: stepfunctions.JsonPath.stringAt( + '$.queryConfig.Payload.validated_sql_query', + ), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( + '$.reformulated_user_question', + ), + user_question: + stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( + '$.question_unique_id', + ), TaskToken: stepfunctions.JsonPath.taskToken, - }), integrationPattern: stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, @@ -544,11 +691,19 @@ export class TextToSql extends BaseClass { { queue, messageBody: stepfunctions.TaskInput.fromObject({ - message: 'Following is the generated query. Do you agree with it or want to override?', - generated_query: stepfunctions.JsonPath.stringAt('$.queryConfig.Payload.validated_sql_query'), - reformualted_question: stepfunctions.TaskInput.fromJsonPathAt('$.reformulated_user_question'), - user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), - question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), + message: + 'Following is the generated query. Do you agree with it or want to override?', + generated_query: stepfunctions.JsonPath.stringAt( + '$.queryConfig.Payload.validated_sql_query', + ), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( + '$.reformulated_user_question', + ), + user_question: + stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( + '$.question_unique_id', + ), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -574,34 +729,39 @@ export class TextToSql extends BaseClass { }, ); - const autocorrectChoiceState = new stepfunctions.Choice( this, 'is_autocorrect_required?', { //inputPath: '$.queryStatus.Payload', - }, ); - const configureCountState = new stepfunctions.Pass(this, 'configure_count', { - result: stepfunctions.Result.fromObject({ - count: 3, - index: 0, - step: 1, - }), - resultPath: '$.iterator', - }); + const configureCountState = new stepfunctions.Pass( + this, + 'configure_count', + { + result: stepfunctions.Result.fromObject({ + count: 3, + index: 0, + step: 1, + }), + resultPath: '$.iterator', + }, + ); const iteratorState = new tasks.LambdaInvoke(this, 'iterator', { lambdaFunction: autocorrectQueryFunction, resultPath: '$.iterator', - }); - const isCountReachedState = new stepfunctions.Choice(this, 'is_count_reached', { - //inputPath: '$.iterator', - }); + const isCountReachedState = new stepfunctions.Choice( + this, + 'is_count_reached', + { + //inputPath: '$.iterator', + }, + ); const queryGeneratorTwoState = new tasks.LambdaInvoke( this, @@ -612,90 +772,102 @@ export class TextToSql extends BaseClass { }, ); - const outputState =new tasks.SqsSendMessage(this, 'publish_query_result', { + const outputState = new tasks.SqsSendMessage(this, 'publish_query_result', { queue: outputQueue, messageBody: stepfunctions.TaskInput.fromObject({ - result: stepfunctions.TaskInput.fromJsonPathAt('$.queryStatus.Payload.result'), - user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), - question_unique_id: stepfunctions.TaskInput.fromJsonPathAt('$.question_unique_id'), - + result: stepfunctions.TaskInput.fromJsonPathAt( + '$.queryStatus.Payload.result', + ), + user_question: + stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), + question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( + '$.question_unique_id', + ), }), }); - const queryExecutorState = new tasks.LambdaInvoke( - this, - 'execute_query', - { - lambdaFunction: queryExecutorFunction, - resultPath: '$.queryStatus', - }, - ).next(autocorrectChoiceState.when( - stepfunctions.Condition.stringEquals('$.queryStatus.Payload.status', 'QUERY_ERROR'), - configureCountState.next(iteratorState).next(isCountReachedState.when( - stepfunctions.Condition.booleanEquals('$.iterator.Payload.continue', true), - alternateQueryGeneratorState.next(iteratorState), - ).otherwise(outputState), - )).otherwise(outputState)); + const queryExecutorState = new tasks.LambdaInvoke(this, 'execute_query', { + lambdaFunction: queryExecutorFunction, + resultPath: '$.queryStatus', + }).next( + autocorrectChoiceState + .when( + stepfunctions.Condition.stringEquals( + '$.queryStatus.Payload.status', + 'QUERY_ERROR', + ), + configureCountState + .next(iteratorState) + .next( + isCountReachedState + .when( + stepfunctions.Condition.booleanEquals( + '$.iterator.Payload.continue', + true, + ), + alternateQueryGeneratorState.next(iteratorState), + ) + .otherwise(outputState), + ), + ) + .otherwise(outputState), + ); const feedbackChoiceStateOne = new stepfunctions.Choice( this, 'is_feedback_req_on_reformualted_question?', { inputPath: '$.queryConfig.Payload', - }, ); const feedbackChoiceStateTwo = new stepfunctions.Choice( this, 'is_feedback_req_on_generated_query_path_two?', - { - }, + {}, ); const feedbackChoiceStateThree = new stepfunctions.Choice( this, 'is_feedback_req_on_generated_query_path_one?', - { - }, + {}, ); const constructProps: EventbridgeToStepfunctionsProps = { stateMachineProps: { - definition: reformulateQuestionState - .next( - feedbackChoiceStateOne - .when( - stepfunctions.Condition.stringEquals( - '$.semantic_layer_strategy', - 'human', - ), - reformulatedQuestionFeedbackState.next( - queryGeneratorOneState.next( - feedbackChoiceStateThree - .when( - stepfunctions.Condition.stringEquals( - '$.queryConfig.Payload.sql_validation_strategy', - 'human', - ), - generatedQueryFeedbackOneState.next(queryExecutorState), - ) - .otherwise(queryExecutorState), - ), - ), - ) - .otherwise( - queryGeneratorTwoState.next( - feedbackChoiceStateTwo + definition: reformulateQuestionState.next( + feedbackChoiceStateOne + .when( + stepfunctions.Condition.stringEquals( + '$.semantic_layer_strategy', + 'human', + ), + reformulatedQuestionFeedbackState.next( + queryGeneratorOneState.next( + feedbackChoiceStateThree .when( stepfunctions.Condition.stringEquals( '$.queryConfig.Payload.sql_validation_strategy', 'human', ), - generatedQueryFeedbackTwoState.next(queryExecutorState), + generatedQueryFeedbackOneState.next(queryExecutorState), ) .otherwise(queryExecutorState), ), ), - ), + ) + .otherwise( + queryGeneratorTwoState.next( + feedbackChoiceStateTwo + .when( + stepfunctions.Condition.stringEquals( + '$.queryConfig.Payload.sql_validation_strategy', + 'human', + ), + generatedQueryFeedbackTwoState.next(queryExecutorState), + ) + .otherwise(queryExecutorState), + ), + ), + ), }, eventRuleProps: { schedule: events.Schedule.rate(Duration.days(1)), From e6006ef30f66f0857a4cce051dbfa30a46b5699c Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 31 Jul 2024 23:34:36 -0400 Subject: [PATCH 08/31] feat(construct): updated db set up --- .../query_executor/db_helper.py | 47 ++- .../query_executor/requirements.txt | 1 + .../query_generator/db_helper.py | 13 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 295 ++++++++++++------ 4 files changed, 259 insertions(+), 97 deletions(-) diff --git a/lambda/aws-text-to-sql/query_executor/db_helper.py b/lambda/aws-text-to-sql/query_executor/db_helper.py index 41afd739..5e4ffa54 100644 --- a/lambda/aws-text-to-sql/query_executor/db_helper.py +++ b/lambda/aws-text-to-sql/query_executor/db_helper.py @@ -1,11 +1,19 @@ +import os +import boto3 +import json +import pymysql from langchain_community.utilities import SQLDatabase from config_types import Database_supported from aws_lambda_powertools import Logger, Tracer, Metrics +from sqlalchemy import create_engine +from sqlalchemy.engine import URL logger = Logger(service="QUERY_EXECUTOR") tracer = Tracer(service="QUERY_EXECUTOR") metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_EXECUTOR") +secret_arn = os.environ['SECRET_ARN'] + def get_db_connection(db_name): try: @@ -13,22 +21,49 @@ def get_db_connection(db_name): case Database_supported.SQLITE: # SQLDatabase is an SQLAlchemy wrapper around a database, which provides a SQL Toolkit on top of databases. # sample db - https://www.sqlitetutorial.net/wp-content/uploads/2018/03/sqlite-sample-database-diagram.pdf - print(f"fetching db schema for {db_name}") db = SQLDatabase.from_uri("sqlite:///:memory:", sample_rows_in_table_info=3) print(db.get_usable_table_names()) - - # db = SQLDatabase.from_uri("sqlite:///:memory:", sample_rows_in_table_info=3) - # print(db.get_usable_table_names()) return db case Database_supported.POSTGRESQL: print("Retrieve db schema from postgresql") # update connection url - return SQLDatabase.from_uri("postgresql://:@:/", sample_rows_in_table_info=3) case Database_supported.MYSQL: print("Retrieve db schema from mysql") - return SQLDatabase.from_uri("mysql://:@:/", sample_rows_in_table_info=3) + credentials = get_secret() + db_user = credentials['username'] + db_password = credentials['password'] + db_host = credentials['host'] + db_name = credentials['dbname'] + db_uri = f"mysql+pymysql://{db_user}:{db_password}@{db_host}/{db_name}" + + print(f"db_uri :: {db_uri}") + return SQLDatabase.from_uri(db_uri, sample_rows_in_table_info=3) + case _: print(f"Error: {db_name} database is not supported.") except Exception as exp: logger.error(f'response :: {exp}') + + +def get_secret(): + session = boto3.session.Session() + client = session.client( + service_name='secretsmanager', + region_name=session.region_name + ) + + print(f"secret_arn :: {secret_arn}") + get_secret_value_response = client.get_secret_value( + SecretId=secret_arn + ) + + print(f"get_secret_value_response :: {get_secret_value_response}") + + if 'SecretString' in get_secret_value_response: + secret = get_secret_value_response['SecretString'] + else: + logger.error("Error: Unable to retrieve texttosqldbsecret value") + + logger.info(f'secret :: {secret}') + return json.loads(secret) diff --git a/lambda/aws-text-to-sql/query_executor/requirements.txt b/lambda/aws-text-to-sql/query_executor/requirements.txt index 3b173330..1dbcaef9 100644 --- a/lambda/aws-text-to-sql/query_executor/requirements.txt +++ b/lambda/aws-text-to-sql/query_executor/requirements.txt @@ -5,3 +5,4 @@ langchain_aws>=0.1.12 langchain-core>=0.2.22 langchain>=0.2.10 langchain_community>=0.2.10 +pymysql>=1.1.1 \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/db_helper.py b/lambda/aws-text-to-sql/query_generator/db_helper.py index 5d468cfa..18c9b88e 100644 --- a/lambda/aws-text-to-sql/query_generator/db_helper.py +++ b/lambda/aws-text-to-sql/query_generator/db_helper.py @@ -12,7 +12,7 @@ tracer = Tracer(service="QUERY_GENERATOR") metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_GENERATOR") -proxy_endpoint = os.environ['PROXY_ENDPOINT'] +#proxy_endpoint = os.environ['PROXY_ENDPOINT'] secret_arn = os.environ['SECRET_ARN'] @@ -33,7 +33,7 @@ def get_db_connection(db_name): credentials = get_secret() db_user = credentials['username'] db_password = credentials['password'] - db_host = proxy_endpoint + db_host = credentials['host'] db_name = credentials['dbname'] db_uri = f"mysql+pymysql://{db_user}:{db_password}@{db_host}/{db_name}" @@ -54,12 +54,17 @@ def get_secret(): region_name=session.region_name ) + print(f"secret_arn :: {secret_arn}") get_secret_value_response = client.get_secret_value( SecretId=secret_arn ) + + print(f"get_secret_value_response :: {get_secret_value_response}") - if 'dbSecret' in get_secret_value_response: - secret = get_secret_value_response['dbSecret'] + if 'SecretString' in get_secret_value_response: + secret = get_secret_value_response['SecretString'] + else: + logger.error("Error: Unable to retrieve texttosqldbsecret value") logger.info(f'secret :: {secret}') return json.loads(secret) diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 2eef08fa..2a9de988 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -80,7 +80,14 @@ export interface TextToSqlProps { * If no exisiting security group is provided it will create one from the vpc. * @default - none */ - readonly existingSecurityGroup?: ec2.ISecurityGroup; + readonly existingLambdaSecurityGroup?: ec2.ISecurityGroup; + + /** + * Optional. Security group for the db instance which this construct will use. + * If no exisiting security group is provided it will create one from the vpc. + * @default - none + */ + readonly existingDBSecurityGroup?: ec2.ISecurityGroup; /** * Value will be appended to resources name. @@ -109,6 +116,36 @@ export interface TextToSqlProps { readonly databaseType?: DatabaseType; + /** + * Optional. Existing Aurora Managed DB cluster + */ + readonly existingAuroraDbCluster?: rds.DatabaseCluster; + + + /** + * Optional. Aurora Managed DB cluster prps. + * Passing existingAuroraDbCluster and databaseClusterProps will result in error. + */ + readonly databaseClusterProps ? : rds.DatabaseClusterProps; + + /** + * Optional. RDS Instance prps. + * Passing existingRdsDbInstance and databaseInstanceProps will result in error. + */ + readonly databaseInstanceProps ? : rds.DatabaseInstanceProps; + + /** + * Optional. db port number. + * @default -3306 + */ + readonly dbPort ?: number; + + + /** + * Returns the RDS db instance used by the construct + */ + readonly existingRdsDbInstance?: rds.DatabaseInstance; + /** * Optional. Allows to provide custom lambda code for all pre steps required before generating the query. * If not provided, default code will be used. @@ -172,6 +209,8 @@ export interface TextToSqlProps { * @default - None */ readonly existingKnowledgeBaseId?: string; + + } export class TextToSql extends BaseClass { @@ -188,22 +227,37 @@ export class TextToSql extends BaseClass { /** * Returns the instance of ec2.ISecurityGroup used by the construct */ - public readonly securityGroup: ec2.ISecurityGroup; + public readonly lambdaSecurityGroup: ec2.ISecurityGroup; + + /** + * Returns the instance of ec2.ISecurityGroup used by the construct + */ + public readonly dbSecurityGroup!: ec2.ISecurityGroup; /** * Returns the instance of s3.IBucket used by the construct */ - public readonly configAssetBucket: s3.IBucket; + public readonly configAssetBucket!: s3.IBucket; /** * Returns the instance of RDS proxy used by the construct */ - public readonly proxy: rds.DatabaseProxy | undefined; + //public readonly proxy: rds.DatabaseProxy | undefined; + + + /** + * Returns the instance of aurora cluster used by the construct + */ + public readonly databaseCluster!: rds.DatabaseCluster; + /** + * Returns the RDS db instance used by the construct + */ + public readonly dbInstance!: rds.DatabaseInstance; /** * Returns the instance of secret manager used by the construct */ - public readonly secret: secretsmanager.Secret; + public readonly secret!: secretsmanager.Secret; /** * Constructs a new instance of the TextToSql class. @@ -223,6 +277,7 @@ export class TextToSql extends BaseClass { observability: props.observability, }; + this.validateDbProps(props); this.updateEnvSuffix(baseProps); this.addObservabilityToConstruct(baseProps); @@ -237,16 +292,34 @@ export class TextToSql extends BaseClass { vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, description: 'Subnet group for Aurora Serverless', }); + } + + const dbPort = props.dbPort ? props.dbPort : 3306; + + // Security group - if (props?.existingSecurityGroup) { - this.securityGroup = props.existingSecurityGroup; + if (props?.existingLambdaSecurityGroup) { + this.lambdaSecurityGroup = props.existingLambdaSecurityGroup; } else { - this.securityGroup = new ec2.SecurityGroup(this, 'securityGroup', { + this.lambdaSecurityGroup = new ec2.SecurityGroup(this, 'lambdaSecurityGroup', { vpc: this.vpc, allowAllOutbound: true, }); } + if (props?.existingDBSecurityGroup) { + this.dbSecurityGroup = props.existingDBSecurityGroup; + } else { + this.dbSecurityGroup = new ec2.SecurityGroup(this, 'DBSecurityGroup', { + vpc: this.vpc, + }); + // Add an inbound rule to allow traffic from the Lambda security group + this.dbSecurityGroup.addIngressRule( + ec2.Peer.securityGroupId(this.lambdaSecurityGroup.securityGroupId), + ec2.Port.tcp(dbPort), // Assuming MySQL is running on port 3306 + 'Allow Lambda function to access the database', + ); + } // vpc flowloggroup const logGroup = new logs.LogGroup(this, 'textToSqlConstructVPCGroup'); @@ -264,85 +337,32 @@ export class TextToSql extends BaseClass { }); - // Create a database cluster based on the provided properties - if (props.databaseType === DatabaseType.RDS) { - this.secret = new secretsmanager.Secret(this, 'AuroraSecret', { - secretName: 'dbSecret', - }); - if (props.dbName === DbName.MYSQL) { - const instanceIdentifier = 'mysql-01'; - const dbServer = new rds.DatabaseInstance(this, 'MysqlRdsInstance', { - vpcSubnets: { - onePerAz: true, - subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, - }, - credentials: rds.Credentials.fromSecret(this.secret), - vpc: this.vpc, - port: 3306, - databaseName: 'main', - allocatedStorage: 20, - instanceIdentifier, - engine: rds.DatabaseInstanceEngine.mysql({ - version: rds.MysqlEngineVersion.VER_8_0, - }), - instanceType: ec2.InstanceType.of( - ec2.InstanceClass.T2, - ec2.InstanceSize.LARGE, - ), - }); - - // Create an RDS Proxy - this.proxy = new rds.DatabaseProxy(this, 'DatabaseProxy', { - proxyTarget: rds.ProxyTarget.fromInstance(dbServer), - secrets: [this.secret], - vpc: this.vpc, - clientPasswordAuthType: - rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD, - }); - } else { - // Add code for RDS PostgreSQL instance - } + // assign existing db or db props + if (props.existingAuroraDbCluster) { + this.databaseCluster = props.existingAuroraDbCluster; + } else if (props.databaseClusterProps) { + this.databaseCluster = new rds.DatabaseCluster(this, 'AuroraCluster'+this.stage, props.databaseClusterProps); + } else if (props.existingRdsDbInstance) { + this.dbInstance = props.existingRdsDbInstance; + } else if (props.databaseInstanceProps) { + this.dbInstance = new rds.DatabaseInstance(this, 'AuroraInstance'+this.stage, props.databaseInstanceProps); } else { - // Default is Aurora cluster, create secret credentials - this.secret = new secretsmanager.Secret(this, 'AuroraSecret', { - secretName: 'dbSecret', - }); - - // create database cluster - if (props.dbName === DbName.MYSQL) { - const databaseCluster = new rds.DatabaseCluster(this, 'AuroraCluster', { - engine: rds.DatabaseClusterEngine.auroraMysql({ - version: rds.AuroraMysqlEngineVersion.VER_3_07_0, - }), - instanceProps: { - vpc: this.vpc, - vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, - instanceType: ec2.InstanceType.of( - ec2.InstanceClass.BURSTABLE3, - ec2.InstanceSize.MEDIUM, - ), - }, - instances: 1, - defaultDatabaseName: 'textToSQLDatabase', - }); - // Create RDS proxy - this.proxy = new rds.DatabaseProxy(this, 'DatabaseProxy', { - proxyTarget: rds.ProxyTarget.fromCluster(databaseCluster), - secrets: [this.secret], - vpc: this.vpc, - clientPasswordAuthType: - rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD, - }); + this.secret = this.createSecret(); + // create db instance + if (props.databaseType === DatabaseType.RDS) { + this.dbInstance = this.createRdsInstance(props, dbPort); } else { - // TODO : Add code for Aurora PostgreSQL cluster + // default aurora cluster + this.databaseCluster = this.createAuroraCluster(props, dbPort); } - } - let proxyEndpoint=''; - if (this.proxy) { - proxyEndpoint= this.proxy.endpoint; } + // let proxyEndpoint=''; + // if (this.proxy) { + // proxyEndpoint= this.proxy.endpoint; + // } + // s3 bucket if (props?.existingconfigAssetsBucketObj) { this.configAssetBucket = props.existingconfigAssetsBucketObj; @@ -459,7 +479,7 @@ export class TextToSql extends BaseClass { ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, - securityGroups: [this.securityGroup], + securityGroups: [this.lambdaSecurityGroup], memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), timeout: Duration.minutes(10), tracing: this.lambdaTracing, @@ -501,7 +521,7 @@ export class TextToSql extends BaseClass { ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, - securityGroups: [this.securityGroup], + securityGroups: [this.lambdaSecurityGroup], memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), timeout: Duration.minutes(10), tracing: this.lambdaTracing, @@ -509,7 +529,7 @@ export class TextToSql extends BaseClass { environment: { DB_NAME: props.dbName, CONFIG_BUCKET: this.configAssetBucket.bucketName, - PROXY_ENDPOINT: proxyEndpoint, + //PROXY_ENDPOINT: proxyEndpoint, SECRET_ARN: this.secret.secretArn, }, @@ -542,7 +562,7 @@ export class TextToSql extends BaseClass { ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, - securityGroups: [this.securityGroup], + securityGroups: [this.lambdaSecurityGroup], memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), timeout: Duration.minutes(10), tracing: this.lambdaTracing, @@ -550,7 +570,7 @@ export class TextToSql extends BaseClass { environment: { DB_NAME: props.dbName, CONFIG_BUCKET: this.configAssetBucket.bucketName, - PROXY_ENDPOINT: proxyEndpoint, + //PROXY_ENDPOINT: proxyEndpoint, SECRET_ARN: this.secret.secretArn, }, }; @@ -582,7 +602,7 @@ export class TextToSql extends BaseClass { ), vpc: this.vpc, vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, - securityGroups: [this.securityGroup], + securityGroups: [this.lambdaSecurityGroup], memorySize: lambdaMemorySizeLimiter(this, 1_769 * 4), timeout: Duration.minutes(10), tracing: this.lambdaTracing, @@ -880,4 +900,105 @@ export class TextToSql extends BaseClass { constructProps, ); } + + + private validateDbProps(props: TextToSqlProps): void { + // Check if existingAuroraDbCluster and databaseClusterProps are set at the same time + if (props.existingAuroraDbCluster && props.databaseClusterProps) { + throw new Error( + 'Only one of existingAuroraDbCluster or databaseClusterProps can be set at a time.', + ); + } + + // Check if databaseInstanceProps and existingRdsDbInstance are set at the same time + if (props.databaseInstanceProps && props.existingRdsDbInstance) { + throw new Error( + 'Only one of databaseInstanceProps or existingRdsDbInstance can be set at a time.', + ); + } + + // Check if existingAuroraDbCluster and existingRdsDbInstance are set at the same time + if (props.existingAuroraDbCluster && props.existingRdsDbInstance) { + throw new Error( + 'Only one of existingAuroraDbCluster or existingRdsDbInstance can be set at a time.', + ); + } + } + + private createSecret(): secretsmanager.Secret { + return new secretsmanager.Secret(this, 'AuroraSecret' + this.stage, { + secretName: 'texttosqldbsecret', + generateSecretString: { + excludePunctuation: true, + passwordLength: 16, + secretStringTemplate: JSON.stringify({ + username: 'admin', + }), + generateStringKey: 'password', + }, + }); + } + + private createRdsInstance(props: TextToSqlProps, dbPort: number): rds.DatabaseInstance { + switch (props.dbName) { + case DbName.MYSQL: + const instanceIdentifier = 'mysql-01'; + return new rds.DatabaseInstance(this, 'MysqlRdsInstance', { + vpcSubnets: { + onePerAz: true, + subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, + }, + securityGroups: [this.dbSecurityGroup], + credentials: rds.Credentials.fromSecret(this.secret), + vpc: this.vpc, + port: dbPort, + databaseName: 'textosqldb' + this.stage, + allocatedStorage: 20, + instanceIdentifier, + engine: rds.DatabaseInstanceEngine.mysql({ + version: rds.MysqlEngineVersion.VER_8_0_37, + }), + instanceType: ec2.InstanceType.of( + ec2.InstanceClass.T2, + ec2.InstanceSize.LARGE, + ), + }); + // case DbName.POSTGRESQL: + // // Add code for RDS PostgreSQL instance + // return undefined; + default: + throw new Error('Invalid database name'); + } + } + + private createAuroraCluster(props: TextToSqlProps, dbPort: number): rds.DatabaseCluster { + switch (props.dbName) { + case DbName.MYSQL: + return new rds.DatabaseCluster(this, 'AuroraCluster', { + engine: rds.DatabaseClusterEngine.auroraMysql({ + version: rds.AuroraMysqlEngineVersion.VER_3_07_0, + }), + port: dbPort, + + instanceProps: { + vpc: this.vpc, + vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }, + securityGroups: [this.dbSecurityGroup], + instanceType: ec2.InstanceType.of( + ec2.InstanceClass.BURSTABLE3, + ec2.InstanceSize.MEDIUM, + ), + }, + instances: 1, + defaultDatabaseName: 'textToSQLDatabase', + }); + // case DbName.POSTGRESQL: + // // Add code for Aurora PostgreSQL cluster + // return undefined; + default: + throw new Error('Invalid database name'); + } + } } + + From 3bacd97b4834921d30bfaa821a11c97903800402 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 1 Aug 2024 00:06:32 -0400 Subject: [PATCH 09/31] feat(construct): updated generated sql query --- lambda/aws-text-to-sql/query_executor/custom_errors.py | 5 +++++ lambda/aws-text-to-sql/query_executor/lambda.py | 9 +++++++-- lambda/aws-text-to-sql/query_generator/custom_errors.py | 3 +-- lambda/aws-text-to-sql/query_generator/lambda.py | 7 +++++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lambda/aws-text-to-sql/query_executor/custom_errors.py b/lambda/aws-text-to-sql/query_executor/custom_errors.py index 99c3595f..e718d031 100644 --- a/lambda/aws-text-to-sql/query_executor/custom_errors.py +++ b/lambda/aws-text-to-sql/query_executor/custom_errors.py @@ -8,6 +8,11 @@ def __init__(self, message): super().__init__(message) self.message = f"[502] Failed to run query {message} against DB" +class GeneratedQueryNotFound(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[502] Failed to run query {message} against DB" + class FileNotFound(Exception): def __init__(self, message): diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index b4b39204..d2f8452a 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -6,7 +6,7 @@ from langchain_core.prompts import PromptTemplate from langchain.chains import LLMChain from config_types import WorkflowStrategy,ConfigFilesName -from custom_errors import LLMNotLoadedException,FileNotFound +from custom_errors import LLMNotLoadedException,FileNotFound,GeneratedQueryNotFound from db_helper import get_db_connection # aws libs @@ -48,7 +48,12 @@ def handler(event, context: LambdaContext)-> dict: user_question = event.get("reformulated_user_question") print(f"Retrieve schema from:: {db_name}") - generated_sql_query = event.get("generated_query") + + generated_sql_query = event["queryConfig"]["Payload"]["validated_sql_query"] + if generated_sql_query is None or generated_sql_query == "": + raise GeneratedQueryNotFound("generated_sql_query is None or empty") + + print(f"generated SQL Query: {generated_sql_query}") sql_synth = config.get("sql_synth") diff --git a/lambda/aws-text-to-sql/query_generator/custom_errors.py b/lambda/aws-text-to-sql/query_generator/custom_errors.py index eb8f4836..8ca45496 100644 --- a/lambda/aws-text-to-sql/query_generator/custom_errors.py +++ b/lambda/aws-text-to-sql/query_generator/custom_errors.py @@ -8,8 +8,7 @@ class StrategyNotFoundException(Exception): def __init__(self, message): super().__init__(message) self.message = f"[503] The selected strategy {message} doesn't exist" - - + class QueryGenerationException(Exception): def __init__(self, message): super().__init__(message) diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index 87e7bfae..af9b3771 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -118,13 +118,16 @@ def get_fewshots_static_prompt(event, sql_generation_config,original_user_questi else: raise ValueError(f"{ConfigFilesName.FEW_SHOTS_JSON} not found in file_contents") - generated_query = event.get("generated_query", None) + query_status = event.get("queryStatus", None) autocorrect = False if query_status is not None and query_status.get("Payload").get("status") == "QUERY_ERROR": autocorrect = True error_message = query_status.get("Payload").get("result") + generated_sql_query = event["queryConfig"]["Payload"]["validated_sql_query"] + if generated_sql_query is None or generated_sql_query == "": + logger.info("generated_sql_query is not found. Generating alternative sql...") else: logger.info("autocorrect is False, execute query without autocorrect") @@ -137,7 +140,7 @@ def get_fewshots_static_prompt(event, sql_generation_config,original_user_questi max_number_few_shots, original_user_question, error_message, - generated_query, + generated_sql_query, table_info ) else: From 54b1edef229233e0ef49dd553025bd3c238cd820 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 1 Aug 2024 10:16:28 -0400 Subject: [PATCH 10/31] feat(construct): added exexute query choice state --- .../aws-text-to-sql/query_generator/lambda.py | 5 ++++- src/patterns/gen-ai/aws-text-to-sql/index.ts | 22 +++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index af9b3771..a093269c 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -40,7 +40,9 @@ def handler(event, context: LambdaContext)-> dict: sql_generation_config = config.get("sql_generation") + execute_sql_config = config.get("execute_sql") sql_validation_strategy = sql_generation_config.get('strategy', WorkflowStrategy.AUTO) + execute_sql_strategy = execute_sql_config.get('strategy', WorkflowStrategy.DISABLED) text_to_sql_query_generation_llm = get_llm(sql_generation_config) if text_to_sql_query_generation_llm is None: raise LLMNotLoadedException("text_to_sql_query_generation_llm") @@ -81,7 +83,8 @@ def handler(event, context: LambdaContext)-> dict: response = { 'validated_sql_query':validated_sql_query, - 'sql_validation_strategy':sql_validation_strategy + 'sql_validation_strategy':sql_validation_strategy, + 'execute_sql_strategy':execute_sql_strategy } return response diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 2a9de988..c851d1b4 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -851,6 +851,19 @@ export class TextToSql extends BaseClass { {}, ); + const executeQueryChoiceState = new stepfunctions.Choice( + this, + 'is_query_execution_req?', + {}, + ).when( + stepfunctions.Condition.stringEquals( + '$.queryConfig.Payload.execute_sql_strategy', + 'disabled', + ), + outputState, + ).otherwise(queryExecutorState); + + const constructProps: EventbridgeToStepfunctionsProps = { stateMachineProps: { definition: reformulateQuestionState.next( @@ -868,9 +881,10 @@ export class TextToSql extends BaseClass { '$.queryConfig.Payload.sql_validation_strategy', 'human', ), - generatedQueryFeedbackOneState.next(queryExecutorState), + generatedQueryFeedbackOneState.next(executeQueryChoiceState, + ), ) - .otherwise(queryExecutorState), + .otherwise(executeQueryChoiceState), ), ), ) @@ -882,9 +896,9 @@ export class TextToSql extends BaseClass { '$.queryConfig.Payload.sql_validation_strategy', 'human', ), - generatedQueryFeedbackTwoState.next(queryExecutorState), + generatedQueryFeedbackTwoState.next(executeQueryChoiceState), ) - .otherwise(queryExecutorState), + .otherwise(executeQueryChoiceState), ), ), ), From d2943b4d5c80b642f4ef39e645dd214abca1816a Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Fri, 2 Aug 2024 12:18:29 -0400 Subject: [PATCH 11/31] feat(construct): bug fixes --- .../aws-text-to-sql/query_executor/lambda.py | 6 +- .../aws-text-to-sql/query_generator/lambda.py | 2 +- src/patterns/gen-ai/aws-text-to-sql/README.md | 4 +- .../gen-ai/aws-text-to-sql/architecture.png | Bin 0 -> 613121 bytes src/patterns/gen-ai/aws-text-to-sql/index.ts | 287 +++++++++--------- 5 files changed, 153 insertions(+), 146 deletions(-) create mode 100644 src/patterns/gen-ai/aws-text-to-sql/architecture.png diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index d2f8452a..af04fa1c 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -44,12 +44,12 @@ def handler(event, context: LambdaContext)-> dict: raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") - execute_query_config = config.get("execute_sql") - user_question = event.get("reformulated_user_question") + execute_query_config = config.get("execute_sql",None) + user_question = event.get("reformulated_user_question",None) print(f"Retrieve schema from:: {db_name}") - generated_sql_query = event["queryConfig"]["Payload"]["validated_sql_query"] + generated_sql_query = event.get("generated_query",None) if generated_sql_query is None or generated_sql_query == "": raise GeneratedQueryNotFound("generated_sql_query is None or empty") diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index a093269c..3ea99a5e 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -128,7 +128,7 @@ def get_fewshots_static_prompt(event, sql_generation_config,original_user_questi if query_status is not None and query_status.get("Payload").get("status") == "QUERY_ERROR": autocorrect = True error_message = query_status.get("Payload").get("result") - generated_sql_query = event["queryConfig"]["Payload"]["validated_sql_query"] + generated_sql_query = event.get("generated_query", None) if generated_sql_query is None or generated_sql_query == "": logger.info("generated_sql_query is not found. Generating alternative sql...") else: diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 7af1cf29..cfdbc8a1 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -34,7 +34,9 @@ ## Overview -This construct leverages natural language processing (NLP) techniques to generate SQL queries based on user input in natural language form. Given the inherent ambiguity in natural language, the system employs semantic linking, which utilizes a knowledge layer loaded from configuration files or a knowledge base. +This CDK construct leverages generative AI capabilities to generate SQL queries based on user input in natural language form. + +Given the inherent ambiguity in natural language, the system employs semantic linking, which utilizes a knowledge layer loaded from configuration files or a knowledge base. The semantic linking component reformulates the user's query to disambiguate and clarify the intent. It then prompts the user for feedback on the reformulated query. If the user approves the reformulated query, the construct generates the corresponding SQL query and presents it to the user for further validation. diff --git a/src/patterns/gen-ai/aws-text-to-sql/architecture.png b/src/patterns/gen-ai/aws-text-to-sql/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..d6138fbcf950f869dcc4282ecb96d38dbdcbef3b GIT binary patch literal 613121 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 z z;$nwbfrNL~m^o@eXPz$fGkKu^AzH!Ik1b}vHdikEFT;;7c<=nShpii}@B9hlPc6Xi z(@1K&I(38c2j;yG&%q#0J(#DRj!7dASj)8wW+xF(iEIiYVeqpf$+dhz8`j{{p86Ot z-g_6BxWvMZC>#6J|NYVbDaYXj_$D6Rw}#&{Te<4d8Uk|}5pjtr@7CE~+5SlVs}fR}M$%zEmDBFN4_NTv2VJVN=_ zBP8X75Q7g8{-f*)Dg8wZ_$7PsERx#`a|I#cfrUr+kaS-=VdR@hk_>K>Za`R>ug1>C zTdp6l4$i#AfO7Qum}AfxlzM-BwP zSQXMqo_x2ZfG_mu{^bj&!BE~u=7>Fj$2UE8DdrPY-Hj($0|6<4{r0U9s-lBa@p(lJ zHA;zs+Q{mXmQGWT-_pc&$^3REQ&y|0)}uA$=%rCZ9ewktmI3dLQRkjaMXIfz>7j8( zrLf1nU6M$IF@&q;-c-d6n9#ce4kk&#n7_n3So9KYJe&UI5hacR?j~^vvXF~5TKuc` z(&}t;qYH`E{f9g-PX^}x>EmScU6&7QfQ()!6Bs{AD&~XifRFeKz`X~!Q>$7a_*w5% zvJm6%4ezw2>tJDx4E(R1N3FwZ4Lg%bR?XLP1BJ%YFcCZ**3C%Zd%_yD7j=x#;>ilj zYbnbWJval0cK2X!a)i^bA!*wgl^nG}Vi)B+_t!$d;x3n{UMSuGIQD%zbyU%ly%U4=fyUy44T3Y?$p~f|Wn0rUV zJT}GuU#AGuXJQamPEje zo5HnlI>~FOTqphW9y9IlTaJzk7L+cJ%`SR&iq0-VOF+Ge$&!fWa`}K;5v(hZ z-@p`Z;$V`1W z!|_~&rYxytHB5YoWWrs4Whepm$PY1gFr~@S%zQN;J$Pn0S{K}(fp|sAdTIZomq|x` zP88A|Dz~Cqzy16BNAu~nDEldttlRf(kkmF<`ZYUuA?pdVN&?G(iF-j-9WXg2So0SS zm@bnTCoH=YkN~-;YwCXY^ zJ`T?}uB`~_SYj%D(4R|?vDp^I?k=EwF{DKG)fKvV;l4*b8S+VM-wEJHPcn<&eqa59 zbv~eRzcgS_*@w`$q;^*iGeO+a&w^IrZ2F0QI~UJEKrlsmv>^tssGPOuM3M44Bl>6P z+qTAEUmy|#Uw*Ri+$%#*nVzYF%y`HM`(gj0=>$#!%hnN;ewa8Z2pRLy&@8vh;;20u zv!D@^dN;?x5_82V$(DsY-J<9xX9Qb#4HLqWlerfLieeh~FzicP{9`V6Q7pNz&o>+- zNDj#Nk0d+iBlCW8nBfYW5D(+>2ik*W_an&JbvROmT}k20T?o{^726qVrVUrxnYsua zv68{jS895m^4XZ7q>4@-{hZ_$xtk^Wxk~aI+g8E|@lH}iuHusZ59F$z--SuFkj(Ms z+wFxq^ROSXni>09$As7WG<&jCld~^$14y%j`6d%b=elR zqC5joX$woOQ6GaRv+1lPaB}FHSkOyVJc9K?D#Fh|I$d!*xD}I9#|6|fHsV>oELPx0h5re!?x7efn64^^7@(@9v>*`6jHl2+3Tn+xfI%PP;M6hHbQlcSmS zatD?Lst>^KKz|PX62>_zVCU@!Im-3`-jGQ@Y9(-OF67EFct6`que;?ZUU<+tvI+NCXA9vcha!0J>~geManSEc ze|#!Mp5D`9Yi%A;pfFzC8|rPbuPvmHDbNl`W9%h|a-+X^XQjoKnI(%^Btb8_`!lq^ zh;{SJi}oE?n_FND``J1B{#@;dy1Kfj>2GU))xxr?9O3Q7QuRQ|ho%i4)fb#c9@&;Y z5?%tW3qQ~IparI{(Kq+yYAfm#8nMFWUsXYG3q*M@;gDZ{R*^|LbM}R(@NNPh0sm2% zOd{v)5~n?oMa+~QkDw>4xxNm<3)`ryopBFaeedz0xufs^h#@hA;5QuMT@4z^sO78PQ+IAPg63aoTrk>V8^xD;aS zrI4(5UYxmc(eJedg&b`kF50s_8=Y!vp~EGC^ZaHq?Tz@}vx#G3(H+4cba6+<+rJ$e zlfz2^V3P)bsF7O}^dbddV^*G##sb@foDUh3(;3nh4qqdZIl8VGYkgUTBqQe1CQjWh zz8p}>+b4=oGHqHzA0Cg(%0%RPSAk)r!ux>J<{R2y+B0jhUHY{X_pHAtU;UFW zbDHm?s>8*(K&JG$Dn%Dmuulh59QE^+#0Ao0OPjBMU78*Kr?6?uyKdPi6L6>hi^4!~@N znxm{emac&oza65FERQDGxao}e9!c-cYOuN@=sACG?IdHEBJQS1v|_>M8nC*DDi8l5 zZUI`~&f#q$auu|m3^e87l7vC)TN$ogQo#`=!_Sjj)=uf75m80;dvE*dx1*({B8_>Mgm>F(rXyB;)EWRBYzdiIjR{H^*?b6#rNce9|44iC!veMH#gcZ9#>?|P zW%qltJ-URJg=0lMYnBJ@1i-NlD*C*Wc|3eI*YVFE^Jw8pf_wL?AaV$=tHc=Aj@(Oq zLDx_8-1O%>l(-%NSj~LSb~n_2c#{?UZX!aH_+qKw1Zo+fT|u%3Z@DQB_d-LVnp9Q_QpWP&q}xqqoByT=OWn9H>UsG1@>(+LXPYfKSs?s z?l6j@##G}vLJn*v3bFYY5SxD+RHK_=t}!v2{(D`r`Yf4^2xtFn99E*5FSz|oU4`Yl z(vHbsJQV#;Qjq@AcsV=z@cn5XuN{}>Wx6li#x+{!uicv%E?1|@O9&OT`&Rt6(&`EW z$kHNKmQHUB+lj6FI&Oq5+TH)^gZoa^XTxrD_!Zw{1a;s3ya+7pxzjCHIa+GuCa4Wx zm|y-kfPx>x2pS?Z%sHT_j1nDiKeC{ToXdUsreKXY@iiXC331v}^!4#9XbF;^zvAeI z+n1+j(&S9#@|0qER-0+OrBc~hSi(q|6kOiU&3}VkxvI7`bFW`D-*f|)vw7N&kn3TT zW!)3v-3GJPaP>esoW147{Y%SQUhp|#lDI6^QvBDYM=s3oxHg32H!AZP;a^O;r;)PuAon}@bHA^gQYocf_)UiJ1~w0_z%+}DLd-$ z32uBTp^yKs}Xqe+ zX?@dtDIOgpj}pEAw8ID2-VYHGi`PN%WTQz@r&y1UHPYGW>9nIjWlz*PfXWsR2WB$( zrXVD@+u-T+e=q@v^{1g6t2piOnWZPN+EJe$u@Csffd4psXE_v9NLzGJm%a-yx@AQc z^tcMAHcad~mK3yS3N|y4h-UnKrdxon0sWsit6WujZG@ zjbFo5j`fHUi{rD(Fsinfk2>Zk5$VpG+DU!gT8_;$NeK)Y7Z|d%;Rt%$Dh$6>gdwiW z{)~?Mti8=Se^GaXGT&hS@%=;Jub6aK{JAU;Pm= z$5HYj%RIt=CM22+w?sXIn?IvqBGkA|$9K#iM(?JG8D{6|8m_mcAqdO2JFo&g8e*@) zxm$>u(z^?iGGgA`ZAMD})6Foj2)z}&l4)?KRddf~D}IjSOJ5aF)XmpJX*CGPf@Ly7 z1f`N$dgS4{-Pg;NASj;;{&e;a8Kif2C5wsas+(!opGy?Yiwp5*@_mj7i%jua+JOx? z{532B9F1wSQcKTFz+X?Y60C^`yNJ+>mri$B-z(A%OJR({etsUKtiWhwa9fXp+Y8kU zuSoccISeb5;vnAh^{vH+AQJo8L}wY}QsBX>5O$LfCS@Y!B0K=gHTBuK-Yn(>W>rSG zXBu#rzSt;`@OyYB@U>mUsq=QoDsXu7`fJM!@y}skzacCo6`eq6%axn`BE$_47lZSa zE6IO2e%hlXsWhK#!(IRnx4fJ8rUQAQFn{E^-^tuXNlMekOJVdhwko(HN_cM8#&?om zjz!FGNa$aSHRJuOd?3SNw$rxesa^Bb>}(#(=H{>xjVBs)&FU-1<%_&Kka>o=0bn?8-ph0THh)w&-^@3nN^euHKVV?$^wh5n2p_Hh4NVa8iv zhM#-VQv=v{ebTubD-W&*Eg=D@ssD>l^nuUBD}vBbSsSQu<^k4shzj5Yi!Ks4o;X$; zDdv_mp?aMWC|&{Xx#_ZAm5>J|U(#jUC*D5k9eYkZVh3oGy`U0*U74$PvE*qxk44AX zb3A5peXv`UD-v=4{+BP4`TF@ynz3k$$C#B0PH;Ga5uYM$%H`6(*D}JhZ1o2 z20p8==cb#+DD9j(XI&B6l(hRlu&UteIn`m)s_K3@E^?e~DGw>-Go zX3%_$T7!@S6Y-z+817`XBw>VGCSWy~9W?ll!&f$bM1x;AopI*`0b1lVD)Ry*aJT6^ zAMyX!(n?UymFk~Wb8#Wg9arqamO1yt8}zCT8uYfx z^9|Mt1ixo9%*&4o2DbVeccE&^iP~>GHLmrFu{2GhvufB?aa!z%skNi#plFYY$uf1( z{?jTt_bs*Hg2wJdWTeAxK(g7NI{(5o(c+tU)hUXyUuJ(XZ?{fUIY)#uDP{|gxmXrj zkL;9Q6P}m5|D`T?!NZmI9|4}i0THO~Zkx+j!yHn5{kXBiaxi!%xXZz;&U9+$7d9ZinCR@zc6xJTIiDZU!Bg-k9X*|)TE(iXHIsxsqpOjM*T+Sa#OtV ztnos(q}d*IS9`(+Wjo(7JM~#k!_5G#e6=dF*^l+x?al3CF-b9xBZdRcJWS*!0`NX$ z8oovd$DlG0@NmqKqiMKq{sJN0v|#|hC(TNW)dZwygXle5BNpVQ=RBX4-Q4@>>L;eO zPy8@^?#Z`87Cvc=_t2Rh*Y){+2nc%xd+1f$o9oxRm0x(=EkWS8hUgd=ZnOQ}jTp@O zf?_O>`JI_HBqJ$JWlZjHPkk7tnZJh?^&&g!*eU1{xC1wASGC_@x*M1iiv zs?r{d{=6Z!!=h`%FLizARhELz?nG|SOk~7VHp4>RI1GSsr}$-@)y}=d_C9bl3}rB7 zGsKaVq+eBQp7`FX)pfQ^mlTsE;+<)n!EIRaJd#`Y`sF|aKC6~BRS_kWC_}wJ6#&@5 zNwzovgqGCfIh5{@&pDKi>RTayAtwY>sOMz@6{9Z;js$rj-51H%{A5gSvoGV7>sWeZ zEAK9k)tkd!XLXuC3j?Z`yf$xlG4#X6=M0FbBfgezM}M8GLoDQ$BH6Utt`|YzMX}O$ zlu=AfY<|0TsYcPZeqE<)pqYSWn;}$~)RAlc#{Hg*r>j5YLGC9nBmS5t>-T`##!{!r z%b?mLzo;vQuAcP#X3)2fxguD*vEPVba7@7f-xIUnCz7*I2|8PIJC6vf zwMD(4{NO!SqFwXnCwu&Ls^eQOJE^Fi3di;j+;J1JAu(PY^@SJnJCpc!?{DcQzVGY8 zzv+i}R4%aZhMvO3hvI&^L7s8vP z!a;vyCA6}L6Zj>dYxRLVUe3d2&!Qd*7t?8Ja6p3T1?>qZ)G&7-CLVdQcz)-iadglBbBw#PV zFf0u6~<`*qng8V1T9^t0XX%SJ7Z*7DD5^}PYf zG%5Y@8_rfh9B~sFG(UXyRq0|20AF{!`?^gw+b0%u>VwWQtpMQmez8<^zRwZY{Zo9? z2F|NH7=6n!RG{qmq{|C^2dcL9C$^g7m3G4lmtWQo|M>=yMMZ**s5AL2K|@PS5;vL~ zoufJQ-~B1W3lWPH-3`cH7ERcQ)50 z3{&r6E_e7*xfiuQex4K#_B1tzT)iG z*C^X*TBdbrZ<&0{V|oB3{NSQn5V|_Q*2qI*mc@5B-JBhUSbtLdcyii&=vPtu#)teY&GgmFj{QJCj3#TQaF*=mR3J?2&sy-Tf*ZTyIONjOZw7n zCtbb1M|8C)_Kt@c*Pc9u`aArf53kRZ^B(xl##dJhqzVO-T@~H zqXgcQiO0)*6XzwaA7jq2{8tIGw@*f*7Sp!U>m=-c(DEwF4(jCV(S45RkAYz_Qe1)i zK1lE*!F{Q^Fa%=UMfC5y0j&$Wt`c1k^{5gLmt*|=>Z)Xo)34mUyNX%h3Acb-%<+P{ zcKD0{YGL&P;;UnEW|!r=g|oNCoI^b5!ieoY?Ld&nIJ{KN}%R6=)8nj>| zYSISd^ZfQzj|CSVGX?OAR%Z*pbeL(_OVDC5Rf#KS-KqSN6Z#@5LRDB|w~p6422CSu zMCrW}Y_q3FTvR;(n^7CV37=zAz9%k)fhNi9rGNTWeZv-s0x!O4ZUbAIuCf4? zdIqPCq$U9Y^}$_45Q zCyecoOz%XVnav9^>0i5Z&glmq0mZG>!1k%thJBscBzq0bYIC{U=(T0?a#V&eRoFqHAliFoWdnzlG?##|6t8FBlc%deklQp7U4`nZF?wn!NvM&F>-?N$}p2 zP_d}Vjpy3qpFJk!S+(bn2-N8)55D0Y*U8|=^Oi~wo9*b$w9kCTW4X7z+MTW{Js%$= zx8EdE+489Q(vOyW>sTIpwI~JYd1}>+ee?F~_rDY>X6!ld%*xz%L6d}6J}MR7efQYa z++wnkkf`c)%&Dr^51YR*XEo5Ke-g>{@|qYk%>2yCoWruq-k`@M85kOQT5LxC3Bw+f zT^(9Ak?etW(!XiceI!)$qS%#n90{hLX5xk5K0sEGGz9Jb5Fx?TlpwUu+ZyoS{O+NZ z#t6Q(&P&)p!jf?I9OQf=(q9THc(sv+!x*oE9N^M&D@tPtx zM`UF^qg45FPkK?lQMt@~e*tHa$bMBMNR}Ms=3c;U=N6b}nkBk@Z|_u&(OeS?szG|~ zGSBoEY~rWIHJ!#y=~Dbo0%nxFi;81U4TGl672W^-L|>yui*cX&rl=zH#_9-*X(c6vJJ=L!`pofEi3O?OeKY~AQ>opStiA8&2m z+R`~uDXv8~6_l{WXJeKDq8eq-y`7BTJ&R92so$yI>kuaS?zvCL&?g%t7utfBGm*mZ zkHxYdv#ZfeRJ8=ZUd=QSV1>xB`<^GCb%C)av}ga(36!MNz5FUoJ9IubS@!jMnaJjYqL+4mnV- z;T|$x#GI3Z>lI7iwQv~-g(nZ%g$qk5U>#=yOSR0$WAd~xW{0y!G9^&X?y^j}YD3PG z^HE9k^$x?79iV1`I#rOi7N9+@m6cfwMyYH>ig$p_||evRgG zV%2HQcuDM=UrH$K<&&xVT%Ae;MNJzgnFZ>5ndV=i7y{bxj0I(a(aT+4(q{_)sP;Kt zsN5;#&UEiu2$@=t&Pd*z>g92|dAkYK-##NPT{l4S%keX<{?1!wf?)KRz4in59bdA%) zDLtuDv2t?1D@sxlqVMa;Ni%q~O*q9)&;q{986U~$c* zRt}>wTSGAyQ?PlHYq6i({h-R)XtH zYzYW7eKoiv#+*l3Aog&wu!93!oOg1FJCUdH;q+Z@%S3yBpioBl=Wg})p7-B_66+W! zI>F5g<4{&1x%C*6@W58*x)dbQDAPXeH0CDs)>nGeTNLyOqKRX9f1Df6{$)|X4Zxz0 z`C`BRB{y`oCBK@`d_vhdcU&w^Op;Akuoyq1OV^7N7>;(b*u&+5o~=dRG-(Wxh5Vex zUI;p@jah6>LkZQe_EERBP1_2Gp~riDo!@>*T9*yTLBEQ0L}=7YJCElVO!6$I!XV0L zsN=Q!;sL{se%Vxdi*u01ekZ$Tri|lpK7#SYj`N4vG4UJV+!0#V2Gr}2&%GaemrsMh z1@2SGCmp?yPsw0OV5X5@K~`Vs7&~QU=2RQB0bX9a%VW1J`_w%zrdt1#UhNo@b_LYf z#W#=#*Xz9T2@{b`V>-{$06Bw9|ydVIm(H3 zd1x>O-fBsS<_#F<)k$)94Pcvjk{-}5V41X}H?>af72YdkoYo*#piSudeNz37!Ya42 zr&QcETfM0rOOphy%1{qA&%)5F3}xOZdeq(=l}VJ4j7Uadt=nK7eF*N!lYd&id>+nO zenN`!vfSem*o!RHj^(^hV{wpSJb%~3)156ILtQ?^~eg4|RqGwz?!F7w90_p-AhTbQ7#~ zJ2pltDm`MkW?$$stY|xz z$Q^~m66a6oMzxa3D(-ssv)c1CGfj@n+{cfdP6Zx+v^gZeMS&wg+Uboqk z{%z3kQ<>EyUyr=EwX1<+<9SkwsNw1oyGH6w*ZVGaQZEqg-8;b>OL#nB)a8W{FlXn) zC$j$}f5iik@WsPpE2{)hCzVWm{g7ZzM1hQ(1pjs+U5OEY4FQaMb6&FP0~w2HjSI`P z%Tyft%whAIv3Cg2Rkm!DB($cr3l?{d`dTQW#tgZ)AuN&k=*OqkUzPqOLHPtXJ&^*; zG56&tsGlPA+F+1)HC|y8|NK0%$74leu-3WArUJs(QC*_jO7Kr+o6TdPwnqFVHqtu* zV7_?#mZPLJfO&QtZ*f%Ws|(*=-+p@m|B9eUEhLIhAjdB&qZ}!*Tcad%|{qaz@l% zRIHtB+i{cK?LW_Ugt#bAoI2}NYq06#e@d_0r>|Vrv|LCWVeqOV_KjM3ZfY5}rL&yj z3wxe<7*BBUGpB=@U4GFcgzT@Y#)J52NWM%SJmq9Y@uY(qiiwwSB}+GcvyjSB_$mdX zo$TG&+P}+81au@p-A(w=uACl+T8a5ZrqX7`90Mtzg`s|tsQkPA{mMcg?nYUS??V|h zk68;b1<4qzL|WiOZ>XhK*jO4h2k%)GpKOnJ{xko0B(x#v5tGpH)N9TUmS#QEGKH|_ z)54Dt*rx-;r%4HFclX0Bi2=Z0w5hdb0f)^}lKsu|H~0@p@S!9MHy(-2jf%EL+Wxd* znC>4K5001Kt|%~@`t?5Jj{hp^uJ^7@ZNgxA7LdF=O#au@K)KPOaiZN4;$c;yfuto;?R0D1$V7!-BT9n;W&GqB70K91E!kYz zGB@J}m+tZ#M6M|+9(qEVzGtNaUv49i)9IE|Y1fJbvA(xI%7mJcRl&TUz1+|k%f z)>fHAs=gs1mLs;lFc1SJT&;A07wFB~BGtXai03YOLuS?ta#Bc86)F2QgIb&t2(rG~ zl1!ixe4LG59ye8p=7`nvccDbA($0R6GdN$hN2QI%C>g`*!S}MT8^)`jA`g2qc9SF7 z5RAieG&xugG!o#$#AdBM3wvWnvz}tTd9|p;oX&FmcQW;Kox{*DB?0Mf_asA9w~ex8 zrI@mGuIwej&xXZPusTp|et=snfiv^W4chrKiezu5SyQh9j5WmjTPMpO5Pmq$X`y)nk{am;D4R*}1x@e6avGFE*D)}xz~ z+;ouG2T-a&pjM7XBWsjgsJs*8(cAv5WEpe6Uwlt`a;yWxWr}_c;ghPnmZ9u+YVUR^ zVw_?OkDJo8=B3;UeZIeJwzaI;McLXYyU}UCs~saNo!BhVRd>VKmS!u(#`yG z+C;gFxpn_UaG~Z>92Ab&z}FmRJJHwc-Z@l8S~?^!^7I8W%Eu0uhp8u?;)=Q3IGaTT zN;h^ahePmAJ(a$wjtTLcW}@1LQtO%p6frOl^gu0dJbJ!gam;Oj6QbX$_OY(QwNk;P z_CxoxS{=GXn4z%Yx65@RW<-4fiY8;tsX!pXQh z%uO3S`?1G4Wu+v?(QDi#w!5L>F_rRX1Tt#+irigD?hhA^AeF*(%3|$tc8w9HUW06o z4`?p0?`s>Lf%qA5|H$^nc&<@ctE1K*UO`i~g|BvD@h6PA>$w*$1=+{>H{tkd=QV1F zP=h-zuV8X0cap`(1G8xQcTaFWRAnsm%`ZPzPFl zxo229bAV(Li<7PPL0(mR-fU@j0%#?euH&P=S%48o0IS^q0-PM_RyEdqc z^88!}MZ`UC?#d$NTp19VZV5}Aa+{h!Vj)h;i2jFbS`i2IB_XAj5JqggcCTB! zUh$G+pZeAIPtpwM>;x%&aLK{KzF{yU^Zn}pNsCTryylto70NUkEScYU5$_e0K&<^%BaIj-NY$Q9siI8b;>cBSvK&HRt=0jaKkm)dlOk0yvvS#6D zNM;1qy~K?jiCb;%Ak#EcJ>ikpar(@8xTpV|+-`bEx&pVo6?4riQD&|9DdoI5C zf9QJiXsF-*4>%ebDaJO)HpVWy>^p;@>}1~+rO3Wy$(FH%kwik6PzTHZ5XsftT(Ci|=E`dJ&|4D_gDH+Fj^ z2fA@Ok6i%1Tz%s+{AeLrMbWm@cNOnFs79`nE$@dj$W_)=6}VoSQKT3sMqEW8Cvk7V zHEl$jV!KjRD~Zgf>-SxpZ%v)=7=Ln`sL>^MF^SrW)Ynw(iWcmEzlNS6ijo2A`O)pN9;pMrvUf{rAUT?BCE4i*G?K#7m=5%D71kmlz zm5v`>0O7pm=n<2+y6`>B6F~laTIj&bokG0gJTb|9t`Azy(&eN8n{h2$=C+Wi<3Fjn z(jKXLS>bUZKc*g2GsIobjmY0k{r5J8gDQNSry2`N!#j7R(g9)T0i>FEoh`@RguIKP zIAh%V$6cFqYBTyphMwl-fvmmggQds^kv!|BPv$9B0QDn|cJB-GqnW!3E5W#GVSap( z|IY`isen6d3gGAeepVYz(;>&{l46^ z*ia2*bbMCluHLxU{;qJD)CBm=2tA2P%T6*PhE7g(k+B zncH~9++{okTId`7&*jz{sMzHBGrzbWgVOTG@&4*s(3j@$a5>O$ZoEn3_p3i!;X7bP zJOP45W3cOGg22tf0rIEL_ss4d4DTu6eKaV)0~skE6klUqMGGxN;i(;vku%5ztqkU^ zrD7z0Z8dD`f?Ic%Q7`Dn#)K}f$9QGlbH7o`RaKY!k4$HpnM>$JpTkK#@&~iXbYju= zCD(Lh57(H(~c1u`xIUSb)6>k~vsQ(w~O|MLA(Q?58H4z5nF`yA3%rw32x3;@>(7f6_oD2H6!a5=>r5$Lw65R)BNYxvI>!$Ygu#0G9~^pU=6)f z1axWL{cP#GR-K=g#!lDA0#n6djg@?)ahQ)5ObK3e4LWT8x_>b*>H85`Fh9Z^nht+Koo+K$ByUBe|Gr`$6hvAEjxGGlilVab71K|2IrD)>| zW$OGZPp^@k?5}beC>^AMIUT^{L&EaquPN}ZpsPqsr$5TVAWTZk*bzUeTp?OwmG%rH5ATXz}rgIY^f2Fhirb0@n3`*}#R1z!<_AyKwCmTRy9cenpQC zu4|9>kPVs8d@yQVUVZv4mSb_}Bei+g{D%jIN)9b&CNCUGpKzX|BFrk<0B1ws4xXlZeR2M+CUPvfLkWsJ4gYguUkB6>w#nz;-0VyJ zu{qhGJQF-eOkRl6s$-@hHcm1(FWGO`&ic+XnA;GUO**=`T&4RpzAJ;A-<|G>#O+%^ zcYmL3m&BYUs?^uSb3=b*66GRm%LvRqtg$znM5Jz!Ho`4!mEIR?M>zyUUDGD{7292n zLY6c#a2iZfFyDE_$LS)rR*O5~r|b5+AbM#k$0q&;OkPbkz}9ZoL@6asZa41ft6wB} zMUB0K9enCHO-HkOAPETq#jh^ld#4y?{*vvXUls2R!lF)VKX3$rTqDsb|FFWWxU-z= zm2NO2=VG$0xf4&*2}ROSgH*@lNY68lPS!rn@I!FCDg6^I-g{&Nc971dazu<+t!Gqa zi>TQ~U&v#I=&A&=r2vPUTW%ylzd?`0j8Y4Lt*=Dl0;qc_x*o9XoCic7Fj)g2x zmYc7RlsvsVR2c{x$ODY(SKUh%u!r8h>!W&?r0*2>x2ku6h9l*tmnVbk70n`Gy#2fQ z;^b{CmD0Z9yBEv}J*CbdK*{=pL}%1-`4>T|$t)*KGs6-7tLix5 zB~WseC_`o}&=J!3hVI6rrL1@!{K`kW}_^RL$w-3yMT9ERizRA8&O-l9y8Ccdq%2YQEwGNPBCs+0a4utHnQ z^9T-i(bZ31=S**8yV~iWx=lw@+b5w4Pv-eDX*(tgzkc&NR@rXi-iM&1tc5=JuW=_o zmEk5$XIeeHG>~_{4SPoN;@x}Ng|S-P)kR^F{ zGP@Qlb|x|x;B?&E-bkvb*lT`25KQGm5^K^)?;jJcB~Eu{8ZG0J^(l~rN%#%TuN|bM zLcih|v&RguVW1bJtGh4ZiRPBS(tguM`%vXQQmH&f?hEKk(8kfSRfwwZYrZyqsY~+> zziNZBdU)^AZ`@1My>YMvD~ihTI0r!FB*dpwZ#T^}UyooX`*>oLpHMJudO=+x+JSrH z*Mn^H=c#p3bYbUQh5PF3;7JjQB>`QjSv*E}_7JrLIqTJ!$Xq`KB2q zh!4L|Dk`#lsxfGfpJM8KcVD@D_s8;3UW1%cmw?1grXrvV^!Uti$e%;k-E}SShYj#6 zplO{AmN;fy+yUed)CY-zZ0qDM*<=E1k3LRYZewQeUI=k8&(>5O)?KY-d%EGh71KuA z4tp$_8z`KTSRwH{0D4e4nqdk?I?@>Fno`FAY*A18nD!RmX&oeJ6uo)$x z8QdJ?9QK0o>#dpEC7@+BRhW}AE7JE(fhcnAC`ayE@`P8&cvdGEG}m~>CgCI zc2Lmy=`o;vy4n8If;3oOGq^;Ns+Hr0kFGv4q;W4Lm+h*}PCzXHxDIsg|nt9g~!vR*TD zEc+gL3Ua(vt9zQK_nP6Nc2j0v_Y}Y8smGkxOmam9n?ohN4XgJgDv;%4x@*fc{nlXS zW4v+c7f`h=5{rT6dCQj_zNn;f06Q(p3h#W2GEhE3>3E}I<5&PaDluSL2y%;Z(A05? z&Z!8})1SZx%E);f7)CvL0j02|jF4qabz2`TGmCa;*avB6v8Dy)PAM0a4B$C@0<)Ni z^XLFkS|j^hD?N>m{r$~%#npam!#bTwY%FFftjW7hYHXjPp#3nRs>(B@68Z97x;^px z8I-C_C|r0SX*GBLA1+S?tjf^JV8-$TIu}=N)I+UBM@(tPA5~M$2IOjSo8Gf4SVsF0 zqn<&Ss^9I&nzHyyWn8GN#7eg{5YNmh8+xOCV5e5vay8zeAc6W0s*j{Kx)eFil>Ct6 zus9w(m%PlUglK=%;)*HH`@@QC)r!w)x3TOA=t{|p$C6(e5A^`;Hvyrx=(b@Pu?*W1 zn5xL|dBH~0H+fg0iy6HyZ1ooNJU&~zQq~EOU5$2S{FByz7s=#Rmp-qs_!fVp5?uNs zvjmFJ()3WA)tR$X0=kp(LXR**!3w8#{uU4aR)r>;mxK2@cwnF_Ow=hmVNo4zz&z%< zv+S0*aD_%?Ip7`2Qyr}mm=1RUmoq~e-nElskM*XLRH zIYN?@F~4z-v(d@h_kv+p!md~L4xZmVv?iry1w5`=Lx~TYy{{ZKx(tdHqTvhh5 zHia!7)>tSZaAqoGukZF9%{Cu$^`>kvNR-7BnxlbsV-W&&^faQG1CFc-Ud%Md$?|Lb zQV;ps?t^=ebt4p0FF^ns;`)MUr=!A5)u%YQZ2;U?$XW+=mE?Xo1YjAzT#h#B7NE}r zbjAG(6#?CfGZfqg;8gBj$kaFnr_w;h#|}#jB;Ki@j+UF)D1B=HDIGHCyEA?M06gLK zcl}E-JJ%ul*wyLufz=Sc%$f3DkBaZ_j(*XudQAr=P;PLC$dG=pEOLQswmU!8L!N@N zm`goFDw2yEORR5tm@r>4{4qdzW=`4z>dFc+)rT7GT2L35A|hgrsr#O}t=|**b2J__ zp+2BKHKIkJMAA6uiyFVn06+Po<#Wji(0KZS|&5pYAfe4FIV;v-PT z5t*ioASKIH1j(`lkeM)?vf=r5r3wyn0LrWTGo}(WEl!JhV`QV`3v%S0iXWqst2w;| zqOW!HrdZxn!eoJ%^a$FPa=!)E#l?yD0=fb&X)Xp8~zFj`+%#B7?@Q*O0bvA7d|9kr^|?HCC!M3Q^2JpT_%yx*ds; zO=(8F$)Kp_Op0B}|IT&V^t3*&`GEj(OPy6Sa_(W+IZHCySul9-#$q>i7o3;Z+e0$I zNa`L@dYj6{>6HIRRp<(%WytBlnC`D2fNGfC&uh+S+p1p|@w+Ig7L5AykbZxyq~bi% zd!Ah_HxdQ$q8Uqkf>2Ydk93KJ+)OEbTbhP$Xs8qIli*C12owPmk_pkM^LZ3Q*Evs- z#-ca@?(VlM_vhlnpkY=hlu9iyA6l&ZNR{wf0-iD#7M+niP2&6KVah|VmP=&}vl3 zN5V>8Uj0R6W|b_T>y*QU%b%}LLX}m-5$F#|I-!`<6n9Q4r^dmBTHB-gfNge~XM`r^ zTTDj|&pX6N>D_6beQ}~&%ws&G8XbM7f@}5blZ!M_dYLQ>Or5;lUxP2S1igZ<8r@9$ z7{`?p>c%2z<%Jx|0=N~QwoWAabCiT$!~O<>OG8S&-k95Q zJDn#~OTW-J+k<{l@$wgh9ae^UnqO}$Sk=7ek&|t=Wv;^bGO!L5fU7bcKM`XdP%TCECX^HvaaW8PT zvcVl=STD}h=Mow5w0$$5dY{R_5vs#uI)^lvWmx;hSF(ijPC8TaP9K6q+8col7w_k zF*~s??6Du>V|36rarZHYFsCX9a#E4}{&lamsp$?u{K9c9N7XoaLz-%hCdy_?rqK7+ zD2KXiw6YMQ?F|EkGdKLnw~0tLgqVlAH>wTE-CfAfvQcQ?)BycdfPl~R}5@C_lsO1f2X?V+~IaJqT9jT>FLsI4~^ zhn_+acJ`NTkxd>dO@<_t%6-`ogkwPkSLVD}*cejj_#*snogU^~IperxMbTc%Y5uZL zu*jzLpBL;;1;35yYA&IsbcOz<~OCE02=hm9LrI0OM7Zc3PZ-;NkdN)T-SX>rwX@F zNXto7(hNt%-5mh_7Hll#r=fz@55@UrmZTQq_5(dzJh;#nwTZvo-fKL|s+VW`xU%0f zxKPLKV1P*6zH#TT5a&N`Z%!yu?K&loLp z&a3%~n7vM;wSF6T@rVSEKnf$*INR0OZZKf)aqb~+IkKr}97nNw4;yI<)KTN#!*K*9 zq!Cw}%px_4deoTpQzA4K_5~rZy8hyW{8}vsQYqRljcuNyJPN(w5OJ*WTP+e5yYeu_ z#W1{k7Pbj{MTUjPS(AT6gj_r#`>tiW06@#)UtV`HKyNW( zLd)aA(%1S3?O8*epR7^Z>Q@1TN0{CmK%sr-QHY@Sck>)(-hG!ef8iDEfLs*yTieuG zD5vERBXmBfPY|yW9eDvH=bB8X)J{mahANYK+Es3oXW}=Qx@%Ji_o$9l{4c9U7DKM< zQ-rb^d2zleP+4GCZx4am*-ZpCi5l_ls5PtRW=Y(LuOIN5o&V6)M$4^$wF^%|_pcRcAG$?{}NQd^nGsBB-|b zO3>7G%x%x@9L~OCIt-M?iJfQZ>HTahj4v=yW$$W=KcQNXfM`!q*7Bu@dA!(OgEsxV zFci*N@4PWYSqiY7U@Su?Ob8}Hw^alewkl5U?clnOwYwU9d_;4Zw&|Ux#$spN6&%R# zUM-W;LOiB&(M+F96`C@J9_y*$=~oF;Lj%GxhiL-%E(LaHzWg7^Oy@>F?8Of<9jIxo zI8Y_xQH?nmf4S3QK2C=5#S2BI1@WgH&q>39bD4sjIM=KK=rp=T9Z{s(8M^n; zJ2Q9kHmRO#FecV7Z0G7`>Oa#ccm1*z{m~K0lDI6N-{5CXAF7mS8(hS$fSsxTf>9or z!nW4CG3^N?Hd}$Dqn$(>%8d7aocJs6ANFS2vfK z$_DhJWpH6l8U6Kv*O%S329tU4&QukQ_<7q43(3siX7931vp;>^A?Q&tuz*HfgR}t- zW#JD;+kbbwh`(Qnjd>;IQzQbUd_`rJCd8(1H$P|~NW|wdQd2|(f=cDKRm?F;(_M1F zVz{jl`OS2_O3rkm`S*BY%omekL#_n+wza_c6;vL}{-8DU5^0?Vw% z{=-FEfI*LN7oyG(81qZ?iSQ4tJfe0w^l)16yl86DFl8pQx^$`ly&5C}<;g4jI)kQO z4`he2N$~hRWdPJ*5EpxHb*FG*H()Q#KMTP6ISaY+%3+xZBeljc(&rq=Q}Hg=0$Eij z6w3B7jmsq)I($V^C$v+x|I(A|3F>a-7}1+oEKw2BXUc=rowU+ETYEN{^=QCa_2lji zVf)NxI?S=pfUoe+X@|Q@)|s)c_?{s8(`+XX4-6o z=``)WuzW830xKGuVmDY+HK@S{)r4&irH>EIfi%<1epT7&QDyS>+XwOJw1uwZWVy6k z0*sqvx32P4+-aP7dedHv5j%GbOYpL{o@7)IQe|z+i1?jXP%_Ud_K-grcR~pff#!@8 zNT&L50sIe2<7-fOV|oi!Br4i8+jrP3g!~)(A!&Q~^W+X1Mq6KOJZn;P{Vh&;-d_(w zn6Eo>4Fy@sqk^aZ43d5LwR^QSuuSuc&jl@&c6Dyt^>gilmmU5$`-OO8C5dJzU*BD$9SPY>a|q6F?9PURlkwvMO6aG8sKuElcydhhUmSMGOkUC)? zrP7(~YsUt4)z=tgsF6I_sO;v1Y`-GDkl4B_wHh8t#3(P+ui1R>@%~i5P4V|7MWOjN z1*#rG^|LaW9OPR!RNuzVgeW_CBv$d-fy~B> z9dJoh`R$Z{+6^%G1>uxMX=VZgT225^r|!_2EtRCAwB+5`C7iE=gHkkD`t0a<>(Pci*MPARCrGvbl&Y z?ra7MQ>h8Y+HCRqtqiK^RLfryTolF-3h6zUqE-^Qw38C!oj{w;ou((z-*c&e$0nq( zVEuO0MWgTLp!seVV&d^Y@oc6MAM^(7WW$9L6%xG&!c?6P z7mXI^|5{hE2Ym*6c=1v zun=l&lho8kXwSyFxH6J4b~$sN_Xl%illBlS>eXWc)5s>fL72NDe&D)~TCyE%xWrua z-Q)PDF7f*oE0NjK&uRU42PLX*Ud*IXe`AZs%e8x(#=y4CJPw0}MZ2uYLP?-X1OMd$G&w+m9F!xDn7#(D;$Pk-u);NDrzL}b$1hY( z>Xt?;m&M#*CAVb6Zu_aLw7Lpg*O=mc1q-g<|Mq>ks&FwOtrgjqBE@23d|15E?d7MH0d+8+jWD<>81nrk<{yQOZf;8 z>O2@}7bE1->=H{EAFpbf|77=(Ok>%*oY=**S82hx&0+<@>n|d)ck>5>XeQ_}ra5}u z0bW+aw`!?6Q9g&U7DpYlt90KUW#h$)P~KKdFBp{;GAxiyM>%E7t%Pyz-6p@PRQtp0 z$Q$3}xM6UB@qEOmmj2Ia?{8-gk_(t-bMI-cS^ybU@Q?F<5%7q&MDq{1UV2>W!qd;L z8n2neouaR-DDw$i2%{VWEe}A_=f(^trBPv(ue$`O01`F3KC-FKt;L<|WV-zLSdDJA z%*dWbiovLkkh>=ze*)Yqi;%L&TN4Z_8d_Dn-P-7z+(96byK1j*)X?V^XSF+6&5=KN zJ5%3&7C18idM$rlFz|BLt*=R7&k@A3e^*DTcL%}@u373omCHd>6Z+|4&V0G8Gnt?XO8Q?rpo>f+!9UAN-;t&j2#_-;iau3bm zZc{f7lQS}VxgfjzTGokqI4qG?BwcqVY<%Y+^}yOaWptMI7pl6NL8+mOYWo?rvS)?k5Oa7?AKSzY$|cZ&Fxn|Q zvg~RK9E(akFCd9s8BF08uTWDrJp}Dh#yZxV$ANZViHC_IJ0hpZA+g;e4uWO$feDpk zp1eg@1kANm!L9--922!RH?rwKbzeznWiWwr;bz(*NpPbSV@GWtUV!MAHR2C6@pdwz zq6R&UOM5*YuJqZt@YU(XWVT2#jzJ2_yOrp6`i8!ce))BwcMr}E_=+~D)(TwZP1cFo zac5X1^a2e*%xhl%39*=sU%x^|sN58|r<{Ws+4w|2UvG&C81&}KU!-*MrT3BKXw?1| z*7=;C@;>0?v1jJaXGW3Pj7GBw?;{=ewG*>~^Y}a6n!0-x2lO|j842>ju#r8h#h9?< z^%YH4z#cH7yxRMloSD_HwF>mePV(6&#bv^Q$5H$+MZRMGyfYS>BM#m;jj3YXmOW;> z$fwcSwKuK@P*c7(mV+_Bt+9&S_+C#v%y@EGEd5oSc7wxA0vo^BIUEu=DG<$4X<>Qj z0XtAe{`-|80(fJ1&1YkT$KY70+>!tmdBpycHjxH9Cf6&x`1o_2tE(i5``ZQ!zai45 zbdk5w+1E}_>G384e>HOzkKaudy5wG<-m_8Qw3R&6z{%V=vcP{BJ8l= z$Xs8rVG|gjkJ{WFt}YYkkO9u^w6=`2r6%g8DkytxP=WiQwAsFoJ)>R}$1tL;t`A0D z+6w6Ayb18Ok_WGN9!d7gY5=Jcn_rGOh%a<8DNu2mo^qQMwYQZ~&Mj-j1xd!F5~vH% z=LA$Ry4z|;!&wmm`gLorgF>vd(O?-fg7sXB($14U9A{3JlsqchV*^ztM|%gF#R6jwNVs;$z9Os5-)^)gtXhLi$KN>LCb z-SI19m`JwE;6b_DvG)sr6Xr##5(#GQ8LTE#sbhbfI3=|HbX7gt=7q<+WFFgXHbSv@^g=sx4^ zuSDP5V$9*V*V#Qx@WI+EIg(DDeFkn}yfY^&{5&FWATNiI%8X?{oB@!9C}VCSdpz9cW~C`tsJ#_?DIw_e2vjtx$IYdSc_NjaYE>1f@Bqz-lQ z5cAij0xGW=GZcR%>U%P*{`t9(j8XKI>FW4pw1;AG8hdF0C_LI}0m9#$t4jT1MbRfr zxnct{F?X6QU_Nj~*HTKJ{RY}k(QKtua*MDbAB98>i=A83(;Cem=U5vs`+>g^@(og- z6p%B{Mz;YW#nd-g2-=bnja$CQ%OV-s1YadI&5%*5EXcWS6+a*o1ddOp6DwqcAf$Df z3FWK%hHM}nM3cD#WG`;g)j4ioR*rdQ?x7|##<+s+Q``xgb9Ik`hgzsIf+4{;LOl|xm%M|>M$iS&5}HMNaRitz@1DDPKrH7F{6M^?Th4>$nc_Cr&B?w^ z>VfRHA`7-Hd;xkkxRCB?f-#`Lc5KO(ppruXAKl$i#V+*uT0XM{SN{pnLor^Nd-iJO zGU2Nv!)yb?s@}vk?I$s;=SUizyOMOFzK=mJj1K+D+9uR)>E7mQr5wq6_K0U1snkw` z=Dmp@3I$&&OZsj+dOPJIqF~*vtNUugBXELPOSpQoj6OJvj|F8lKr_1BS9x;K6_Z^8 zyCUtU0NN4IeLLzcjWk@tJUaeLv=&m`lG)p{l5ub1)a3lCa-5e$bvynWF?N;19EkQq z{6$i$)m*!Z+}=1-aCqJ}jGY*7%Q}dpim%^&Z>XNIo044SGzYkxw5toSubhw9&_lK7 z7GHt+16uIl7uyBBH&Maa&9<|e)*6B+^+l7ZEZ9X(TpqQmY!u|2*Tvj|?0AODOE&{Q z{SC34}LfBhO`FANF>W&yILmDZ$k3!sN@lNAq;I)BveFEv%?3t1ly6B2 zb+(d{O(n}adhu^ja2K7-EG}~6HJG{rld{>xnp>M*GH!Fy%5Q1*CS!XKp?lfqDMf|` z4iw35bTnR~q*m}-aAKk%fTBCBNPQG> z7S4uPB~v4QkakwyX3C&{Zpf|L#lHWA5D#X*;&-lqMn~|9U~$iNrT|x^#YJzy=~P6QKXR%|TT5u(tbB z$n-o(buCI&Rh0Xv^J47Au13<2t8+DHFYP{ z@06xq%swy)`f&TcNwu1ikv>{GMgJOh#(mn*9My+{7?%9RtaQMle0}w7#>&tYpD!A% z01Nxe-q!2I={H@5OcVa8%xE%$2VbbYE-!>7&T{HY-5y2@i-=8{Cv2s>M10AjXoI;3 z;fTW*bT)(YqO$|TiQ3hlgoOfBa1&EY`8JXo1slWK09JqoPjA*jlt7OoBZ-hh&qI1G zN3P5u%lf5*rNH8oxa_xy+xz<5$Fgr`ze%Dhwt(>L_)iiw&sdgJmorHZrk+OCH4u{#kKn0qY zbBKoBtHS6FWcIG?VQRw19b;cD7*Z$pF+DZOoS$wcbe>D=t1mGW{OrC|#>hT?K(SW~ z>~p{XgdRXX9?^&BHx$y-(-$j)rk{L2EiK-$%QZ2J8 zA;u0DbD!jtBta-;N2$NnBI(#czheD6DC0;SJjjmh`4W{f_SVEHD6_=NSEG;WEjjkJ zZO-;Q7hSK*>Tv@24Gq=O)C8c!)}1|f!Ej!lc7}uVSC=jUb&LvJVExrVvt^dOV@EknJe5Xos!M)T-^H1k{=q8MG;MC63Uv4y77OGT!a{)-@%tgFM0woRP6h^ zmXgE+2c;+WJKU23|2XE_Y$+RNZ5}<@7F7B zqWmiEIx;?*sn9$(!HwrS&$-3L4Yh<#e z9Aoi{OK+_>DaA$FV~WZ0g@e|TJ&^Oqr^Q3W&*t|4$#8xcxdA4;&>w=oam&>84Lw@14UoMgv6AOxB2UquVRz6o zZw_F3@KfkgW)z}|xgJ0B7UCWQBVqKP*j{~92%&lfjZD!uP$Wdt(qj=aQb34v`W!T= zF0)h|z7(M0B2`@E5jNq(7ta{A04CdMpC)fgUu8GR;X?uQ)oGT}2K@}0>w33l=)dec zvD#3kT7Z`NlQZWmnT@n)gvSAxI1bcj=0My@L1|wJMXm@WwrNT1Rr~g@AI!t1wP9q8 zsrgcwlm@@n1+n{U4iS6HASUhIc-{>Fi8uZkdt8Tw02&Piid`JGZVyVvAZByO0^}s)z$5p9`6=RY2xqV|K1uzlghv zu0;Q&%9o5bQRJ)Iqii2R6=-DTb9JgHE~mhPm=+SluFHe`3hu)$#e0&kWL64lN3b@iI-$fk#>SF!Wx5fU-?X&MZSy|N@rlXC?J!JzqzVOV#H}AW5He=_7#<4lMh^p3WfxIum*E{r<0>%ZP zyG_iR9J33oisqGB8JU$_r10$(vg+f|v)kms%CQ9YJx`Mh+U!h!b}mRV(m7mf3%NMJ zBkAbKv}9|6ngmYlnA!?5uilqcEtd|ec|(%?@t~y)hN0E{oKGl#^RN2c3srn9{t(%b z_0bVaiahE1%8Ug4$=Qz$44wLtj+`W&!f6}=>F5f^g!x(*&0wuOgD!NtdrFH65i;of z@&6@+^Ah9Y9maG)X%H7TIRB{w{}RHzGp2vXhI*TSn^5C%;B%^FSn;1!vEUz)~Rt_=OD6w|Q10W0NADNd5 zdpH*`AIEndS>qmYako>OBb1&-3=b5T-y>y7s`>=;+G$t&_$wVQ+&X`NH*zH~BdGz3OH6jU;PjdAPHWt0X8E%!pI1={2lew z);5T6q=-$en0F%cH0`pQTa2$8!zwn{PB9{v=H(mxY<05AXvpHV`jS4AYV|KXW%F*RaK##n1zu183MuyEWP1@V5OIzIE+`yHF5=l@Am zyU&5%OLg883oW7qeS_}*9LT1>2XbLTjmzOTd9`_j-B^cckm7aJPokx_M2+q4B^~AK zEE(P*ibsYrJ{gEq zf=IHljnD@pWc8lQiqp1^l*&Lt(f8%!xjtyTHAnYhrZCVqH}N;Bs-tX@+~x|S^9qtQ z-ZpI3Oy=v0YigG~cv)cL5AX-r(e$=amu10-qpREm^YbKih@Thlv5hYLqg z+9o-;x_tEW#O|Lr+o~`%3FwTJPgP=^*CRusYb1F>S*hhX+BhL$CT}|fFjlwv7LxHopCP6499Hx>>)v=dS=e)~bTTF@1YZoI$b`ip`9 z=b|X!aDx)=Rh{h&h0vJtb!*p>mk#LxXX&!?gvNsaOg$(B@ABk-1N`$)E)}6q8Dfs= zD2K>vU-LC7->pDsvob5KN&WRyB?3Az6BCj@Z;VGja#_By`h3heaYVszWtwWEp0rb4 z$QO@)$6RO2k&Ia!m(tKaKbFfCo=B*LcN!0{Jw%>!Sj2LT6b~)irJ-rUloTU9!oISLmEyuREc-yDw%WjJuUv zXCk-v1LJZ{gkAZ9{{T?>8tUbtAl}*WtUnLtDT2-U5aQz{=+D^JfBELV7l?YX>RDWl zGl?s!b*cPR%eq%xJ(a%j;3dz8{`f(Yu6RNbz1bvmVjV5@@51lzoS*+6r~g#QSp55SsA6FHb=L-*vppYQ$WK=5>9FK|9o z;;u&*4|_lpe@h9f;xqGA3vF9Jg?9G@RK<4tWhgKdyL&5#Qs4rXlCu@5E59fX)v%-6 zwXE}g83GCy!Q0&V?}7AX!d?0U2Q@Q|Q4i;U22!j2jwl5!Yd$klf*0AQ9`=P|UK-*s zJXU%c`6Y^c@ikB|YuQrGI<}tS)(=T8#$fKOrxE?$c!D*KI}hIBR)G}*{ClgP-<5#w zNaAGJ_~JVZt6qxjI;c189^@$n?xUs5hpBdJgYX>v^@A>MVs(d z0E{5XV^ZWz=MRO9>keaQHr~SAla_xRPxwEd1=ASHehYctqrh3=mYq`PYLu>~D?r-z z?a~#>I-mXDi7@_vs+FF-nZEwA5S_cO^x)txL-Ps^5t$kc`vvkUp1FxkZXrqG_^`_Q}fhQu0EndVpZXtuF2-V;ZNuE5Gb&GrEq2hbFxY-riA6hDhij z($Tp+-h{8*DR&`lf3NXEqw-|1*ypRHe_%TRUN?QVp^)>mMh?JHW@$eI8+wSgjhhY& z(v|^dg2C7U7f{gO#^y>n20SY%uh#_=bZ)*fei=V`HF`_-d`F%;-q4i)2~r8TaONje z(sCkTg@@I!E952r1`1S3^N38;;XanHpNw$ScfV9S5#tq1=r2&f9!3mTJl`fJbXz>J z?5wm;R%ry3!h02mhSp6whV>;3-i>=O9GY;xvJP5Z`So+sUDxcWjULoFChQzw!qe)< zFX^Q^H;KmNO9MfnH&3`K^htYQbEoS`?EasDI?OZeTC%OH;Pq1eceh838yH-I8Ce6Q z&;v$*(9hoA7_UG&E=Agqj`;SwBT1x(SLBjTI%0s2B%COP5D{4Y|)q@(STEkNzcYsC3jV?3;37EzQhD&65klL`OddxSnQ`8b|N)Af{x&N;Ff8PO& z?^}uG=}LBWeF&~d@4aO+qG%7XOzgthJl<2;AnN!`MDgU0s-z?oKNa2BMRgom_zeU6 z_@c$0f#3e&iz@9Pemr@VnZ;i}wC)SU6-~)i3|v!LG}CFJCT$EqebKG>9BQa~a~4>e z1H;ix;qKkoY@&1Je~sJzb2)+OL@W_NeoJSv7WvQUJtw&uWaNhZ@|tSU$gJ*iqyH#Rh5B+p=;5E=b^D#nlNZ$wMx;jmT%f7uICz)*hg8ka zHh?|cvBt0oahhn-Ljpc_<RhSTj+r&q1*Ua(US0I1w1 z0)phQFD}=<;rBGikcR9zZ4#UY@Brf~~4GHB-*_#~WT}QXFMbRoFTRZQ| zc7I@>xJZ+12@cxDF1yk^&+SuX{8QcHd-wO-gI7JrwvD-Kl#qp}(~$$S)9-cXmEI6e+qW`Pl!sdXl0R?`5d-0HXv66`w%L-g9*R2Np z7Fbh*`Ipr4?yY?uvyv?5GXK0;m&baYBK=S0>n&Z)M{G$3ZcLYzUFQ0GQ;EwOlqNZ< ztTAg3yvcYaaE+!mqdejJS#oMryNU8|5T^UB->M%=dRw5=5Q+)Ip= zhVfj75uwj>M}wmFspWmY7@kW0ej+~wmelz5^t69L^ukE9Ph;U^w(^bc(AR^%i~T?3 zmK7jQ@4RHyesCsYixPV0T4|ME=;3nX<&E+OC+{2H32%Pd(6_hh_{3IWyYjg#8%t+l z1I9DUsS!8)KetTP1T02RXPxgQ7;&zvw~PeWErRE~1%HPg)j!)x25okYRh_{BPo&D-(Azbluxn=9Oe%LNh}-cFNyMYLgE!@(_mx>fo5`k{Ps_tu zDrUC!@0RKYbh{cs^2q(W!596Dn%5g-c-gF30tzaoHqo<%6RtwwFS{>; zdo(m#ue=>HtPsIOa_E_uQ&T`&sc>5Ca&q6UVes(%kMhPzuy^Zi?ajfp`_Hv_p$9I- z-PaGRdatXdgw+@)5%*98KR99hALh=U$f}g>k*}6qN(9$Jd9?0P!;pd5y7FkJ6dl-4 zElA=wmu#({$yR$|1O8>*yY-LVoBFe{g2}%xZT>&(y?H#;`};o}acpHts3g;>D72u$ z7*#~O^!EleqM9e_?|9i{b4ya^X?m?gd?!UMhmI7#ov6v7JQ+v?(r-93ZvHc z?tD#<^dlp{+w^(Z%*dhYdJdY_mn!yeY0&>tPQ_+QpIwD3C;VaT9Spq4onyT=-kt9 zrWt#Y8-Tpi?N3)9iwIZc++R|<6(o5c8M{o~l)ROU2(<@NqP$|ad^kc@+e@5(6SmTL zj=Bb3|9D^VMtFS`0d0MD8e^zp`%;WLo^Pbzrv1^YRrWsY8|>cRCRJwd{c{(j=0(Hn zcfZ)I_SMrswPyewuSqWlE03|%a9jZ}6v8jNucPl;qXa;BlYy1U>Z9RT5!zPOQse8UQlKvbd{VP+_Cm0b^)C+C9 zoa2+tf2E36N0PGN?urWfynpjacnDESvf--bVFsJ}Icuc#8r)J%5HGe-Piha#lFRC7df_z7W;9bKv&b0`Qorh<-@S! z&$r@5oK9ayMGXh_v z7$AekA%hp5GWa-scCz=K4436Q_54azU!;h>#XEfe&6m)d_nmut?wKm{c9xeD{~Zxu zRh9b(N{zq17zZdYmU-N@zT<*e)kq#YJq}hh8=0EJ_!P7GsVg;KxVl0|+jzsAL~>sG zc@P+mAOLP{(U?zFTi@#Cy}M|#=~>F~`1Kx>)@F877?qOkbx`25@`pS(P`K1r2}@$s z(}DvVG7p>wkzk1ODfY8K{+%HJpf(qX_KF=zUIC#@^CLT&jugHa+jrns>KCa*kK~(rP3!gK0O?#42G1vEH2`Ap(0qkhCFG` zmvK!n=9~x0r9Z>(#Ce`nJLO5*;7Lg}MWZV_EMBZQ$-I4I{+nI!|2#w+tb3JDO&fE4 zBv2}rODd006>Es2PIQC)Of1Of=f6D{Kx2n(2l&U=7upxVhwaDAZo%$;GhgonN}RhA zv5E~-tb&6fn%|Co<9EdJvtQ~i<@&fX+j%J@HdDEIOBB^Kt2TQM250Y&ObA=Y>YK;k z4hDq6VTD~$A2Tb*rTW5|{w*XJ_Kg z=(Pz1d?*zO_+TJU!1Dn(O^ijOTD`i?(M_$%jbnQ(2+Quxy6Yd!4CB{lzcDqJGlKnF zp)j5JFrCb*IfeaebU9Zs=XST|+Vzw%~mcsDuO zZh2T|>LA3KW8wKLK!UG#A+{ImHTnMY1q*>j%m>bqtukkCZs(&^YbER25MW@yv3uQn zCn^5sbU#X^gmdR1ej?({Ij1Rh@b7Wz`2xuam89Efa9uqjlB; zG2*z(fu99-NCJP_5`Ff?3yJ$ALJ58(gF4P_-7(>@PvR}_%&d!|KbaKFOx5gf1=8K zaI#UlGY23%sJ^upMfj=LAKC)}d;1aMojH<;rpvo@kQmhOBc>uS$OG|%$gS5vhEj}@ zgWr}H4CRV#Wtsk#agDmtEUeR*C{h)(e^VR6ex5S5>o2D+LC#bziWG6^XW0DtcT<~}PgJZ)7p=zM zWG^q=AzEW9mynU3k?3l*M^~V$kb$04gagHYw8>2O@sM1JFPgM=?>(z?9}KYC-^53g zQmN&9Uy0uqB6l52l!E=H>0T*F)=bx&{bd+bot1NZ8M4Wrfvs%&5GFb01!JJ;@b!X~ zsg5bO@B8zar50BLHQV~P{7NmBOY~@;yJ02#lV4C6dG2mYKDeO!GHwopkvRrRUB4m^ zAQ(|9BU>yb1lY^K?oDgG@Bd+E0$)U*N3^r*$KMMGbai~bD}&xXYnA=Y4a*u1L`-3- zyFgd!W(!J{UT4&i-LcT}pcn|uRf3--s^Ik$qH=~qSPjd*GfpoXO!*{>@4F_Ts`+iQC(%cbm3uFDUfje z3>(O+SiVN&(_G2KisX#`Jpw%@dLujDg$4C_@1KKF*M^9Y<#~MWAMfYm9|VLP41ZHu z03bc|*?$>WxSAl~(o0n%6oGs~nW2pq`or&fX6OZ}o|UL>Wi`t)2(vl1+_9={da1>1 z7ENnEvwx7ZXu|#Krn*|&&N6x7Dv9+=7eY`Cap$Es{g_{J?Vp@fCvhg+oR(I%*F1sd3u%wE!XsI7lXPZ;4bvy53C2OeWNY#(h*g z@%*l%_Dd~Y3ASv!V!w(}E7Pr75d_`oUK>B+A*2!RN#>dQ zz|6fw){y>lEUO@wQ6*nu+d4@jsTQtfb)DHv#t?V6ud@V6o!tkJv95nbtlOLv+$8$? zAl$yu+Cx%O!eQ)++?h!49v}~HD#!a~|48A7Zm^sIn=5+>t>0F}Mp<5lzfZf1U>9Z2 z_Ie=ZAy>o@`8JAzT92zfd(hKfGLhhPyS7_V0@;P%nV`psc$q61cINg$6Rw%#1$mE+ zAnNVpMZFL()K7Wp4bfCY+WaBcZd{}8yNHl!uYXmK6hsknJt43k!Kq}=me#5lhb;yC zmjJ3Lg?V55wy6CWSk%cS^NK40)V5wa%maE)sZ6u$XBugZ!bnqVjP!aITI!hT!FS06 z;;D<&j9TkoQrtl-I}vyCw`hoNY2K1BD`fCVJ?QDm+C#UORUQbz_L+Fdv1Lt-wl1w) z3dW(U{MdN;*EoWSvch3kd-9#oQvwXx^x!b?CqDiXAW*YaGzWe4*^q4tc9n-Xf$_w$ z>g16*tOj%N@+uV)Nww`tZSE=r;3o$+cQ)armnstyOexhs5GTgEMTJjn17pA|cWwR} zqk;1hAZ|@+tSf#2+jJ5{Zo6R#FsQQC$T_nyg_|nVz)Z4Q{2}SZ#X@p<#U@TaH~kOE zE>|CoT`IfUQu1>Jxi$UC{MjMm!YBNE*w1`!j$o@oL>SOlg}BN9{{rkEpb&BrfKpWX z%FXkTZ^a@~imCh+EO22K1{FF^GC$+8U_IsjjB~L2BS@Om%_sAZ#21#Q*I7zNtb-9n*dKYr=JHn8@+}TsQ z{f{V@5D4kZ7uSX|70JYY$68yIsINnniJM|mKH(w0K?P&fnwHaowCV(Gik`Cfi+e$d zZSrlAM_X~ij}^SsMIq(AJislv$j^0}2T%C%)bKAgR>G5>SGb^kpXU5sGKr8KT> z0)wCnq*Mm7@?px)7FNd-l0;wf6BA}hT5D*zgDYJcOmiWV4!VjUPol`xd@j-8N2 z7JOA7;;j2=VYjCUO#jtzH1TB(;W7}h)2_C`lhhZ4tSIhQBxTsq=So5I=CX_+@Is-+t1zenlj-*;WC~&V21`u>MxtSVuiaS zO-iq!SHecFSxu`H{kyX055Gh$Y8}&Ej{UaYSVBPf6V!pPl-Xwd;n4!@l_09Jlo(R^ zNoIR}r3|7PNFllFM1D|Gm1l9Mo4fY@^d&aWr4Z?J7`Eu-(Qfn&Hv~Qc1b>7gHx$3g zQ?KugLx%Q3P!oRrXNDG=>gZM?3LawddJq|(g}thSFQf(5O93{c3_<14b@0t~I&T94 zDyG_TG{mZ62wU;sQZV@y5x-@bQhy#>8f_FDUl-$BVj3F6HVe+kgbm=DAue4-(& z{i&F*>KUyQKTX?)lM+TzQ(MU}8?s)iElYg?{OyDV;%|@m<$>OcRmILMhgyUd9We}1Bz1{+v`GHfmAA>%#uP+I~LW041(A`de z=rpErLJ;=8atnIH&L4h*%vBd3w#(0OT5?YaW~&zsxT5X^TmqTnwj~Xx6S~m zim#d{0#z*t9-?wH^n4&RQ7eMiWe}pMuk+`l^OMuksET<_g8hRw{m=9NXK?wy`uzW!<+CDcZ_#Az z@2N$UHO_vik06u0rzl_b&RtK$zx??6+sb1Z7iNTbBhxfgIQuP8#wh|Gvd!B2Y;R+T zBQD*i5qsHzQ1{_zf*Lp-|0X!L+Qec(v67EJ4~Xz_JdV3cFpaTi>U{dT+yJ(vAa9X~ z;~Y44gRE5C9y2#ESXvn9;?S~Ntfd@}B){|e8z&pX~Y!!ynQUoL&*^d8->y#W7c z;2-1pKgI6A#C*s6CiGsE_wD3sM zmn<(WN`HZ^@AFW68h7I6B~!7HmHAjUIsYwbmqfj;&;g>SS~ zRpfbuSMv4AJXw7=1z{O(XXimJ~NA9^$uZMQ`Cn&g2pKW z#W6<+gc3ml`-E?Co5gG~In`OI8Cn^fcV(P5U588O$l5g;=f8aL|;i`q-ZTfKg6V1~)huFVMLrGq$mIO=OO6Ld5} zZ4c3jLx|l*!cKJh{Fmb}Gzgv(8tVLC={GuFj*?&)-=TQLon$trB&9-?1?P$?$UE9X zsT*nO*>*Zc+~(W($Eay zX?5nb!%7hQ)lgXMri8F%^ z9@+r}WYyuxM5x=FCU@DOEFkk|L~mZur-W!SKQY7GfX3*flpKGhsy(;5mCK3De7(*% z;?9-*E_J%T{r0u#b_H-J;lZMPjDtn6uDYD9owvHY3Urz zkRh6{fu(!i@^Qj&Xlk)Z0QDx8^B@(w+2&~9{H=KvPMMy`9d2*5YuEa4SQ&JEiNFsw zv97#6oiGt$x49PTC2^2EUK4?OO2|XOg2)(Kz1vDS`#wm1Kf5O_|HCz)pbEY*yQ96+ z8>$gGx5W)m$@vW`IY&1L5swAgx+=&g5^|3^Y#gFd=f0Wj9z%v=Go&;2o2jt;k=!8P zURQ77NWYq;cb8Gx>zazkO*d=U42LR)HwBH14-^ThDryFPUSIrK&Hu?9pY616!}@U3 zz|XYe5mnl{i9u7Yyryqyb;%HUJZ+$=+)mQ&aj(0Vo?Kv8HC-gqT4P_^eqx~?tHNZg zl2W4PG2yk5(UWmX-XlMcVU*KO#lzP%mz6_HwM`+(l6t*9IM8!w6y2U|hWI7+{JZfnfgKNzzK_7}r;s?86w_%x zujOcrPOdXnQ+UH+8Y-Q;{YAH3nk=F>N{=idaM?Nes`4Jpw1Jc(c2e=#oXzX)Xft^p zWCLZyp9df5=#&yzIt1efpzlr+x$49*)|bcaMPDwRX4t zT=*BA1t`<}jaVtyQJ-D6R-a9q?CqyVtb6Fdy}*H2%0{+=jMVyl`fQhl#@(r+ zcI2R!<7Mm={?UkXJo z2gascPPc#_hn!)`mY)TttyLT=u6Gy9W#MhtIV@Bn_UvWJsb69Gk4$Jq^ga&qt9Rd9 z&pR0BDq%7mluv92AdE@r+7A-F4LFFkXof~NGbo&{m-vtHW|1O%rQm$iDO9p(v> zwuXxq#AiRrr=Qp6E-)FbTm`m3N#HcUP~5m;UkE$-Boh$?hyHq6HrBmdBYq!=&*4r4 z_Ln_tN?U1dKFuVKXZ(EZu`eQ7*W*dtGQHwza+V*lM^=rv8^wq;u1*YQ(x!V;J!W!L zZNa|!fKK^gkx2hf%5*uc3FU?3oXAs(ww|^`h3IAjd3SXcF(Fi9!db!T#=+WGhmznZ z)F~W=CpSoo57t+7il8&zj)!?ohrgBkgNu$rJcHs;z5*0&dhdnqM*m_69b_yY)+gK` z)bEd!sH*tf_>=aj*1%Wy9WJf$PK)iy8c$`I4UN`k*H11fI3A(PP*m{zbdzr0V8v90Qy&h+*V&LHsAF*1meR{N> zVzoNjW`vz3k=XP_ts`peJ(f<_?vyp|(;mjKD?{`;(x)@I4scu;VR3F8)u3|!{po-fBN^7rqY2*wvPc!Sn zQt&i5TIp{)k`9;HFzP#?s(-u23mrXzdU%Yn6txse{7FmUl+r3Rpnv{#5c7dz+NSh; zCaokC$lCS|)^0Sz+`bO2Q%~Hx+I-AfJu2c#V#OO=_r!YG1s-nbNXV(x(_=_0h0l&3 zWM=ja*;z!?=QMs?P9ODIgiS8rMBw;uWd733sE(iS#!eTQBRJh}4omDUMOH_EFZuNlPtX75=Z*h8)CkZ=udp6^@b#uScI6o|mW~^<}NF?WUM)Ts6_rMNTDg zs{09&SM1mX!pW=m&$RKvPBVzTH$C$0Y$XUW8`TWaQT-AAma?ht!-Q2Jc4(2F*8avf zrtX>WGaQx7Np*US!ju`R6Cc8Mo*827XAJ7IZM_>-^gJx7Lx|@yTBbL=met=uV@%Sk z$<~j~1jvY!yIIjgs%bufq)$s1Eus#wxS}~+j)cQ)IS*^a{b39;=aGhz#`qAq|DI1; zhFw2tX~q1ew}p+z3LE{1gLs*`j4k7}2+RyyxNinN?$V5}>FZV`SPQkK)^8$j zTCPLvO**Tvw>LOw(1)WmF?yX`TR*^PeZL@`{WjZ?rYO(_-;C(Xtjp3&CE1OY>-EfD zZ*pN!|I45do-&N5jF^rrAaO0UKV@XSHD;9LGw)OTzI!eO zvWCO3kwJ811c}idz_H!ko3*Achx4dDs1|@F0t=>$CKWw*x7OeGhdA%QawO+4piNz-G|q%Q0vkVuHv#k zTbJC;Xn26_=`3lThqA@>cCCmHlvLbcKN;wm9sl5|=jtG?xc3!8mHX)4xXu_F+spTb z1*L|z*}mVlL_fotx%||%lgv=s{12I-BVqx4`6V~H^CmT|U(ZX_`vU>1F-D{>$8^y&(*_)CglYc`Ur znD)1>L)0$^Hh=RkZ9ea(t`XhNfum2JwI**mPwJpoKU_`enOSVC72uFNoKHA~@5^*1 zx@AkV#o}}5k9zB@N0M3nLJlJm1s%^bpBWQ2B$vVb}Xoi*kS+Tq2L2 z$}H&<;swTe0$m=3y*_k7wPq@oQ>oP>J^YTiTb-0&4=LITc|ENH)~*bBvB!GewT2N~ zPDb^L-YV?IRv^canJfmjpW00zjhxIXQC87&+f$FyWLh5Uab~yUB6Duv)izVnq`1L6 zc7;;h!1>IvGj?WNzkJLjp)YrR8g1|uqwObvq?#iYKEpf=I-tW9K5WrK`PEc0n$@zVcAi>!w3BS6$ z<^!>yhdm!|qm%c1EA%Y)u5*0L_S93rO|SLHqNO8a?(~p9(Q!H6oV>JzR?D0dCo#VZ@z2AKHTzFuRgq>CqMwLF2GI9QD}& z{S-BwgOj_u9W`4z-_ajQs5NdUPB3ar<7B9$_Q>Mvt~$vrlSIj78Q$Hrj~CS<#=-aK zOqj@c-oN5jg0DK%;j^#!r<2eJ;?8Zz~CjeVB4SoO^zTP9-;0m&UJQ9>7pt4vxL@?j62l z4L8)_!~-42$Mf!rG*0ERy1)?g2$KfB)%3EOg%C8)IVAPw+`tXx&?a@=9zHuyk0h~M zGhc}}of?ZMyvdowq}hh$W=ss@l>};2Tgk&+6%mf-wI5)IDIKK6h_02$HuX!PvI*Tm zMR$V@`y4kVw4;q+UX(AoAD;otw)V{z!e&O>C2v3ONPUkSiYpFrN$K-Z)>o3@LDg_$ zpH^TD?Q6SVs>{&`5*mMUo>|*Z$Zq1}CEAMqz3uP;qAOPZY43Vz+^r3r&zkDEh5fER z;t>mT>n)=S^5dc4bYPMa&|j$KmNi7ZDVm1Q@T{1y^zGj7y7Rg_}463QJYA7?j= z(8iw+oQ|1vt><(Xn9rboNwtd(U~LQT_8Q=1%pUJ&U4MY}e&1HKd4OBo;W5udcd$^J zjio=042uk$ILmfMt#%!GHA5sSwmwRniKfWz5t$%$H z3sR_jfY~aQLle+}Z4O7^aChX}T{WD&B`6tsEn0s9a`E-P%S=?iSu#Eqz&aKray#_; zMb(yHkt$*H5fCHsGTK>y9u*QR`L@4leXw`E~mPU$ul3BQ=73}2}&?dK=-&Lw@o zQfjq-#b+qbf&_f^y{$E|)T6hLz7%S;QnF1u4!?Lf z3w!LqJ#VuN?_0Eq)2Ss`p~54pKNOCeG=-H&=q6x?tz+yK4L5Kr*%h@Wx^Pe?KO?RQ5$zpo*{2KSQYcr-F%Xe z_InA*l;%c4R@-C57i|=7WKe6&!k8J{_FHkB)OsH4_GsE6Eca$I{{n5A4TgdXE}eYk0f^ z8!#zSzqi*rsBM>4J+0NPWvJwZqU9qMZb-x%34%8FqlhdmmyUN7Z}Vwa6lg8$H_|)g z3%STF^5&r)ww{FFWQ#+quJ?8I_A4j2L1V71vxI1@&h6D%4^!+y{bz~a3$i1I*q1nC z9n;Ev)F?{|oNRPc2hB;hi#}!m$%e4HxpmZbLTJc7g$lYOaU=A?${)W!+_OJ^;;GW9 zG99)QU8$ZE=ys!GKPm2LX&F|XF2;XJwTM^3NU#LwL^o{r!YT3kHQ=shkHI$|GMt&< zo3`Ma?|UCX8#B@+BBRjpJC;c=SlBEMzWMvPZ>1md%{jmOW?8>D=kCm5(ed8AA+wm# zORgkY@gRnFX>ogKskv}KhOLh5IQZmIZ*6Cl~1RUsdjGpu&ZbMlOeZ00l7SHXu zEK#T(*dy&6-cK02Epi0BL6bhPRs5=CKIfH!Pq^|<60ovsN8PfwP6R{-x#o_?2NZKW zHXm4>t0(M_r`#f+c$w7A*gwH4ojE)!fa(+h<=`{kZ@Dl1Kp_g=CnlGlL}mX|C8-=j zLHirWCj%bjk+Fe$hUx3PU!NH9U_CpTqrhr;ptfo?_I$UPkoA!Vexnnc2nyQVwNMmsHi>0XGWv0l9lbBLs_ z?Y58&*h)bpjoy(D$0ySo%f6}-Zp;NX@b2tEPt;T&LFWZjHGF`ohDoenLQuGw_=2a2 z>y1BCD}fx|x?hsU$v2f3JFoU4t#LLtNsmHpS0^gS5ki}iy06oZL0x;+XXeiAWcD~G8Xpm%Gx~&{?3%vl3Jj-Ru9=*EC;x7HjJ0ao zI5WF=>!N~>4G%`%dzu!C`D=Vuex%1SKgVDbI4Rs3 zL0-v|5G#W_N8E94@$E%pzYa8%=_sd-T~>nf;JxBbkH98vUOhUH-KKaWQ-xSdFs~p? zvacL{<>8*{I+j?wNDkFID>l}EKe-GIF-TVAafl{?mSYYQaSzDd!L1X+K6Gb2+Tw{p z5|?0kustHI+heQmz-g7&Dfg%Hw6BF*Qh?0B*Is~2f=*fKZO};w$5t|+kCw)Ha8vv? zYV_MraE89Gua5PB0JSHlt^e9C6o}NJ5psh+xvy1uHL2W-Cd|X)Gf z+{{MYJr9@SW&294dH}^-D=3)6t+_9@6lebvWbSu`r)7t`;6OlQ`F-+bsB*2+h(j0P z1g@Z~WLlg4cv)ZT4K^EHJ_~sdb%8vU1ny;iIE?%K|3*mg;}rp3=a}?!xZ6~ooWWc4 z^EH^v3lx5~=_-5Mm_5~b=y^OzT%Q9+dvF8jk6#E&MoFv}+5smyY7bmW;earNADxDs z=5=f#sr)~_&?u7+fLWr5qUW|w_Q_qba=NxWezYZ^e>Rl$d@Nm(?-T=b(Cs~@2Pdp0 zwRnPptg6ktI=g`0fy+rc%ON9t*!5HIPLyq$L47&2A%9w1mnXn$ylLBze8KA2T$KlqVXE!4j>FhZ4rhZBf=Ij-+MH%@>jv=gk{H@V`>G~w6U{hD( zrD8szg_3nv&T;-ZV}lvW!88~s6JhP1cd)0d_Lxdq=9XM$m9f&ofX2f~VelRGHO+z> z;rvg)U^OHMPm4?-1AzbH*-Oz?XkUKuCl@4n&8l!2<0$uYO+Bwp@(J4PpWE_HCe6)E zH=a5oG*VK>8WG~Ww(E~97wjUjtI6TBwca0f!;edwY+PK>=anJ$N|oZK`yAoo4fyP| zLz#llLha8rdrfBt^gJ-kKXVk_C_D=~eJ6Y@j@Mu~WyT>Qs1xw#e|2qMC*b$mp)hep zAK}17ZVbNazF231EZw27NwYmRVK9z3xb*TC}&IB%} znGlKS{vXaA*us06O41HKM*h^LuaFb`knX{(c|{oV9>snNv*@e~*H4b3QzAwN4Vy+~ zce5O7RhhMGs|!;+#l3IoO){%X-e~vV=-YAw-4t31KCijNGU;2JHqQPcXmb0XG@}2g zCWWiWo^Lim)zw{8Na2JT@yi+2{FSd^`gYoF$k>#~fyWy>Xp`NJ?s@H32CkOrI5mbe z!z@;ZJJA-RKJSkiZXEp(S~A`;LOmh(5qavo3s4M_da`-VS6hR1UxFsOou~h`$i{12 z-i1jD9@k2uQc)WKCI=4I`$RkS?gV?;PR*CVZ4LqQw&roe61QA>I32#RJ*qRJz?)`A|PH{oCj9~fhZpU1L0k3N+$tRclK8_~)&n@+hX zjXUcytmt1}sgY|FhTnTu9PLg{3Ww>{+BTl$8vn)BtzMLv@g@)kL5Dd;>OSuKl+Q>P zGxdA9_wFp1Q8Nze)N;%3x=W93o%o#g6DtK@s2temNfwj$C^$A+mqXP^)f5Nh1^ccz z__f!O2P6q76i=r3;L|Ols4CGX6cAMBA#N1%qaF*!52c$7hjNYjSvl{I8!KF-eK;vr z405C&E#eb81z&krvLUi+Sut;fkpiWH_B9^ceHOn#H{Yeug%YW>>Tg}~81?NCFcSZMz_8pCMeTNovGo>l zzH!U|oIs}diICz#WP~ExRY2HUB`Si3vlven!faUj^QDnDyzR|>Irlw?uEd?$sl;pw zuOGY-UCQc}SvTz-Z!_w%FJ6~3kGOM^(CuQ`X` zf83~yhzP5q4^BUhzE~b}>d51FPOGCxV6mr=?>29n3bQLA%$~|M;dKK49%cog3NC%? zU#s9h#Pgy|?C)YGi^If9oMMm2sum0s=T|=qW!6@_flm@&t>!_o;s(_)~ES|+y@>SKR{?aQyUE<`pOg?QH=c)`uw9F3#SErc^%<+>X+!f z@uPCI(QTHF=QO%o@6$MJ`e~K)t0&&?(rTVN+~64bplI@=kXs?Ej(&Nsi3nO|{u6D) zNfy90{kj4#NS)wMBo3;@{2^lKhdNJ|)-6%OK{vi7Z}6#MIN#{jk4Fu%^s=7oY^1b~bIb zz&>XFP4@AB_ClYleIV+RW}gKUZ~_z1XiJm(<`4o~AafG?*Uag2Xd&DW`yLzq_m765 z3nA;^R_?2`*xl%ycq0^paxaeA|H$2eFJiug3c}2#@XzK$TuN5d5L*K0D!Q z>ljWoU?M9`pw6HE3%23R4=~XQ{+9Zo`XXV7)&`JRt$*V`?T#wkm|nPYFB}H_aajg# zSHfkPVYn>wT?$SM9$`)OXQfW|-AjH>njgurQaw||(%v}>CfT9I2zy&Bvx_D_HzNU!wlfhPqQ zEreF^aw(Jb)7V|OY?Orj^_`)zsH=Z!Oj`&RbwZf?X)5+SVshnsTRl+U5c z@3fw?ujy$bq|U}|ovWwaG-vWIp)-Fd0aW)7QJzJByV~{e8M+mM-AVogMS)Hs?YE}2 z?#!k2Gr>QqAR{)Onz8xyrK@37%?3klmWHnV~(#>D?7Wv#oM_|op_RXs3btd2Jr5##i zqX{KgyATXfF}3eHm_!tsNFi?fL#4p$(w0@}%<6N%pYzzAzs(4F3%!W)g%1{e+k&L! zGK`|ripwi8MuY>kXRm=|1$na&cm3EKWac^H{TH*HTyMkd0s}QDJ1|TAzp5V$*!}|O z*`FD=U^c}6cIiA{s@|N=+`{y8xrP6)J^ti>?eR+LwP^KY-8Y^8 z8>{C%{^Wn{@ha*;$nXoYE1~`EKN%MML#J+^WaiOS3Ngf%{he|D1-JbowvSR(5v!&4 znyjbCwTDs!9O$6grCV&0rq3=t3C=6>cLDXenpy7-5)>(gt2)%eq~H|m06N9`$s2A& z{Q*Fw=r|_)?^W6`*+t}*QSKe=ogpd9TSYtit&JjPz~C;O7@2*mw|)x@W-uVh5~j{| z4G4Ax?Dvg9>Hb}G9{rRzNajya;zi=x+^@X=(+4y}!Kf^3_PwE9N*E)LAjy@+fY?^7 zb<>XJmLtTrDde2DjiS=BecEBChxP$tpSS)IJWYn`%-%DbTTj3l|7RhXII9yAZLW5E z+EyUMS-z-c^fw50javucO<*eqXe+sYwUvLC|Bv*+yOGD4{bM};xb9yJhxxA~PeQpq z`wm%0?LBw<&>q6^heOStCC})63^fyPD)xp^6ctT=vPF$VcU&D0Jnbm^14kk_mypLlb;UFV>RY-GjU}sTjg4_QtlPz{G%9AykK(^Y zpPg<|=j8?6%vN|6M*bgRN%#@^ya7>T?Ja13?Q+&UE`VHU84QO$y>;#nzt~vRrgf0M zt7oU)tKY2l*gE@d7hhV5M%%}!W}NxfI$fy@?L!vPCH79MV8EU6$_U;q$Qy8UeS`cX zY+;YsqqRmf=B17>89Sfd-Np*<#`>t7k7i+Ag-){2@Q*GZHKM7+yK2>^Nwygz%kU;r z{Jl;xZSSWs(5d<>H2q9;2^y^Roi?qI8i-Mcf9~C(r){Xuez$4UX`D5LtL!^-O1}-G zOBe@w-kfnvF2gK}ddA#q7Yc_r(V6`2A35QR+MjS4LySGyy|?$O2cG?|eCL1fP4L|e z_gg9jeYea6yUS>ehc@M;%G;{wv(fO1kloN`D<78PIsK448n}_)-{eM#vWFZ;15y-P zn;tDCnujKrj*es~%7AGKCL7lz4~bOyq}))wD+HHj{LOxef#K^@0FFyo4)R>H>XgH* zMCj}x&L4CJg9id`Y=ZsB= zC}pZlGUH*yI@x3Yoac*SqDDkMmN#dEw=L#g@HDcQ+GL7gmvKhIAUc_nM6JnNexxM_ zlMVOhZ*=Z^GN5_A)b?OLOlC!+jB(N+yX$6kLca?RNsyJ*#so>1o>Bq!c4{`n!6SU&)^rv z@P0_<&KS!qQo@-;m_}if!frRg?{O^xqY0nzYx(7af^5zO-l?U~G8e@9dciF!;(plU9>de@Q0EmONg&%(Iz zeQ|K8*UPxAWJIoi`PKvd&Y3^Z?2F30klA{A=>|o6f?2M~rbx^)`0MxuG}BaYI9)>I<8}ubiOIUh7!8@odOUA^)3_i6b9XY}54pXV;WPZZGlw?WgWdP9lyi@3_0l_w&$zc>NCKkvYI|cH#G%r1c z3jhRy^Ss31R`}SL$u0H$I=ed+Be9kf>Li4ZdC7)lMQE|{JnMR%*zwlGRTee+oB)msLJcfAO^E6DDww{xi;r?{K@Gsk;V6@silse@g=m8ir zq}ONZ9=i<{ZJytrq0iQ_IEO`&+cft>=taU?VYkt-V;cNd z_|pi+#6|<8hfG-*nqkY=Xu2o3!fU(BaWw(SLu)GGQ$~ZHDuUf2RZ4nEFsJr_0L-u2|{h*feUj!?Bn^(8H$%D zP8LPfDb_f`f*4Fhdpa`!H^H?V`&SBXl=(=76~n<-I99B8ftS9SS@Ht zyTX2S4%wXj8k~JeKK~NMC=vU;`fH2)O-Rd`JOuKu6xTeAMIU>A!XfQuLSNn+9Jx8g&!Yz4ti7L7I9 zeUGq@vW!KRTWpkZsAos3cQ;I4B5rz%;kN@F`wbpjJN?Zy0L5wIt4+$!!X{o{K6xJL z{+TQ?E279p_FtKmA(GbfOSm<(v0Glj*aeDE4mH1S+tt(v@@)xhdn3GIE6CUB-f`3E z@?EI}^7Z=<g7jgTU{2 zn4Fmg8>f^Z^wqrV2zU=pWvl0p9{tGxLGhg>zcT(R^eLh(U?lk4y>Dk|;1tiP)nE$4 zJ2iHaOLwd4#BcLaIkTbh&TO#Xov`K7_qn3qw#+BcjnJPqAKxG*nV6Hor;9B8q$JYt zweM;;6c?z)_MgdoJNj@zr-@_7mq(>75Bf1(4L^e3m(gl8BwS;#OQPgZwA-_a z{TtF250is&92D(n;fv1$M*eE<{2Klc9D@A0^1Cn2$32oK-sWQ;3OpS4g2B4scqhK< zW-7a+MI5mi{Dzacf61J9ko!=zG8M0e9QjaGOUHAUs21m)(doS>I#(W6xC>X}+r96Q zr>I>1{H^6Zx*}E1k2jo{74i@?zIN^OHDK02WIDXP+T91V!PR6_B+fCiCrO zGx#|`Cnjd+ZDoTDtF@B0A#X6^!>$~Qj>Dvr74b{$R~50dYm$!ez{Zu2U%pNzfr$Pi z#7tm|Se2`-bwpnEtgHyC3Pg7^PE6P_*=^t|xAt8;HZ7z_5kXh)GNg3fRB%!8R=oWJ zUW372{hq;srk-MmdA40B;4HZ3F)YPK0*uuy$<^b3foOf2lFwFzn!iVzke9Hhs|tQ| z(HQiUx6Wuw5j-NgK;Pysi73x_ZVI28mssEUP^GYZmXeW2n@Oth24#@i?c+8P)1}4| zjgm;kpB>7=fCKza!ErNq?^yQ(?^ux75BC1HnGWCQsnR0VNhf+x*RH`tB|-q3VieN? zrzxTeOaF{2eBbcQLYWJ0)vFUHu5NaCbm%JfT*pW<$pjim_-f5-ZZS*n>XPQ>D_8V?2zGy z$)Py#+YeYb^Xp#Lmcd@`Rj=SbCkA`TRlqNqjzC1Tm!Xe6Zo=?YBLjs_gbZfBJiT1~ z0li36xyJGI!g>u*D#75f+fz$$QFc!^zjmMh$uuAyn5p%RVaWmM4|%T<)%s@BxCC#214v?>yaj}- zoRegk0$_kEA0a$=Y5YB61|Jsda<*t(_u5_Ilc{Gqyk>9gW61$Icui}R_B7B5#vK8f zxp;m|bA!aO!a}!mHjwR|{>TXuoDJHd1`aeW?ECmN0yz?(&Xx z;?rdIPz|WZxW=uBBfziMtMGtmj}+)%@dwOo?%K5bH+^;Qn#{As&(C_SG6`(wAaF0Q zbBh^DfZhIKor?TxfYUn~{ExluhrLx@yc@R+-l@dP-2nrYQJ&;+T=K6uHIH#gp2odB z$y68@zj&S~l>g;$R1nZDjhHI<-tFdpgaA` zc}GJbP0hWy4ukL^7CBX_*!P`kuI@cskE<=m@$6CK8E+?4{+q#YiC`DxDcR>)XV2($P+wVkq7gF+LfHJR1I<7Wz=Yl%p4Q7N>Fm6OD<@vlVbD(aL=(65on(??nynn~8 z_ICucmiKH^Mt=&~3@m1!l4WZ358%iBVBaiVm0knIZ0m}RuX=Y7Jm$4J7u+xTysa@h z9#dHH`on&KD)5fgM9=*{e~XiteW1si7TDId6-MNK_S*oYM=c&W%KXS~)hixu&kpu3 z)E_-QV*D!Q{rOQ;o!TGwP^YX@o_{d}X4wO^^Vd%UN=>j>xA%u@P2sC*h*}_YtAQl& z&VrlDHw?b-_J_ktV!N!4XtD40`j_tSi)V!o$}4#0DGZ)@h{%V5vta#V`=u~0_MG

GeL3(;UjYqkFlA>ShPJRpi%m>C$bczi#jiOu0L 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%0D*}Ahoi}oFB)`X7e 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 MXU2W2EIIHV??X%MtDQiUh7gcipdAKL@d*tW!M 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

ko1PJ=MPt-JVOAiR06DbK_?Mu^U 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 Date: Tue, 6 Aug 2024 16:58:37 -0400 Subject: [PATCH 12/31] feat(construct): added documentation to the construct --- src/patterns/gen-ai/aws-text-to-sql/README.md | 120 ++++++++---------- 1 file changed, 53 insertions(+), 67 deletions(-) diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index cfdbc8a1..14be6d81 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -34,23 +34,19 @@ ## Overview -This CDK construct leverages generative AI capabilities to generate SQL queries based on user input in natural language form. +This CDK construct leverages state-of-the-art generative AI capabilities to facilitate natural language-based SQL query generation. It seamlessly integrates with both Amazon Aurora and Amazon RDS database services, currently supporting MySQL databases. If you have an existing MySQL database hosted on an Amazon Aurora or Amazon RDS instance, you can seamlessly integrate it with the construct. Alternatively, the construct can provision the necessary database infrastructure for you. -Given the inherent ambiguity in natural language, the system employs semantic linking, which utilizes a knowledge layer loaded from configuration files or a knowledge base. +To address the inherent ambiguity present in natural language, the system employs a sophisticated semantic linking mechanism. This mechanism utilizes a knowledge layer loaded from configuration files or an Amazon Bedrock knowledge base to reformulate the user's query, disambiguating and clarifying the intent. The system then prompts the user for feedback on the reformulated query, ensuring accurate interpretation of the user's intent. Upon user approval of the reformulated query, the construct generates the corresponding SQL query and presents it to the user for further validation. -The semantic linking component reformulates the user's query to disambiguate and clarify the intent. It then prompts the user for feedback on the reformulated query. If the user approves the reformulated query, the construct generates the corresponding SQL query and presents it to the user for further validation. +Once the user approves the generated SQL query, they have the option to execute it against the target database. In the event of any issues with the generated query, the construct is equipped with an autocorrection mechanism that allows for a configurable number of retries. -If the user rejects the reformulated query, the process is terminated, and no further action is taken. Similarly, if the user disapproves of the generated SQL query, the flow is aborted. +The system's architecture is built upon a serverless workflow orchestrated by AWS Step Functions and AWS Lambda, triggered by an Amazon EventBridge event. The AWS Step Functions workflow publishes a task token on an Amazon Simple Queue Service (SQS) queue and awaits user feedback, ensuring a seamless and efficient user experience. -Upon user approval of the generated SQL query, it is executed against the target database. Optionally, the user can configure the workflow strategy to operate in an automatic mode by updating the configuration files. In this mode, the system bypasses the feedback prompts and executes the generated SQL queries without user intervention. -The system's architecture incorporates robust error handling and logging mechanisms to ensure reliable operation and facilitate troubleshooting in case of any issues. +The construct support anthropic claude 3 models (anthropic.claude-3-haiku-20240307-v1:0, anthropic.claude-3-sonnet-20240229-v1:0). Please make sure the model is enabled in your account.Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. This construct builds a Lambda function from a Docker image, thus you need [Docker desktop](https://www.docker.com/products/docker-desktop/) running on your machine. - -Make sure the model (anthropic.claude-v2:1) is enabled in your account. Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. - AWS Lambda functions provisioned in this construct use [Powertools for AWS Lambda (Python)](https://github.com/aws-powertools/powertools-lambda-python) for tracing, structured logging and custom metrics creation. Here is a minimal deployable pattern definition: @@ -92,8 +88,6 @@ text_to_sql_construct = TextToSql( ) ``` - - ## Initializer ``` @@ -110,76 +104,73 @@ Parameters | **Name** | **Type** | **Required** |**Description** | |:-------------|:----------------|-----------------|-----------------| -| cognitoUserPool | [cognito.IUserPool](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cognito.IUserPool.html) | ![Required](https://img.shields.io/badge/required-ff0000) | Amazon Cognito user pool used for authentication. | +| dbName | string | ![Required](https://img.shields.io/badge/required-ff0000) | Database name. This is the target database against which the query will be generated. | +| metadataSource | string | ![Required](https://img.shields.io/badge/required-ff0000) |Two metatdata source are supported: 1. config_file 2. Knowledge base | | vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | The construct creates a custom VPC based on vpcProps. Providing both this and existingVpc will result in an error. | | existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct.| -| existingSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the Lambda function which this construct will use. If no exisiting security group is provided it will create one from the VPC.| -| existingInputAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the input document to be summarized. PDF is the supported input document format. If transformed (.txt format) file is available, then this bucket is optional. | -| bucketInputsAssetsProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingInputAssetsBucketObj` will result in an error.| -| isFileTransformationRequired | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | The summary construct transforms the input document into .txt format. If the transformation is not required then this flag can be set to false. If set to true, then a transformed asset bucket is created which transforms the input document from input asset bucket to .txt format.| -| existingProcessedAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.IBucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | This bucket stores the transformed (.txt) assets for generating the summary. If none is provided then this contruct will create one.| -| bucketProcessedAssetsProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingProcessedAssetsBucket` will result in an error.| -| existingBusInterface | [events.IEventBus](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing instance of event bus. The summary construct integrates AppSync with EventBridge to route the request to Step Functions.| -| eventBusProps | [events.EventBusProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | A new custom event bus is created with provided props. Providing both ```existingBusInterface``` and ```eventBusProps``` will result in an error.| -| existingMergedApi | [appsync.CfnGraphQLApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnGraphQLApi.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Merged API instance. The Merged API provides a federated schema over source API schemas.| -| summaryApiName | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided name for summary API on AppSync. A GraphQL API will be created with this name.| -| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enables observability on all services used. Warning: associated costs with the services used. It is a best practice to enable by default. Defaults to true.| -| summaryChainType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Chain type defines how to pass the document to the LLM. There are three chain types. Stuff: Simply "stuff" all your documents into a single prompt. Map-reduce: Summarize each document on its own in a "map" step and then "reduce" the summaries into a final summary. Refine: Loops over the input documents and iteratively updates its answer. | +| existingSubnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing subnet group can be used to deploy the construct.| +| existingLambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the Lambda function which this construct will use. If no exisiting security group is provided it will create one from the VPC.| +| existingDBSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the database which this construct will use. If no exisiting security group is provided it will create one from the VPC.| +| existingconfigAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the config files. | +| configAssetsBucketProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingconfigAssetsBucketObj` will result in an error.| | stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | -| customDocumentReaderDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide document reading custom lambda code and settings instead of the default construct implementation.| -| customInputValidationDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide input validation custom lambda code and settings instead of the default construct implementation.| -| customSummaryGeneratorDockerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide summary generation custom lambda code and settings instead of the default construct implementation.| +| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enable cloudwatch logging. | +| databaseType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Database type. Select between Aurora or RDS as database type. If none selected then Aurora is used as default database type. | +| existingAuroraDbCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Aurora Managed DB cluster | +| databaseClusterProps | [rds.DatabaseClusterProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Aurora Managed DB cluster props.Passing existingAuroraDbCluster and databaseClusterProps will result in error. | +| databaseInstanceProps | [rds.DatabaseInstanceProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error.| +| dbPort | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | db port number.| +| existingRdsDbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error.| +| customQueryConfigurerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for all pre steps required before generating the query.| +| customQueryGeneratorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for generating the query.| +| customFeedbackLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for requesting the feedback from the user.| +| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query.| +| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query.| +| existingKnowledgeBaseId | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Knowledge base ID.| ## Pattern Properties | **Name** | **Type** | **Description** | |:-------------|:----------------|-----------------| -| eventBridgeBus | [events.IEventBus](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html) | An instance of events.IEventBus created by the construct | -| mergeApi | [appsync.CfnGraphQLApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnGraphQLApi.html) | Instance of appsync.CfnGraphQLApi for Merged API created by the construct | -| graphqlApi | [appsync.IGraphqlApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.IGraphqlApi.html) | Instance of appsync.CfnGraphQLApi for summary created by the construct| -| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) |Returns the instance of ec2.ISecurityGroup used by the construct | -| securityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct. | -| inputAssetBucket | [s3.Bucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Instance of s3.IBucket used by the construct | -| processedAssetBucket | [s3.Bucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) |Instance of s3.IBucket used by the construct| -| summaryGeneratorLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the summary generation job created by the construct | -| documentReaderLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the document reading job created by the construct | -| inputValidationLambdaFunction| [lambda.DockerImageFunction](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.DockerImageFunction.html) | Returns an instance of lambda.DockerImageFunction used for the input validation job created by the construct | - +| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html) | Returns the instance of ec2.IVpc used by the construct | +| subnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | Returns the instance of subnet group used by the construct | +| lambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | +| dbSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | +| configAssetBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Returns the instance of s3.IBucket used by the construct | +| databaseCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | Returns the instance of aurora cluster used by the construct | +| dbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseInstance.html) | Returns the RDS db instance used by the construct | +| secret | [secretsmanager.Secret](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager.Secret.html) | Returns the instance of secret manager used by the construct | ## Default properties Out-of-the-box implementation of the construct without any override will set the following defaults: -### VPC +### VPC, Private Subnet and Security group - Sets up VPC to deploy the contruct + - Private subnet for Amazon Aurora/Amazon RDS + - Security group for private subnet -### AppSync -- Sets up AWS AppSync Merged API - - Associate the source api with Merged API using 'AUTO-MERGE' +### Amazon Aurora cluster / Amazon RDS instance +- Sets either Amazon Aurora or Amazon RDS based on databaseType prop. + - Sets up Amazon Aurora cluster with auroraMysql, engine version VER_3_07_0, 1 reader and 1 writer medium type instances. + - Sets up Amazon RDS instance with MySql, engine version VER_8_0_37, with one large type instance. ### Amazon S3 Buckets -- Sets up two S3 Buckets - - Uses existing buckets if provided, otherwise creates new ones -- If isFileTransformationRequired is set to False then -only one bucket is created for input assets +- Sets up S3 Bucket + - Uses existing buckets if provided, otherwise creates new one ### Observability By default the construct will enable logging and tracing on all services which support those features. Observability can be turned off through the pattern properties. - AWS Lambda: AWS X-Ray, Amazon CloudWatch Logs - AWS Step Functions: AWS X-Ray, Amazon CloudWatch Logs -- AWS AppSync GraphQL API: AWS X-Ray, Amazon CloudWatch Logs ## Troubleshooting | **Error Code** | **Message** | **Description** |**Fix** | |:-------------|:----------------|-----------------|-----------------| -| 601 | Invalid file format. | Only .txt and .pdf file format are supported | Provide a valid file with .pdf or .txt extension | -| 602 | Not able to transform the file. | File transformation from .pdf to .txt failed | Check if valid file exist in input bucket | -| 603 | No file available to read. | Couldn't read file from input bucket | Check if valid file exist in input bucket | -| 604 | Something went wrong while generating summary! | LLM threw an exception | Check if your account has access to Amazon Bedrock | ## Architecture @@ -187,7 +178,7 @@ By default the construct will enable logging and tracing on all services which s ## Cost -You are responsible for the cost of the AWS services used while running this construct. As of this revision, the cost for running this construct with the default settings in the US East (N. Virginia) Region is approximately $292.04 per month. +You are responsible for the cost of the AWS services used while running this construct. As of this revision, the cost for running this construct with the default settings in the US East (N. Virginia) Region is approximately $XXXX per month. We recommend creating a budget through [AWS Cost Explorer](http://aws.amazon.com/aws-cost-management/aws-cost-explorer/) to help manage costs. Prices are subject to change. For full details, refer to the pricing webpage for each AWS service used in this solution. @@ -196,40 +187,35 @@ The following table provides a sample cost breakdown for deploying this solution | **AWS Service** | **Dimensions** | **Cost [USD]** | |:-------------|:----------------|-----------------| -| AWS Step Functions | 15 requests per hour for summarization, each with 2 files (4 steps per workflow) | 0.99 | -| Amazon Virtual Private Cloud | | 0.00 | -| AWS AppSync | 15 requests per hour to trigger summarization + (15 x 4 calls to notify clients through subscriptions) = 54,000 requests per month | 0.22 | -| Amazon EventBridge | 15 requests per hour = 10800 custom events per month | 0.01 | +| AWS Step Functions | 15 requests per hour for summarization, each with 2 files (4 steps per workflow) | XX | +| Amazon Virtual Private Cloud | | XX | +| Amazon EventBridge | 15 requests per hour = 10800 custom events per month | XX | | AWS Lambda | 15 summarization requests per hour with 2 files each time, through 4 Lambda functions each allocated with 7076 MB of memory allocated and 512 MB of ephemeral storage allocated and an average run time of 30 seconds = 43200 requests per month | 142.59 | | Amazon Simple Storage Service | 15 requests per hour for summarization with 2 files in input format (PDF) with an average size of 1MB and transformed files to text format with an average size of 1 MB = 43.2 GB per month in S3 Standard Storage | 0.99 | | Amazon Bedrock | With the on-demand mode, for text generation models, you are charged for every input token processed and every output token generated. Anthropic.claude model price for 1000 input tokens= $0.01102 and for 1000 output tokens = $0.03268. With a pdf of 50 pages (asumming each page having 200 words) , 50 * 200 , there are 10000 words, which are ~= 7500 tokens. Input token cost for 200 request per month = 7.5 * 0.01102 * 200 = 16.53. Asumming a summary of 200 words (150 tokens) for 200 requests per month cost of output token = 150 * (0.03268/1000) * 200 = 9.804. Total cost for 200 summary requests , 16.53 + 9.804 = $26.334| 26.34 | | Amazon CloudWatch | 15 metrics using 5 GB data ingested for logs | 7.02 | | AWS X-Ray | 100,000 requests per month through AppSync and Lambda calls | 0.50 | -| Total Deployment cost | | 178.16 | +| Total Deployment cost | | XXXX | + +The resources not created by this construct ( AWS Secrets Manager secret ) do not appear in the table above. You can refer to the decicated pages to get an estimate of the cost related to those services: -The resources not created by this construct (Amazon Cognito User Pool, AppSync Merged API, AWS Secrets Manager secret) do not appear in the table above. You can refer to the decicated pages to get an estimate of the cost related to those services: -- [AWS AppSync pricing (for Merged API if used)](https://aws.amazon.com/appsync/pricing/) -- [Amazon Cognito Pricing](https://aws.amazon.com/cognito/pricing/) - [AWS Secrets Manager Pricing](https://aws.amazon.com/secrets-manager/pricing/) ## Security When you build systems on AWS infrastructure, security responsibilities are shared between you and AWS. This [shared responsibility](http://aws.amazon.com/compliance/shared-responsibility-model/) model reduces your operational burden because AWS operates, manages, and controls the components including the host operating system, virtualization layer, and physical security of the facilities in which the services operate. For more information about AWS security, visit [AWS Cloud Security](http://aws.amazon.com/security/). -This construct requires you to provide an existing Amazon Cognito User Pool. Please refer to the official documentation on best practices to secure this service: -- [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/security.html) -Optionnaly, you can provide existing resources to the constructs (marked optional in the construct pattern props). If you chose to do so, please refer to the official documentation on best practices to secure each service: -- [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) +Optionaly, you can provide existing resources to the constructs (marked optional in the construct pattern props). If you chose to do so, please refer to the official documentation on best practices to secure each service: - [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) - [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-security.html) -- [AWS AppSync](https://docs.aws.amazon.com/appsync/latest/devguide/best-practices.html) +- [Amazon Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.BestPractices.html) +- [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html) If you grant access to a user to your account where this construct is deployed, this user may access information stored by the construct (Amazon Simple Storage Service buckets, Amazon Elasticache, Amazon CloudWatch logs). To help secure your AWS resources, please follow the best practices for [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). > **Note** -> This construct requires you to provide documents in the input assets bucket. You should validate each file in the bucket before using this construct. See [here](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) for file input validation best practices. -> Ensure you only ingest the appropriate documents into your knowledge base. Any results returned by the knowledge base is eligible for inclusion into the prompt; and therefore, being sent to the LLM. If using a third-party LLM, ensure you audit the documents contained within your knowledge base. + > This construct provides several configurable options for logging. Please consider security best practices when enabling or disabling logging and related features. Verbose logging, for instance, may log content of API calls. You can disable this functionality by ensuring observability flag is set to false. ## Supported AWS Regions From 0005f4de17162cb8227ce649920e883a04567d4a Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Mon, 12 Aug 2024 09:27:57 -0400 Subject: [PATCH 13/31] feat(construct): added custom resource function to upload config files to s3 --- lambda/aws-text-to-sql/Dockerfile | 24 ++ .../custom_resources/__init__.py | 43 ++++ .../custom_resources/config_file_loader.py | 94 ++++++++ .../custom_resources/cr_types.py | 33 +++ lambda/aws-text-to-sql/pyproject.toml | 18 ++ .../reformulate_question/custom_errors.py | 12 +- .../reformulate_question/lambda.py | 107 +++++---- .../gen-ai/aws-text-to-sql/few_shots.json | 42 ++++ .../kb_schema_linking_prompt.json | 16 ++ .../aws-text-to-sql/knowledge_layer.json | 5 + .../knowledge_layer_prompt.json | 16 ++ .../aws-text-to-sql/workflow_config.json | 45 ++++ src/patterns/gen-ai/aws-text-to-sql/index.ts | 213 +++++++++++++----- 13 files changed, 565 insertions(+), 103 deletions(-) create mode 100644 lambda/aws-text-to-sql/Dockerfile create mode 100644 lambda/aws-text-to-sql/custom_resources/__init__.py create mode 100644 lambda/aws-text-to-sql/custom_resources/config_file_loader.py create mode 100644 lambda/aws-text-to-sql/custom_resources/cr_types.py create mode 100644 lambda/aws-text-to-sql/pyproject.toml create mode 100644 resources/gen-ai/aws-text-to-sql/few_shots.json create mode 100644 resources/gen-ai/aws-text-to-sql/kb_schema_linking_prompt.json create mode 100644 resources/gen-ai/aws-text-to-sql/knowledge_layer.json create mode 100644 resources/gen-ai/aws-text-to-sql/knowledge_layer_prompt.json create mode 100644 resources/gen-ai/aws-text-to-sql/workflow_config.json diff --git a/lambda/aws-text-to-sql/Dockerfile b/lambda/aws-text-to-sql/Dockerfile new file mode 100644 index 00000000..522469b9 --- /dev/null +++ b/lambda/aws-text-to-sql/Dockerfile @@ -0,0 +1,24 @@ +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance +# with the License. A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions +# and limitations under the License. +# + +FROM public.ecr.aws/sam/build-python3.12:1 + +RUN mkdir /asset +RUN pip install poetry +COPY . . +RUN rm -rf dist/* +RUN poetry install +RUN poetry build +RUN poetry run pip install --upgrade -t /asset dist/*.whl + +CMD ["echo", "Build completed"] diff --git a/lambda/aws-text-to-sql/custom_resources/__init__.py b/lambda/aws-text-to-sql/custom_resources/__init__.py new file mode 100644 index 00000000..92d5e92d --- /dev/null +++ b/lambda/aws-text-to-sql/custom_resources/__init__.py @@ -0,0 +1,43 @@ +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance +# with the License. A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions +# and limitations under the License. +# + +__version__ = "0.1.0" + +import logging +import os +import time + +from .cr_types import CustomResourceRequest, CustomResourceResponse +from .config_file_loader import on_event as config_file_loader_on_event + +LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") + +logger = logging.getLogger(__name__) +logger.setLevel(LOG_LEVEL) + + +def on_event(event: CustomResourceRequest, context): + logger.debug(f"Received event: {event}") + resource_type = event["ResourceType"] + + if resource_type == "Custom::ConfigFileLoader": + return config_file_loader_on_event(event, context) + if resource_type == "Custom::NoOp": + logger.info("NoOp resource type") + # Return a response with a physical resource ID that is not empty. + # This is required by CloudFormation to avoid a race condition. + time.sleep(event["ResourceProperties"].get("delay", 0)) + return CustomResourceResponse( + PhysicalResourceId=event["ResourceProperties"].get("message", "no-op") + ) + raise Exception("Invalid resource type: %s" % resource_type) diff --git a/lambda/aws-text-to-sql/custom_resources/config_file_loader.py b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py new file mode 100644 index 00000000..bd9fb1e5 --- /dev/null +++ b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py @@ -0,0 +1,94 @@ +import logging +import os +import boto3 + + +from botocore.exceptions import ClientError + +from custom_resources.cr_types import CustomResourceRequest, CustomResourceResponse + +from typing import TypedDict + +# Set the LD_LIBRARY_PATH to include the /opt/lib directory +# if os.environ.get('AWS_EXECUTION_ENV'): +# os.environ['LD_LIBRARY_PATH'] = '/opt/lib' +# try: +# import psycopg2 +# # Your code that uses psycopg2 +# except ImportError: +# sys.exit('Unable to import module: %s' % 'psycopg2') + + +LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") + +logger = logging.getLogger(__name__) +logger.setLevel(LOG_LEVEL) + + +class ConfigLoaderProperties(TypedDict): + Host: str + DatabaseName: str + Port: int + SecretName: str + + +def on_create( + event: CustomResourceRequest[ConfigLoaderProperties] +) -> CustomResourceResponse: + config_bucket = event["ResourceProperties"]["configBucket"] + config_file_path = event["ResourceProperties"]["configFilePath"] + + s3 = boto3.client('s3') + + # Upload all files from the configFilePath to the configBucket + for root, dirs, files in os.walk(config_file_path): + for file in files: + local_file_path = os.path.join(root, file) + s3_key = os.path.relpath(local_file_path, config_file_path) + + try: + s3.upload_file(local_file_path, config_bucket, s3_key) + logger.info(f"Uploaded {local_file_path} to { + config_bucket}/config/{s3_key}") + except ClientError as e: + logger.error(f"Error uploading {local_file_path}: {e}") + + return { + "PhysicalResourceId": f"{config_bucket}-config-files", + "Data": { + "Message": "Config files uploaded successfully" + } + } + + +def on_update( + _event: CustomResourceRequest[ConfigLoaderProperties], +) -> CustomResourceResponse: + raise ValueError("Update not supported") + + +def on_delete( + _event: CustomResourceRequest[ConfigLoaderProperties], +) -> CustomResourceResponse: + return { + "PhysicalResourceId": _event["PhysicalResourceId"], + "Data": { + "Message": "Deletion is not needed. Ignoring." + } + } + + +def on_event(event: CustomResourceRequest[ConfigLoaderProperties], context): + logger.debug(f"Received event: {event}") + request_type = event["RequestType"] + + if "ServiceToken" in event["ResourceProperties"]: + del event["ResourceProperties"]["ServiceToken"] + + if request_type == "Create": + return on_create(event) + if request_type == "Update": + return on_update(event) + if request_type == "Delete": + return on_delete(event) + raise Exception("Invalid request type: %s" % request_type) diff --git a/lambda/aws-text-to-sql/custom_resources/cr_types.py b/lambda/aws-text-to-sql/custom_resources/cr_types.py new file mode 100644 index 00000000..38e86418 --- /dev/null +++ b/lambda/aws-text-to-sql/custom_resources/cr_types.py @@ -0,0 +1,33 @@ +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance +# with the License. A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions +# and limitations under the License. +# + +from typing import TypeVar, TypedDict, Generic, Literal, NotRequired + +T = TypeVar("T") + + +class CustomResourceRequest(TypedDict, Generic[T]): + RequestType: Literal["Create", "Update", "Delete"] + ResponseURL: str + StackId: str + RequestId: str + ResourceType: str + LogicalResourceId: str + PhysicalResourceId: NotRequired[str] + ResourceProperties: NotRequired[T] + + +class CustomResourceResponse(TypedDict): + PhysicalResourceId: NotRequired[str] + NoEcho: NotRequired[bool] + Data: NotRequired[dict[str, str]] diff --git a/lambda/aws-text-to-sql/pyproject.toml b/lambda/aws-text-to-sql/pyproject.toml new file mode 100644 index 00000000..4fcb1a1f --- /dev/null +++ b/lambda/aws-text-to-sql/pyproject.toml @@ -0,0 +1,18 @@ +[build-system] +requires = [ "poetry_core>=1.0.0" ] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +name = "custom_resources" +version = "0.1.0" +description = "" +authors = [ "Amazon Web Services - Prototyping and Cloud Engineering" ] + +[tool.poetry.dependencies] +boto3 = "^1.33.6" +python = "^3.11" +botocore = "^1.34.67" + +[tool.poetry.dev-dependencies] +mypy = "^1.2.0" +pytest = "^7.4.3" diff --git a/lambda/aws-text-to-sql/reformulate_question/custom_errors.py b/lambda/aws-text-to-sql/reformulate_question/custom_errors.py index b147c4eb..829fe5d6 100644 --- a/lambda/aws-text-to-sql/reformulate_question/custom_errors.py +++ b/lambda/aws-text-to-sql/reformulate_question/custom_errors.py @@ -12,4 +12,14 @@ def __init__(self, message): class FileNotFound(Exception): def __init__(self, message): super().__init__(message) - self.message = f"[404] File not found, {message}" \ No newline at end of file + self.message = f"[404] File not found, {message}" + +class TaskTokenMissing(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] step function task token not found, {message}" + +class UserQuestionMissing(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[404] user question or question id is not found, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/reformulate_question/lambda.py b/lambda/aws-text-to-sql/reformulate_question/lambda.py index 2275c35d..dffe700c 100644 --- a/lambda/aws-text-to-sql/reformulate_question/lambda.py +++ b/lambda/aws-text-to-sql/reformulate_question/lambda.py @@ -3,16 +3,16 @@ import botocore import tempfile import json -from config_types import WorkflowStrategy,Metadata_source,ConfigFilesName +from config_types import WorkflowStrategy, Metadata_source, ConfigFilesName from bedrock import get_llm -from custom_errors import LLMNotLoadedException,KnowledgeBaseIDNotFound,FileNotFound +from custom_errors import LLMNotLoadedException, KnowledgeBaseIDNotFound, FileNotFound # aws libs from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext -from langchain_core.prompts import load_prompt +from langchain_core.prompts import load_prompt from langchain.chains import LLMChain from parser import extract_reformulated_question - +from botocore.exceptions import ClientError logger = Logger(service="QUERY_CONFIG") @@ -28,51 +28,59 @@ s3 = boto3.client('s3') bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') + @logger.inject_lambda_context(log_event=True) @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) -def handler(event, context: LambdaContext)-> dict: +def handler(event, context: LambdaContext) -> dict: logger.info(f"Starting textToSql construct for input :: {event}", ) user_question = event['user_question'] question_unique_id = event['unique_id'] - - keys = [ConfigFilesName.WORKFLOW_JSON,ConfigFilesName.KNOWLEDGE_LAYER_JSON] + is_feedback_request = event.get('get_feedback', False) + + keys = [ConfigFilesName.WORKFLOW_JSON, + ConfigFilesName.KNOWLEDGE_LAYER_JSON] file_contents = load_files_from_s3(keys) # check if file_contents has key workflow_config.json if ConfigFilesName.WORKFLOW_JSON in file_contents: config = json.loads(file_contents[ConfigFilesName.WORKFLOW_JSON]) - + else: - raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") - + raise ValueError( + f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") + if ConfigFilesName.KNOWLEDGE_LAYER_JSON in file_contents: - knowledge_layer = json.loads(file_contents[ConfigFilesName.KNOWLEDGE_LAYER_JSON]) + knowledge_layer = json.loads( + file_contents[ConfigFilesName.KNOWLEDGE_LAYER_JSON]) else: - raise ValueError(f"{ConfigFilesName.KNOWLEDGE_LAYER_JSON} not found in file_contents") - + raise ValueError( + f"{ConfigFilesName.KNOWLEDGE_LAYER_JSON} not found in file_contents") + semantic_layer = config.get("semantic_layer") - knowledge_base=config.get("knowledge_base") - - semantic_layer_strategy = semantic_layer.get('strategy', WorkflowStrategy.AUTO) + knowledge_base = config.get("knowledge_base") - if (semantic_layer_strategy != WorkflowStrategy.DISABLED ): - reformulated_user_question = get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base,user_question,metadata_source) + semantic_layer_strategy = semantic_layer.get( + 'strategy', WorkflowStrategy.AUTO) + + if (semantic_layer_strategy != WorkflowStrategy.DISABLED): + reformulated_user_question = get_reformulated_question( + semantic_layer, knowledge_layer, knowledge_base, user_question, metadata_source) else: - logger.info('Semantic validation strategy disabled, using the same question as asked by the user...') + logger.info( + 'Semantic validation strategy disabled, using the same question as asked by the user...') reformulated_user_question = user_question - + response = { - 'reformulated_user_question':reformulated_user_question, - 'user_question':user_question, - 'question_unique_id':question_unique_id, - 'semantic_layer_strategy':semantic_layer_strategy + 'reformulated_user_question': reformulated_user_question, + 'user_question': user_question, + 'question_unique_id': question_unique_id, + 'semantic_layer_strategy': semantic_layer_strategy } logger.info(f"Returning response :: {response}") return response - def load_files_from_s3(keys, bucket_name=config_bucket): """ Load files from an Amazon S3 bucket based on a list of keys and a prefix. @@ -85,11 +93,11 @@ def load_files_from_s3(keys, bucket_name=config_bucket): dict: A dictionary containing the file contents, with file paths as keys. """ file_contents = {} - + # Iterate over the list of keys for key in keys: try: - logger.info(f"Loading files from S3: {bucket_name} key {key} ") + logger.info(f"Loading files from S3: {bucket_name} key {key} ") file_obj = s3.get_object(Bucket=f"{bucket_name}", Key=key) file_data = file_obj['Body'].read().decode('utf-8') @@ -97,7 +105,7 @@ def load_files_from_s3(keys, bucket_name=config_bucket): except Exception as e: raise FileNotFound(f"Error loading file from S3: {e}") - logger.info(f"Loaded {len(file_contents)} files from S3") + logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents @@ -124,17 +132,22 @@ def get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base, u if semantic_layer_llm is None: raise LLMNotLoadedException("semantic_layer") - if metadata_source == Metadata_source.CONFIG_FILE: - downloaded_file=download_file_from_s3(config_bucket, semantic_layer['prompt_template_path']) + if metadata_source == Metadata_source.CONFIG_FILE: + downloaded_file = download_file_from_s3( + config_bucket, semantic_layer['prompt_template_path']) answer_prompt = load_prompt(downloaded_file) - knowledge_layer_data=knowledge_layer + knowledge_layer_data = knowledge_layer else: - downloaded_file=download_file_from_s3(config_bucket, semantic_layer['kb_prompt_template_path']) + downloaded_file = download_file_from_s3( + config_bucket, semantic_layer['kb_prompt_template_path']) answer_prompt = load_prompt(downloaded_file) - knowledge_layer_data = get_knowledge_layer_data(metadata_source, knowledge_base, user_question, semantic_layer) + knowledge_layer_data = get_knowledge_layer_data( + metadata_source, knowledge_base, user_question, semantic_layer) - chain = LLMChain(llm=semantic_layer_llm, prompt=answer_prompt, verbose=False) - response = chain.predict(knowledge_layer=knowledge_layer_data, question=user_question) + chain = LLMChain(llm=semantic_layer_llm, + prompt=answer_prompt, verbose=False) + response = chain.predict( + knowledge_layer=knowledge_layer_data, question=user_question) new_question = extract_reformulated_question(response) return new_question @@ -154,23 +167,25 @@ def get_knowledge_layer_data(metadata_source, knowledge_base, user_question, sem dict: The knowledge layer data. """ if metadata_source == Metadata_source.CONFIG_FILE: - logger.info('Semantic validation strategy enabled, running LLM against question + knowledge layer config file') - return + logger.info( + 'Semantic validation strategy enabled, running LLM against question + knowledge layer config file') + return else: - logger.info('Semantic validation strategy enabled, running LLM against question + knowledge base') - if knowledge_base_id is None: - raise KnowledgeBaseIDNotFound("KNOWLEDGE_BASE_ID environment variable is not set") - + logger.info( + 'Semantic validation strategy enabled, running LLM against question + knowledge base') + if knowledge_base_id is None: + raise KnowledgeBaseIDNotFound( + "KNOWLEDGE_BASE_ID environment variable is not set") + response = bedrock_agent_runtime.retrieve( retrievalQuery={'text': user_question}, knowledgeBaseId=knowledge_base_id, - retrievalConfiguration={'vectorSearchConfiguration': {'numberOfResults': 1}} + retrievalConfiguration={ + 'vectorSearchConfiguration': {'numberOfResults': 1}} ) return response['retrievalResults'] - - def download_file_from_s3(bucket_name, object_key): """ Download a file from an Amazon S3 bucket. @@ -185,10 +200,10 @@ def download_file_from_s3(bucket_name, object_key): s3 = boto3.client('s3') try: - download_path = os.path.join(tempfile.gettempdir(), os.path.basename(object_key)) + download_path = os.path.join( + tempfile.gettempdir(), os.path.basename(object_key)) s3.download_file(bucket_name, object_key, download_path) except botocore.exceptions.ClientError as e: raise FileNotFound(f"Error loading file from S3: {e}") return download_path - diff --git a/resources/gen-ai/aws-text-to-sql/few_shots.json b/resources/gen-ai/aws-text-to-sql/few_shots.json new file mode 100644 index 00000000..379c8f80 --- /dev/null +++ b/resources/gen-ai/aws-text-to-sql/few_shots.json @@ -0,0 +1,42 @@ +[ + { + "input": "Find all albums for the artist 'AC/DC'.", + "query": "SELECT * FROM Album WHERE ArtistId = (SELECT ArtistId FROM Artist WHERE Name = 'AC/DC');" + }, + { + "input": "List all tracks in the 'Rock' genre.", + "query": "SELECT * FROM Track WHERE GenreId = (SELECT GenreId FROM Genre WHERE Name = 'Rock');" + }, + { + "input": "Find the total duration of all tracks.", + "query": "SELECT SUM(Milliseconds) FROM Track;" + }, + { + "input": "List all customers from Canada.", + "query": "SELECT * FROM Customer WHERE Country = 'Canada';" + }, + { + "input": "How many tracks are there in the album with ID 5?", + "query": "SELECT COUNT(*) FROM Track WHERE AlbumId = 5;" + }, + { + "input": "Find the total number of invoices.", + "query": "SELECT COUNT(*) FROM Invoice;" + }, + { + "input": "List all tracks that are longer than 5 minutes.", + "query": "SELECT * FROM Track WHERE Milliseconds > 300000;" + }, + { + "input": "Who are the top 5 customers by total purchase?", + "query": "SELECT CustomerId, SUM(Total) AS TotalPurchase FROM Invoice GROUP BY CustomerId ORDER BY TotalPurchase DESC LIMIT 5;" + }, + { + "input": "Which albums are from the year 2000?", + "query": "SELECT * FROM Album WHERE strftime('%Y', ReleaseDate) = '2000';" + }, + { + "input": "How many employees are there", + "query": "SELECT COUNT(*) FROM \"Employee\"" + } +] \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/kb_schema_linking_prompt.json b/resources/gen-ai/aws-text-to-sql/kb_schema_linking_prompt.json new file mode 100644 index 00000000..267e9b45 --- /dev/null +++ b/resources/gen-ai/aws-text-to-sql/kb_schema_linking_prompt.json @@ -0,0 +1,16 @@ +{ + "name": null, + "input_variables": [ + "knowledge_layer", + "question" + ], + "input_types": {}, + "output_parser": null, + "partial_variables": {}, + "metadata": null, + "tags": null, + "template": "Given the following user question, and context provided, reformulate the question only if the original question contains a word which is a synonym to the text present in the context provided. If not, output the original question. Provide your answer between tags \n\n Question: {question}\n Context: {knowledge_layer}\n Answer: ", + "template_format": "f-string", + "validate_template": false, + "_type": "prompt" +} \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/knowledge_layer.json b/resources/gen-ai/aws-text-to-sql/knowledge_layer.json new file mode 100644 index 00000000..983b5f26 --- /dev/null +++ b/resources/gen-ai/aws-text-to-sql/knowledge_layer.json @@ -0,0 +1,5 @@ +{ + "maker": "artist", + "song":"track" + +} \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/knowledge_layer_prompt.json b/resources/gen-ai/aws-text-to-sql/knowledge_layer_prompt.json new file mode 100644 index 00000000..9c1b4cef --- /dev/null +++ b/resources/gen-ai/aws-text-to-sql/knowledge_layer_prompt.json @@ -0,0 +1,16 @@ +{ + "name": null, + "input_variables": [ + "knowledge_layer", + "question" + ], + "input_types": {}, + "output_parser": null, + "partial_variables": {}, + "metadata": null, + "tags": null, + "template": "Given the following user question, and context provided, reformulate the question only if the original question contains a word as a key in the context provided. If not, output the original question. Provide your answer between tags \n\n Question: {question}\n Context: {knowledge_layer}\n Answer: ", + "template_format": "f-string", + "validate_template": false, + "_type": "prompt" +} \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/workflow_config.json b/resources/gen-ai/aws-text-to-sql/workflow_config.json new file mode 100644 index 00000000..385d916f --- /dev/null +++ b/resources/gen-ai/aws-text-to-sql/workflow_config.json @@ -0,0 +1,45 @@ +{ + "user_question": "How many makers are there ?", + "verbose": false, + "knowledge_base": { + "enable": true, + "id": "WUL39PUAZL", + "embedding_model": "amazon.titan-text-lite-v1" + }, + "sql_generation": { + "strategy": "human", + "sql_generation_prompt_path": "config/sql_generation_prompt.json", + "few_shots_strategy": "static", + "few_shots_max": 5, + "id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0, + "generation_prompt_template_path": "config/X.json", + "validation_prompt_template_path": "config/X.json" + }, + "execute_sql": { + "strategy": "human", + "id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + }, + "sql_synth": { + "strategy": "human", + "prompt_template_path": "config/sql_synth_prompt.json", + "id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + }, + "semantic_layer": { + "strategy": "human", + "prompt_template_path": "config/knowledge_layer_prompt.json", + "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + } +} \ No newline at end of file diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 0ade27e0..75bf4df7 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -16,6 +16,7 @@ import { EventbridgeToStepfunctions, EventbridgeToStepfunctionsProps, } from '@aws-solutions-constructs/aws-eventbridge-stepfunctions'; +import * as cdk from 'aws-cdk-lib'; import { Aws, Duration } from 'aws-cdk-lib'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as events from 'aws-cdk-lib/aws-events'; @@ -35,6 +36,7 @@ import { BaseClassProps, } from '../../../common/base-class/base-class'; import { ConstructName } from '../../../common/base-class/construct-name-enum'; +import { buildCustomResourceProvider } from '../../../common/helpers/custom-resource-provider-helper'; import { buildDockerLambdaFunction } from '../../../common/helpers/lambda-builder-helper'; import { generatePhysicalNameV2, @@ -80,14 +82,14 @@ export interface TextToSqlProps { * If no exisiting security group is provided it will create one from the vpc. * @default - none */ - readonly existingLambdaSecurityGroup?: ec2.ISecurityGroup; + readonly existingLambdaSecurityGroup?: ec2.SecurityGroup; /** * Optional. Security group for the db instance which this construct will use. * If no exisiting security group is provided it will create one from the vpc. * @default - none */ - readonly existingDBSecurityGroup?: ec2.ISecurityGroup; + readonly existingDBSecurityGroup?: ec2.SecurityGroup; /** * Value will be appended to resources name. @@ -162,13 +164,6 @@ export interface TextToSqlProps { | DockerLambdaCustomProps | undefined; - /** - * Optional. Allows to provide custom lambda code for requesting the feedback from the user. - * If not provided, default code will be used. - * - */ - readonly customFeedbackLambdaProps?: DockerLambdaCustomProps | undefined; - /** * Optional. Allows to provide custom lambda code for executing the query. * If not provided, default code will be used. @@ -223,12 +218,12 @@ export class TextToSql extends BaseClass { /** * Returns the instance of ec2.ISecurityGroup used by the construct */ - public readonly lambdaSecurityGroup: ec2.ISecurityGroup; + public readonly lambdaSecurityGroup: ec2.SecurityGroup; /** * Returns the instance of ec2.ISecurityGroup used by the construct */ - public readonly dbSecurityGroup!: ec2.ISecurityGroup; + public readonly dbSecurityGroup!: ec2.SecurityGroup; /** * Returns the instance of s3.IBucket used by the construct @@ -236,9 +231,14 @@ export class TextToSql extends BaseClass { public readonly configAssetBucket!: s3.IBucket; /** - * Returns the instance of RDS proxy used by the construct + * Returns the instance of EventBus used by the construct */ - //public readonly proxy: rds.DatabaseProxy | undefined; + public readonly eventBus?: events.IEventBus; + + /** + * Returns the instance of EventBus used by the construct + */ + public readonly eventsRule?: events.Rule; /** * Returns the instance of aurora cluster used by the construct @@ -254,6 +254,21 @@ export class TextToSql extends BaseClass { */ public readonly secret!: secretsmanager.Secret; + /** + * Returns the instance of feedback Queue used by the construct + */ + public readonly feedbackQueue: sqs.Queue; + + /** + * Returns the instance of output Queue used by the construct + */ + public readonly outputQueue: sqs.Queue; + + /** + * Returns the Instance of stepfunction created by the construct + */ + public readonly stepFunction ?: stepfunctions.StateMachine; + /** * Constructs a new instance of the TextToSql class. * @param {Construct} scope - represents the scope for all the resources. @@ -365,13 +380,14 @@ export class TextToSql extends BaseClass { // if (this.proxy) { // proxyEndpoint= this.proxy.endpoint; // } + // + // If the construct is not uploading the config files. // s3 bucket if (props?.existingconfigAssetsBucketObj) { this.configAssetBucket = props.existingconfigAssetsBucketObj; } else if (props?.configAssetsBucketProps) { const factories = new ConstructsFactories(this, 'resourceFactory'); - this.configAssetBucket = factories.s3BucketFactory('configBucket', { bucketProps: props.configAssetsBucketProps, }).s3Bucket; @@ -381,8 +397,21 @@ export class TextToSql extends BaseClass { 'configBucket', {}, ).s3Bucket; + + // create default bucket to upload the config files + // const asset = new s3assets.Asset(this, 'configBucketAsset', { + // path: path.join( + // __dirname, + // '../../../../resources/gen-ai/aws-text-to-sql', + // ), + // }); } + const configFilePath = path.join( + __dirname, + '../../../../resources/gen-ai/aws-text-to-sql', + ); + const textToSQLFunctionRole = new iam.Role( this, 'queryConfigFunctionRole', @@ -410,7 +439,7 @@ export class TextToSql extends BaseClass { ':s3:::' + this.configAssetBucket.bucketName + '/*', - + `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, 'arn:' + Aws.PARTITION + ':bedrock:' + @@ -454,6 +483,78 @@ export class TextToSql extends BaseClass { }), ); + const configLoaderPolicy = new iam.ManagedPolicy(this, 'AuroraPgPolicy', { + managedPolicyName: generatePhysicalNameV2(this, 'configLoaderPolicy', { + maxLength: 32, + lower: true, + }), + statements: [ + new iam.PolicyStatement({ + actions: [ + 'ec2:DescribeInstances', + 'ec2:CreateNetworkInterface', + 'ec2:AttachNetworkInterface', + 'ec2:DescribeNetworkInterfaces', + 'autoscaling:CompleteLifecycleAction', + 'ec2:DeleteNetworkInterface', + ], + resources: ['*'], + }), + + new iam.PolicyStatement({ + actions: [ + 'logs:CreateLogGroup', + 'logs:CreateLogStream', + 'logs:PutLogEvents', + 'bedrock:InvokeModel', + 'bedrock:InvokeModelWithResponseStream', + 's3:GetObject', + 's3:GetBucketLocation', + 's3:ListBucket', + 's3:PutObject', + ], + resources: [ + `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, + 'arn:' + + Aws.PARTITION + + ':s3:::' + + this.configAssetBucket.bucketName + + '/*', + `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, + 'arn:' + + Aws.PARTITION + + ':bedrock:' + + Aws.REGION + + '::foundation-model/*', + ], + }), + ], + }); + + const customResource = buildCustomResourceProvider({ + providerName: 'ConfigFileLoaderCRProvider', + vpc: this.vpc, + securityGroup: this.lambdaSecurityGroup, + codePath: path.join(__dirname, '../../../../lambda/aws-text-to-sql'), + handler: 'custom_resources.on_event', + runtime: cdk.aws_lambda.Runtime.PYTHON_3_12, + }); + + const crProvider = customResource.getProvider(this); + crProvider.role.addManagedPolicy(configLoaderPolicy); + + const configFileLoader = new cdk.CustomResource(this, 'ConfigFileLoader', { + resourceType: 'Custom::ConfigFileLoader', + serviceToken: crProvider.serviceToken, + properties: { + configBucket: this.configAssetBucket.bucketName, + configFilePath: configFilePath, + }, + }); + + configFileLoader.node.addDependency(this.configAssetBucket); + //crProvider.role.node.addDependency(configLoaderPolicy); + NagSuppressions.addResourceSuppressions( textToSQLFunctionRole, [ @@ -627,6 +728,7 @@ export class TextToSql extends BaseClass { queueName: feedbackQueueName, visibilityTimeout: Duration.seconds(3600), }); + this.feedbackQueue = queue; const outputQueueName = generatePhysicalNameV2( this, @@ -638,6 +740,7 @@ export class TextToSql extends BaseClass { queueName: outputQueueName, visibilityTimeout: Duration.seconds(3600), }); + this.outputQueue = outputQueue; this.secret.grantRead(queryGeneratorFunction); this.secret.grantRead(queryExecutorFunction); @@ -652,6 +755,7 @@ export class TextToSql extends BaseClass { 'reformulate_question', { lambdaFunction: reformulateQuestionFunction, + inputPath: '$.detail', resultPath: '$.queryConfig', }, ); @@ -678,33 +782,6 @@ export class TextToSql extends BaseClass { stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, }, ); - - // const generatedQueryFeedbackTwoState = new tasks.SqsSendMessage( - // this, - // 'get_feedback_on_generated_query_path_two', - // { - // queue, - // messageBody: stepfunctions.TaskInput.fromObject({ - // message: - // 'Following is the generated query. Do you agree with it or want to override?', - // generated_query: stepfunctions.JsonPath.stringAt( - // '$.queryConfig.Payload.validated_sql_query', - // ), - // reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( - // '$.reformulated_user_question', - // ), - // user_question: - // stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), - // question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( - // '$.question_unique_id', - // ), - // TaskToken: stepfunctions.JsonPath.taskToken, - // }), - // integrationPattern: - // stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN, - // }, - // ); - const alternateQueryGeneratorState = new tasks.LambdaInvoke( this, 'generate_alternate_query', @@ -778,14 +855,24 @@ export class TextToSql extends BaseClass { //inputPath: '$.queryStatus.Payload', }, ); - const alternateQueryExecutorState = new tasks.LambdaInvoke(this, 'execute_alternate_query', { - lambdaFunction: queryExecutorFunction, - resultPath: '$.queryStatus', - }).next(alternateQueryCorrectChoiceState.when( - stepfunctions.Condition.stringEquals( - '$.queryStatus.Payload.status', - 'QUERY_ERROR', - ), iteratorState).otherwise(outputState)); + const alternateQueryExecutorState = new tasks.LambdaInvoke( + this, + 'execute_alternate_query', + { + lambdaFunction: queryExecutorFunction, + resultPath: '$.queryStatus', + }, + ).next( + alternateQueryCorrectChoiceState + .when( + stepfunctions.Condition.stringEquals( + '$.queryStatus.Payload.status', + 'QUERY_ERROR', + ), + iteratorState, + ) + .otherwise(outputState), + ); const queryExecutorState = new tasks.LambdaInvoke(this, 'execute_query', { lambdaFunction: queryExecutorFunction, @@ -852,6 +939,9 @@ export class TextToSql extends BaseClass { generated_query: stepfunctions.JsonPath.stringAt( '$.queryConfig.Payload.validated_sql_query', ), + execute_sql_strategy: stepfunctions.JsonPath.stringAt( + '$.queryConfig.Payload.execute_sql_strategy', + ), reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( '$.reformulated_user_question', ), @@ -860,9 +950,7 @@ export class TextToSql extends BaseClass { question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( '$.question_unique_id', ), - execute_sql_strategy: stepfunctions.TaskInput.fromJsonPathAt( - '$.queryConfig.Payload.execute_sql_strategy', - ), + TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -889,7 +977,6 @@ export class TextToSql extends BaseClass { resultPath: '$.queryConfig', }).next(generateQueryfeedbackChoiceState); - //create step function with event bridge const constructProps: EventbridgeToStepfunctionsProps = { stateMachineProps: { @@ -905,16 +992,30 @@ export class TextToSql extends BaseClass { .otherwise(queryGeneratorState), ), }, + eventBusProps: { + eventBusName: generatePhysicalNameV2( + this, + 'textToSqlBus' + this.stage, + { maxLength: 63, lower: true }, + ), + }, + eventRuleProps: { - schedule: events.Schedule.rate(Duration.days(1)), + eventPattern: { + source: ['webclient'], + }, }, }; - new EventbridgeToStepfunctions( + const eventBridgeToStepfunction = new EventbridgeToStepfunctions( this, 'test-eventbridge-stepfunctions-stack', constructProps, ); + + this.eventBus = eventBridgeToStepfunction.eventBus; + this.eventsRule = eventBridgeToStepfunction.eventsRule; + this.stepFunction = eventBridgeToStepfunction.stateMachine; } private validateDbProps(props: TextToSqlProps): void { From f48cbdda399df9769490d677e52abe2609934263 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 13 Aug 2024 15:48:04 -0400 Subject: [PATCH 14/31] feat(construct): fixed bugs in text to sql construct --- .../query_executor/db_helper.py | 1 - .../aws-text-to-sql/query_executor/lambda.py | 32 ++-- .../aws-text-to-sql/query_generator/lambda.py | 81 ++++++++- .../reformulate_question/config_types.py | 3 + .../reformulate_question/custom_errors.py | 2 +- .../reformulate_question/lambda.py | 19 ++- src/patterns/gen-ai/aws-text-to-sql/index.ts | 31 +++- .../aws-text-to-sql/aws-text-to-sql.test.ts | 160 ++++++++++++++++++ 8 files changed, 303 insertions(+), 26 deletions(-) create mode 100644 test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts diff --git a/lambda/aws-text-to-sql/query_executor/db_helper.py b/lambda/aws-text-to-sql/query_executor/db_helper.py index 5e4ffa54..6b4ad397 100644 --- a/lambda/aws-text-to-sql/query_executor/db_helper.py +++ b/lambda/aws-text-to-sql/query_executor/db_helper.py @@ -14,7 +14,6 @@ secret_arn = os.environ['SECRET_ARN'] - def get_db_connection(db_name): try: match db_name: diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index af04fa1c..c4089094 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -2,6 +2,7 @@ import time import json import boto3 +import json from bedrock import get_llm from langchain_core.prompts import PromptTemplate from langchain.chains import LLMChain @@ -45,15 +46,24 @@ def handler(event, context: LambdaContext)-> dict: execute_query_config = config.get("execute_sql",None) - user_question = event.get("reformulated_user_question",None) + reformulated_user_question = event.get("reformulated_user_question",None) + - print(f"Retrieve schema from:: {db_name}") + logger.info(f"Retrieve schema from:: {db_name}") generated_sql_query = event.get("generated_query",None) if generated_sql_query is None or generated_sql_query == "": - raise GeneratedQueryNotFound("generated_sql_query is None or empty") - - print(f"generated SQL Query: {generated_sql_query}") + # generated query is set in validated_sql_query for execute_query_strategy = auto + queryConfig = event.get("queryConfig").get("Payload", None) + generated_sql_query = queryConfig.get("validated_sql_query",None) + + logger.info(f"validated_sql_query {generated_sql_query}") + + if generated_sql_query is None or generated_sql_query == "": + raise GeneratedQueryNotFound("generated_sql_query is None or empty") + + + logger.info(f"generated SQL Query: {generated_sql_query}") sql_synth = config.get("sql_synth") @@ -61,9 +71,11 @@ def handler(event, context: LambdaContext)-> dict: if (execute_query_strategy != WorkflowStrategy.DISABLED): db = get_db_connection(db_name) - print("db tables::") - print(db.get_usable_table_names()) + + logger.info(db.get_usable_table_names()) + start_time = time.time() query_result = execute_query(generated_sql_query,db) + end_time = time.time() if "QUERY_ERROR" in query_result: response['status'] = 'QUERY_ERROR' else: @@ -72,9 +84,10 @@ def handler(event, context: LambdaContext)-> dict: logger.info('Executing query against the database disabled') response['status'] = 'success' - formatted_output = format_output(query_result, sql_synth,user_question,generated_sql_query) + formatted_output = format_output(query_result, sql_synth,reformulated_user_question,generated_sql_query) response ['result'] = formatted_output + return response @@ -183,6 +196,3 @@ def load_files_from_s3(keys, bucket_name=config_bucket): logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents -input = { - -} \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index 3ea99a5e..7783ebca 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -1,6 +1,9 @@ import os import boto3 import json +import tempfile +import csv +import time # aws libs from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext @@ -40,9 +43,8 @@ def handler(event, context: LambdaContext)-> dict: sql_generation_config = config.get("sql_generation") - execute_sql_config = config.get("execute_sql") + generate_metrics= config.get("generate_metrics") sql_validation_strategy = sql_generation_config.get('strategy', WorkflowStrategy.AUTO) - execute_sql_strategy = execute_sql_config.get('strategy', WorkflowStrategy.DISABLED) text_to_sql_query_generation_llm = get_llm(sql_generation_config) if text_to_sql_query_generation_llm is None: raise LLMNotLoadedException("text_to_sql_query_generation_llm") @@ -54,6 +56,8 @@ def handler(event, context: LambdaContext)-> dict: reformulated_user_question = event.get("reformulated_user_question") original_user_question = event.get("user_question") + unique_id = event.get("question_unique_id") + execution_start_time = event.get("execution_start_time") logger.info(f' reforumlated question :: {reformulated_user_question}') logger.info(f' original question ::{original_user_question}') @@ -84,9 +88,29 @@ def handler(event, context: LambdaContext)-> dict: response = { 'validated_sql_query':validated_sql_query, 'sql_validation_strategy':sql_validation_strategy, - 'execute_sql_strategy':execute_sql_strategy } - + end_time = time.time() + query_generation_time = end_time - execution_start_time + generate_metrics_strategy = generate_metrics.get( + 'strategy', WorkflowStrategy.DISABLED) + metrics_file_name = generate_metrics.get( + 'metrics_file_name', "metric/texttosql_metrics.csv") + if generate_metrics_strategy == WorkflowStrategy.AUTO: + metrics_data={ + 'user_question':original_user_question, + 'reformulated_question':reformulated_user_question, + 'unique_id':unique_id, + 'generated_sql': validated_sql_query, + 'expected_sql': '', + 'generated_sql_correct':'' , + 'generated_sql_match_pinned_sql': '', + 'query_generation_time': query_generation_time, + 'generated_result_correct': '' + } + + save_metrics(metrics_data, metrics_file_name) + else: + logger.info('Metrics generation strategy disabled...') return response @@ -311,3 +335,52 @@ def load_files_from_s3(keys, bucket_name): logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents +def save_metrics(data, file_key): + columns = list(data.keys()) + unique_id = data['unique_id'] + + # List files in the S3 bucket + bucket_objects = s3.list_objects_v2(Bucket=config_bucket) + file_exists = False + + if 'Contents' in bucket_objects: + for obj in bucket_objects['Contents']: + if obj['Key'] == file_key: + file_exists = True + break + + if file_exists: + # Download the file from S3 + with tempfile.NamedTemporaryFile(mode='w+b', delete=False) as temp_file: + s3.download_fileobj(config_bucket, file_key, temp_file) + temp_file.seek(0) + + with open(temp_file.name, 'r') as csvfile: + reader = csv.DictReader(csvfile) + rows = list(reader) + else: + rows = [] + + row_exists = False + for row in rows: + if row['unique_id'] == unique_id: + row_exists = True + rows.remove(row) + rows.append(data) + break + + if not row_exists: + rows.append(data) + + # Write the updated data to a temporary file + with tempfile.NamedTemporaryFile(mode='w', delete=False) as temp_file: + writer = csv.DictWriter(temp_file, fieldnames=columns) + writer.writeheader() + writer.writerows(rows) + + # Upload the temporary file to S3 + with open(temp_file.name, 'rb') as file_data: + s3.upload_fileobj(file_data, config_bucket, file_key) + + os.unlink(temp_file.name) + print(f"Data saved to s3://{config_bucket}/{file_key}") diff --git a/lambda/aws-text-to-sql/reformulate_question/config_types.py b/lambda/aws-text-to-sql/reformulate_question/config_types.py index a772b8ac..4a0f37d0 100644 --- a/lambda/aws-text-to-sql/reformulate_question/config_types.py +++ b/lambda/aws-text-to-sql/reformulate_question/config_types.py @@ -11,6 +11,9 @@ class Workflow(StrEnum): class Provider(StrEnum): BEDROCK = 'Bedrock' +class MetricFileName(StrEnum): + METRIC_FILE_NAME = 'texttosql_metrics.csv' + class Database_supported(StrEnum): SQLITE = 'Sqlite', POSTGRESQL='PostgreSQL' diff --git a/lambda/aws-text-to-sql/reformulate_question/custom_errors.py b/lambda/aws-text-to-sql/reformulate_question/custom_errors.py index 829fe5d6..b63d6fe4 100644 --- a/lambda/aws-text-to-sql/reformulate_question/custom_errors.py +++ b/lambda/aws-text-to-sql/reformulate_question/custom_errors.py @@ -22,4 +22,4 @@ def __init__(self, message): class UserQuestionMissing(Exception): def __init__(self, message): super().__init__(message) - self.message = f"[404] user question or question id is not found, {message}" \ No newline at end of file + self.message = f"[404] step function task token not found, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/reformulate_question/lambda.py b/lambda/aws-text-to-sql/reformulate_question/lambda.py index dffe700c..f7be457f 100644 --- a/lambda/aws-text-to-sql/reformulate_question/lambda.py +++ b/lambda/aws-text-to-sql/reformulate_question/lambda.py @@ -3,6 +3,7 @@ import botocore import tempfile import json +import time from config_types import WorkflowStrategy, Metadata_source, ConfigFilesName from bedrock import get_llm from custom_errors import LLMNotLoadedException, KnowledgeBaseIDNotFound, FileNotFound @@ -24,7 +25,6 @@ config_bucket = os.environ["CONFIG_BUCKET"] knowledge_base_id = os.environ["KNOWLEDGE_BASE_ID"] - s3 = boto3.client('s3') bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') @@ -33,12 +33,12 @@ @tracer.capture_lambda_handler @metrics.log_metrics(capture_cold_start_metric=True) def handler(event, context: LambdaContext) -> dict: + + start_time = time.time() logger.info(f"Starting textToSql construct for input :: {event}", ) - user_question = event['user_question'] question_unique_id = event['unique_id'] - is_feedback_request = event.get('get_feedback', False) - + keys = [ConfigFilesName.WORKFLOW_JSON, ConfigFilesName.KNOWLEDGE_LAYER_JSON] file_contents = load_files_from_s3(keys) @@ -59,7 +59,8 @@ def handler(event, context: LambdaContext) -> dict: semantic_layer = config.get("semantic_layer") knowledge_base = config.get("knowledge_base") - + execute_sql_config = config.get("execute_sql") + execute_sql_strategy = execute_sql_config.get('strategy', WorkflowStrategy.DISABLED) semantic_layer_strategy = semantic_layer.get( 'strategy', WorkflowStrategy.AUTO) @@ -75,7 +76,9 @@ def handler(event, context: LambdaContext) -> dict: 'reformulated_user_question': reformulated_user_question, 'user_question': user_question, 'question_unique_id': question_unique_id, - 'semantic_layer_strategy': semantic_layer_strategy + 'semantic_layer_strategy': semantic_layer_strategy, + 'execute_sql_strategy':execute_sql_strategy, + 'execution_start_time':start_time } logger.info(f"Returning response :: {response}") return response @@ -126,7 +129,7 @@ def get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base, u Raises: LLMNotLoadedException: If the language model for the semantic layer cannot be loaded. """ - + logger.info(f'Reformulating user question :: {user_question}') semantic_layer_llm = get_llm(semantic_layer) if semantic_layer_llm is None: @@ -207,3 +210,5 @@ def download_file_from_s3(bucket_name, object_key): raise FileNotFound(f"Error loading file from S3: {e}") return download_path + + diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 75bf4df7..3854c5da 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -53,6 +53,12 @@ export enum DbName { MYSQL = 'MySQL', POSTGRESQL = 'PostgreSQL', } + +export enum MetatdataSource { + CONFIG_FILE = 'config_file', + KNOWLEDGE_BASE = 'knowledge_base' +} + export interface TextToSqlProps { /** * Optional. The construct creates a custom VPC based on vpcProps. @@ -141,6 +147,7 @@ export interface TextToSqlProps { */ readonly dbPort?: number; + /** * Returns the RDS db instance used by the construct */ @@ -431,6 +438,7 @@ export class TextToSql extends BaseClass { 's3:GetBucketLocation', 's3:ListBucket', 's3:PutObject', + ], resources: [ `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, @@ -483,6 +491,18 @@ export class TextToSql extends BaseClass { }), ); + textToSQLFunctionRole.addToPolicy( + new iam.PolicyStatement({ + effect: iam.Effect.ALLOW, + actions: ['s3:ListBucket'], + resources: ['arn:' + + Aws.PARTITION + + ':s3:::' + + this.configAssetBucket.bucketName], + }), + ); + + const configLoaderPolicy = new iam.ManagedPolicy(this, 'AuroraPgPolicy', { managedPolicyName: generatePhysicalNameV2(this, 'configLoaderPolicy', { maxLength: 32, @@ -776,6 +796,10 @@ export class TextToSql extends BaseClass { question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( '$.question_unique_id', ), + execute_sql_strategy: + stepfunctions.TaskInput.fromJsonPathAt('$.execute_sql_strategy'), + execution_start_time: + stepfunctions.TaskInput.fromJsonPathAt('$.execution_start_time'), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -939,9 +963,12 @@ export class TextToSql extends BaseClass { generated_query: stepfunctions.JsonPath.stringAt( '$.queryConfig.Payload.validated_sql_query', ), - execute_sql_strategy: stepfunctions.JsonPath.stringAt( - '$.queryConfig.Payload.execute_sql_strategy', + execute_sql_strategy: stepfunctions.TaskInput.fromJsonPathAt( + '$.execute_sql_strategy', ), + execution_start_time: + stepfunctions.TaskInput.fromJsonPathAt('$.execution_start_time'), + reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( '$.reformulated_user_question', ), diff --git a/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts b/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts new file mode 100644 index 00000000..e396827b --- /dev/null +++ b/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance + * with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions + * and limitations under the License. + */ + +import * as cdk from "aws-cdk-lib"; +import { Template, Match } from "aws-cdk-lib/assertions"; +import * as ec2 from "aws-cdk-lib/aws-ec2"; +import { AwsSolutionsChecks } from "cdk-nag"; +import { + TextToSql, + TextToSqlProps, + DatabaseType, + DbName, + MetatdataSource, +} from "../../../../src/patterns/gen-ai/aws-text-to-sql"; + +describe("Text to SQL Construct", () => { + let app: cdk.App; + let texttoSqlTemplate: Template; + let textToSqlTestConstruct: TextToSql; + + afterAll(() => { + console.log("Test completed"); + }); + + beforeAll(() => { + app = new cdk.App(); + cdk.Aspects.of(app).add(new AwsSolutionsChecks()); + const textToSqlTestStack = new cdk.Stack(app, "textToSqlTestStack", { + env: { account: cdk.Aws.ACCOUNT_ID, region: cdk.Aws.REGION }, + }); + + const vpc = new ec2.Vpc(textToSqlTestStack, "test-vpc", { + ipAddresses: ec2.IpAddresses.cidr("10.0.0.0/16"), + enableDnsHostnames: true, + enableDnsSupport: true, + subnetConfiguration: [ + { + name: "public", + subnetType: ec2.SubnetType.PUBLIC, + cidrMask: 24, + }, + { + name: "private", + subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, + cidrMask: 24, + }, + ], + }); + const props: TextToSqlProps = { + databaseType: DatabaseType.AURORA, + dbName: DbName.MYSQL, + metadataSource: MetatdataSource.CONFIG_FILE, + stage: "dev", + existingVpc: vpc, + }; + + textToSqlTestConstruct = new TextToSql( + textToSqlTestStack, + "TextToSql", + props + ); + texttoSqlTemplate = Template.fromStack(textToSqlTestStack); + }); + + test("S3 bucket count", () => { + texttoSqlTemplate.resourceCountIs("AWS::S3::Bucket", 2); + expect(textToSqlTestConstruct.configAssetBucket).not.toBeNull; + }); + test("Step function count", () => { + texttoSqlTemplate.resourceCountIs("AWS::StepFunctions::StateMachine", 1); + expect(textToSqlTestConstruct.stepFunction).not.toBeNull; + }); + test("Event bridge count", () => { + texttoSqlTemplate.resourceCountIs("AWS::Events::EventBus", 1); + }); + + test("Lambda function count", () => { + texttoSqlTemplate.resourceCountIs("AWS::Lambda::Function", 7); + }); + + test("refromulate lambda properties", () => { + texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { + PackageType: "Image", + FunctionName: Match.stringLikeRegexp("reformulatequestionfunction"), + Environment: { + Variables: { + DB_NAME: Match.stringLikeRegexp("MySQL"), + METADATA_SOURCE: Match.stringLikeRegexp("config_file"), + CONFIG_BUCKET: { + Ref: Match.anyValue(), + }, + KNOWLEDGE_BASE_ID: "", + }, + }, + }); + }); + + test("refromulate lambda properties", () => { + texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { + PackageType: "Image", + FunctionName: Match.stringLikeRegexp("reformulatequestionfunction"), + Environment: { + Variables: { + DB_NAME: Match.stringLikeRegexp("MySQL"), + METADATA_SOURCE: Match.stringLikeRegexp("config_file"), + CONFIG_BUCKET: { + Ref: Match.anyValue(), + }, + KNOWLEDGE_BASE_ID: "", + }, + }, + }); + }); + + test("query generator lambda properties", () => { + texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { + PackageType: "Image", + FunctionName: Match.stringLikeRegexp("querygeneratorfunction"), + Environment: { + Variables: { + DB_NAME: Match.stringLikeRegexp("MySQL"), + CONFIG_BUCKET: { + Ref: Match.anyValue(), + }, + SECRET_ARN: { + Ref: Match.stringLikeRegexp("TextToSqlAurora"), + }, + }, + }, + }); + }); + + test("query executor properties", () => { + texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { + PackageType: "Image", + FunctionName: Match.stringLikeRegexp("queryexecutorfunction"), + Environment: { + Variables: { + DB_NAME: Match.stringLikeRegexp("MySQL"), + CONFIG_BUCKET: { + Ref: Match.anyValue(), + }, + SECRET_ARN: { + Ref: Match.stringLikeRegexp("TextToSqlAurora"), + }, + }, + }, + }); + }); +}); From 8b1414f198a96758ed3f3cb9f1d1d8b292335188 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 14 Aug 2024 13:26:29 -0400 Subject: [PATCH 15/31] feat(construct): documentation update --- src/patterns/gen-ai/aws-text-to-sql/README.md | 225 ++++++++++++------ .../gen-ai/aws-text-to-sql/input_event.png | Bin 0 -> 164725 bytes 2 files changed, 147 insertions(+), 78 deletions(-) create mode 100644 src/patterns/gen-ai/aws-text-to-sql/input_event.png diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 14be6d81..01b181df 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -1,4 +1,5 @@ # aws-text-to-sql + --- @@ -10,12 +11,14 @@ > This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- + -| **Language** | **Package** | -|:-------------|-----------------| -|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) TypeScript|`@cdklabs/generative-ai-cdk-constructs`| -|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`cdklabs.generative_ai_cdk_constructs`| + +| **Language** | **Package** | +| :----------------------------------------------------------------------------------------------- | ----------------------------------------- | +| ![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) TypeScript | `@cdklabs/generative-ai-cdk-constructs` | +| ![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python | `cdklabs.generative_ai_cdk_constructs` | ## Table of contents @@ -40,8 +43,7 @@ To address the inherent ambiguity present in natural language, the system employ Once the user approves the generated SQL query, they have the option to execute it against the target database. In the event of any issues with the generated query, the construct is equipped with an autocorrection mechanism that allows for a configurable number of retries. -The system's architecture is built upon a serverless workflow orchestrated by AWS Step Functions and AWS Lambda, triggered by an Amazon EventBridge event. The AWS Step Functions workflow publishes a task token on an Amazon Simple Queue Service (SQS) queue and awaits user feedback, ensuring a seamless and efficient user experience. - +The system's architecture is built upon a serverless workflow orchestrated by AWS Step Functions and AWS Lambda, triggered by an Amazon EventBridge event. The AWS Step Functions workflow publishes a task token on an Amazon Simple Queue Service (SQS) queue and awaits user feedback, ensuring a seamless and efficient user experience. The feedback strategy is configurable in config files and can be skipped by updating the config files. The construct support anthropic claude 3 models (anthropic.claude-3-haiku-20240307-v1:0, anthropic.claude-3-sonnet-20240229-v1:0). Please make sure the model is enabled in your account.Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. @@ -54,27 +56,24 @@ Here is a minimal deployable pattern definition: Create a CDK TypeScript project and then update the stack with below configuration. TypeScript -``` typescript + +```typescript import { Construct } from 'constructs'; import { Stack, StackProps } from 'aws-cdk-lib'; import * as emergingTech from '@cdklabs/generative-ai-cdk-constructs'; // get an existing userpool const textToSql = new emergingTech.TextToSql(this, "TextToSql", { - dbName: "Sqlite", - metadataSource:"config_file", + databaseType: emergingTech.DatabaseType.AURORA, + dbName: emergingTech.DbName.MYSQL, + metadataSource: emergingTech.MetatdataSource.CONFIG_FILE, stage:"dev", - }) - -// sample input to construct -{ - "user_question": "How many makers are there?", - "unique_id":1234 -} + }) ``` Python -``` python + +```python from constructs import Construct from aws_cdk import aws_cognito as cognito from cdklabs.generative_ai_cdk_constructs import TextToSql @@ -82,12 +81,16 @@ from cdklabs.generative_ai_cdk_constructs import TextToSql text_to_sql_construct = TextToSql( self, 'TextToSql', - dbName= "Sqlite", - metadataSource="config_file", - stage:"dev", + db_name= TextToSql.DbName.MYSQL, + metadata_source=TextToSql.MetatdataSource.CONFIG_FILE, + database_type= TextToSql.DatabaseType.AURORA, + stage="dev", ) ``` +Invoke the Step Functions workflow by sending a sample Event Bridge message +![Sample Event bridge message](input_event.png) + ## Initializer ``` @@ -100,102 +103,166 @@ Parameters - id string - props TextToSqlProps +## Config Files + +The Text to SQL workflow is orchestrated by the workflow_config.json file, which dictates the primary execution flow. + +Knowledge Base Configuration + +```json +"knowledge_base": { + "enable": true, // enable knowledge base functionaity + "id": XXXX,// KB id + "embedding_model": "amazon.titan-text-lite-v1" // embedding model +}, +``` + + To generate the sql + +```json +"sql_generation": { + "strategy": "auto", // Set to "human" to enable interactive feedback, set to "auto" for no feedback operation + "sql_generation_prompt_path": "config/sql_generation_prompt.json", + "few_shot_strategy": "static", // Utilize a fixed set of few-shot examples + "max_few_shots": 5, // Maximum number of few-shot examples to provide + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", // Specify the Anthropic Claude model to use + "nucleus_sampling_topp": 1, // Nucleus sampling top-p value (0-1 range) + "top_k_sampling": 1, // Top-k sampling value + "temperature": 0, // Sampling temperature (0 = greedy, higher values increase randomness) + "generation_prompt_template_path": "config/X.json", // Path to the generation prompt template + "validation_prompt_template_path": "config/X.json" // Path to the validation prompt template +}, +``` + To execute the query +```json +"execute_sql": { + "strategy": "human" // Setting the "strategy" value to "human" execute the generated query , "disabled" skip the query execution and returned generated query. +}, + + To format the query result output with llm + ```json + "sql_synth": { + "strategy": "auto", // Setting the "strategy" to "disabled" will skip the query result formatting eith llm + "prompt_template_path": "config/sql_synth_prompt.json", + "id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + }, + ``` + To reduce the natural language ambiguity + ```json + "semantic_layer": { + "strategy": "human",// Set to "human" to enable interactive feedback, set to "auto" for no feedback operation, + "prompt_template_path": "config/knowledge_layer_prompt.json", + "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + } + ``` ## Pattern Construct Props -| **Name** | **Type** | **Required** |**Description** | -|:-------------|:----------------|-----------------|-----------------| -| dbName | string | ![Required](https://img.shields.io/badge/required-ff0000) | Database name. This is the target database against which the query will be generated. | -| metadataSource | string | ![Required](https://img.shields.io/badge/required-ff0000) |Two metatdata source are supported: 1. config_file 2. Knowledge base | -| vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | The construct creates a custom VPC based on vpcProps. Providing both this and existingVpc will result in an error. | -| existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct.| -| existingSubnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing subnet group can be used to deploy the construct.| -| existingLambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the Lambda function which this construct will use. If no exisiting security group is provided it will create one from the VPC.| -| existingDBSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the database which this construct will use. If no exisiting security group is provided it will create one from the VPC.| -| existingconfigAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the config files. | -| configAssetsBucketProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and `existingconfigAssetsBucketObj` will result in an error.| -| stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | -| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enable cloudwatch logging. | -| databaseType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Database type. Select between Aurora or RDS as database type. If none selected then Aurora is used as default database type. | -| existingAuroraDbCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Aurora Managed DB cluster | -| databaseClusterProps | [rds.DatabaseClusterProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Aurora Managed DB cluster props.Passing existingAuroraDbCluster and databaseClusterProps will result in error. | -| databaseInstanceProps | [rds.DatabaseInstanceProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error.| -| dbPort | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | db port number.| -| existingRdsDbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error.| -| customQueryConfigurerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for all pre steps required before generating the query.| -| customQueryGeneratorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for generating the query.| -| customFeedbackLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for requesting the feedback from the user.| -| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query.| -| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query.| -| existingKnowledgeBaseId | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Knowledge base ID.| + +| **Name** | **Type** | **Required** | **Description** | +| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| dbName | string | ![Required](https://img.shields.io/badge/required-ff0000) | Database name. This is the target database against which the query will be generated. | +| metadataSource | string | ![Required](https://img.shields.io/badge/required-ff0000) | Two metatdata source are supported: 1. config_file 2. Knowledge base | +| vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | The construct creates a custom VPC based on vpcProps. Providing both this and existingVpc will result in an error. | +| existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct. | +| existingSubnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing subnet group can be used to deploy the construct. | +| existingLambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the Lambda function which this construct will use. If no exisiting security group is provided it will create one from the VPC. | +| existingDBSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.ISecurityGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Security group for the database which this construct will use. If no exisiting security group is provided it will create one from the VPC. | +| existingconfigAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the config files. | +| configAssetsBucketProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and`existingconfigAssetsBucketObj` will result in an error. | +| stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | +| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enable cloudwatch logging. | +| databaseType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Database type. Select between Aurora or RDS as database type. If none selected then Aurora is used as default database type. | +| existingAuroraDbCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Aurora Managed DB cluster | +| databaseClusterProps | [rds.DatabaseClusterProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Aurora Managed DB cluster props.Passing existingAuroraDbCluster and databaseClusterProps will result in error. | +| databaseInstanceProps | [rds.DatabaseInstanceProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error. | +| dbPort | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | db port number. | +| existingRdsDbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error. | +| customQueryConfigurerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for all pre steps required before generating the query. | +| customQueryGeneratorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for generating the query. | +| customFeedbackLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for requesting the feedback from the user. | +| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query. | +| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query. | +| existingKnowledgeBaseId | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Knowledge base ID. | ## Pattern Properties -| **Name** | **Type** | **Description** | -|:-------------|:----------------|-----------------| -| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html) | Returns the instance of ec2.IVpc used by the construct | -| subnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | Returns the instance of subnet group used by the construct | -| lambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | -| dbSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | -| configAssetBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Returns the instance of s3.IBucket used by the construct | -| databaseCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | Returns the instance of aurora cluster used by the construct | -| dbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseInstance.html) | Returns the RDS db instance used by the construct | -| secret | [secretsmanager.Secret](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager.Secret.html) | Returns the instance of secret manager used by the construct | + +| **Name** | **Type** | **Description** | +| :-------------------- | :---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | +| vpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html) | Returns the instance of ec2.IVpc used by the construct | +| subnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | Returns the instance of subnet group used by the construct | +| lambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | +| dbSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | +| configAssetBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Returns the instance of s3.IBucket used by the construct | +| databaseCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | Returns the instance of aurora cluster used by the construct | +| dbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseInstance.html) | Returns the RDS db instance used by the construct | +| secret | [secretsmanager.Secret](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager.Secret.html) | Returns the instance of secret manager used by the construct | + ## Default properties Out-of-the-box implementation of the construct without any override will set the following defaults: ### VPC, Private Subnet and Security group + - Sets up VPC to deploy the contruct - Private subnet for Amazon Aurora/Amazon RDS - Security group for private subnet - ### Amazon Aurora cluster / Amazon RDS instance -- Sets either Amazon Aurora or Amazon RDS based on databaseType prop. + +- Sets either Amazon Aurora or Amazon RDS based on databaseType prop. - Sets up Amazon Aurora cluster with auroraMysql, engine version VER_3_07_0, 1 reader and 1 writer medium type instances. - Sets up Amazon RDS instance with MySql, engine version VER_8_0_37, with one large type instance. ### Amazon S3 Buckets - Sets up S3 Bucket - - Uses existing buckets if provided, otherwise creates new one + - Uses existing buckets if provided, otherwise creates new one ### Observability By default the construct will enable logging and tracing on all services which support those features. Observability can be turned off through the pattern properties. + - AWS Lambda: AWS X-Ray, Amazon CloudWatch Logs - AWS Step Functions: AWS X-Ray, Amazon CloudWatch Logs - ## Troubleshooting -| **Error Code** | **Message** | **Description** |**Fix** | -|:-------------|:----------------|-----------------|-----------------| +| **Error Code** | **Message** | **Description** | **Fix** | +| :--------------- | :------------ | ----------------- | --------- | ## Architecture + ![Architecture Diagram](architecture.png) ## Cost -You are responsible for the cost of the AWS services used while running this construct. As of this revision, the cost for running this construct with the default settings in the US East (N. Virginia) Region is approximately $XXXX per month. +Please note that you will be responsible for the costs associated with the AWS services utilized during the execution of this construct. As of the current revision, the estimated monthly cost for running this construct for 40,000 requests and 150 hours of db usage with the default configurations in the US East (N. Virginia) Region is approximately $264.85. **This cost estimation is based on the on-demand settings. The actual cost may vary depending on your usage patterns.** In scenarios of lower usage, the cost will decrease accordingly. We recommend creating a budget through [AWS Cost Explorer](http://aws.amazon.com/aws-cost-management/aws-cost-explorer/) to help manage costs. Prices are subject to change. For full details, refer to the pricing webpage for each AWS service used in this solution. The following table provides a sample cost breakdown for deploying this solution with the default parameters in the **US East (N. Virginia)** Region for **one month**. -| **AWS Service** | **Dimensions** | **Cost [USD]** | -|:-------------|:----------------|-----------------| -| AWS Step Functions | 15 requests per hour for summarization, each with 2 files (4 steps per workflow) | XX | -| Amazon Virtual Private Cloud | | XX | -| Amazon EventBridge | 15 requests per hour = 10800 custom events per month | XX | -| AWS Lambda | 15 summarization requests per hour with 2 files each time, through 4 Lambda functions each allocated with 7076 MB of memory allocated and 512 MB of ephemeral storage allocated and an average run time of 30 seconds = 43200 requests per month | 142.59 | -| Amazon Simple Storage Service | 15 requests per hour for summarization with 2 files in input format (PDF) with an average size of 1MB and transformed files to text format with an average size of 1 MB = 43.2 GB per month in S3 Standard Storage | 0.99 | -| Amazon Bedrock | With the on-demand mode, for text generation models, you are charged for every input token processed and every output token generated. Anthropic.claude model price for 1000 input tokens= $0.01102 and for 1000 output tokens = $0.03268. With a pdf of 50 pages (asumming each page having 200 words) , 50 * 200 , there are 10000 words, which are ~= 7500 tokens. Input token cost for 200 request per month = 7.5 * 0.01102 * 200 = 16.53. Asumming a summary of 200 words (150 tokens) for 200 requests per month cost of output token = 150 * (0.03268/1000) * 200 = 9.804. Total cost for 200 summary requests , 16.53 + 9.804 = $26.334| 26.34 | -| Amazon CloudWatch | 15 metrics using 5 GB data ingested for logs | 7.02 | -| AWS X-Ray | 100,000 requests per month through AppSync and Lambda calls | 0.50 | -| Total Deployment cost | | XXXX | +| **AWS Service** | **Dimensions** | **Monthly Cost [USD]** | +| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ | +| AWS Step Functions | 100000 workflow request with maximum 15 state transition | 37.40 | +| Amazon EventBridge | 1 million custom events with payload size of 10 kb | 1 | +| AWS Lambda | 100000 invocation request, x86 arch, 3 sec duration of each request, 7076 MB, ephermal storage 512 MB. ~~ 27.88 per lambda function . 4 X 27.88 | 111.52 | +| Amazon Simple Storage Service | 100000 GET request, 100 GB data transfer. | 0.11 | +| Amazon Bedrock | With the on-demand mode, for around 2000 request per day with 2000 input token and 1000 output token per request, with Anthropic Claude 3 Haiku | 95.00 | +| Amazon Aurora MySql | With 1 Node , db.t3.medium size, 150 hours of usage per month(1 instance(s) x 0.082 USD hourly x 150 hours in a month) | 12.30 | +| Amazon CloudWatch | 15 metrics using 5 GB data ingested for logs | 7.02 | +| AWS X-Ray | 100,000 requests per month through AppSync and Lambda calls | 0.50 | +| Total Deployment cost | For roughly around 40,000 requests(2000 input tokens / average request and 1000 output tokens/ average request) | 264.85 | The resources not created by this construct ( AWS Secrets Manager secret ) do not appear in the table above. You can refer to the decicated pages to get an estimate of the cost related to those services: @@ -205,8 +272,8 @@ The resources not created by this construct ( AWS Secrets Manager secret ) do no When you build systems on AWS infrastructure, security responsibilities are shared between you and AWS. This [shared responsibility](http://aws.amazon.com/compliance/shared-responsibility-model/) model reduces your operational burden because AWS operates, manages, and controls the components including the host operating system, virtualization layer, and physical security of the facilities in which the services operate. For more information about AWS security, visit [AWS Cloud Security](http://aws.amazon.com/security/). - Optionaly, you can provide existing resources to the constructs (marked optional in the construct pattern props). If you chose to do so, please refer to the official documentation on best practices to secure each service: + - [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) - [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-security.html) - [Amazon Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.BestPractices.html) @@ -223,7 +290,7 @@ If you grant access to a user to your account where this construct is deployed, This solution optionally uses the Amazon Bedrock service, which is not currently available in all AWS Regions. You must launch this construct in an AWS Region where these services are available. For the most current availability of AWS services by Region, see the [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). > **Note** ->You need to explicity enable access to models before they are available for use in the Amazon Bedrock service. Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. +> You need to explicity enable access to models before they are available for use in the Amazon Bedrock service. Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. ## Quotas @@ -236,8 +303,10 @@ To view the service quotas for all AWS services in the documentation without swi ## Clean up When deleting your stack which uses this construct, do not forget to go over the following instructions to avoid unexpected charges: - - empty and delete the Amazon Simple Storage Bucket(s) created by this construct if you didn't provide existing ones during the construct creation - - if the observability flag is turned on, delete all the associated logs created by the different services in Amazon CloudWatch logs -*** +- empty and delete the Amazon Simple Storage Bucket(s) created by this construct if you didn't provide existing ones during the construct creation +- if the observability flag is turned on, delete all the associated logs created by the different services in Amazon CloudWatch logs + +--- + © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/src/patterns/gen-ai/aws-text-to-sql/input_event.png b/src/patterns/gen-ai/aws-text-to-sql/input_event.png new file mode 100644 index 0000000000000000000000000000000000000000..3324a0d145cf8cfecdc3a7b854c14519b0cb06b7 GIT binary patch literal 164725 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]P0BP~ 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 Nv Date: Wed, 14 Aug 2024 14:09:54 -0400 Subject: [PATCH 16/31] feat(construct): uncomment publishtonuget Signed-off-by: Dinesh Sajwan --- .projenrc.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.projenrc.ts b/.projenrc.ts index 90be5bc9..6fcbde42 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -32,10 +32,10 @@ const PUBLICATION_NAMESPACE = 'cdklabs'; const PROJECT_NAME = 'generative-ai-cdk-constructs'; const CDK_VERSION: string = '2.149.0'; -// function camelCaseIt(input: string): string { -// // Hypens and dashes to spaces and then CamelCase... -// return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); -// } +function camelCaseIt(input: string): string { + // Hypens and dashes to spaces and then CamelCase... + return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); + } const project = new awscdk.AwsCdkConstructLibrary({ author: 'Amazon Web Services - Prototyping and Cloud Engineering', @@ -91,10 +91,10 @@ const project = new awscdk.AwsCdkConstructLibrary({ // twineRegistryUrl: '${{ secrets.TWINE_REGISTRY_URL }}', }, - // publishToNuget: { - // dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - // packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - // }, + publishToNuget: { + dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + }, publishToGo: { moduleName: `github.com/${PUBLICATION_NAMESPACE}/${PROJECT_NAME}-go`, From ce512d6005dfff4b3ca511eb2e71d3471d100123 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 15 Aug 2024 16:02:20 -0400 Subject: [PATCH 17/31] feat(construct): updated workflow.json in texttosql construct --- .../aws-text-to-sql/query_executor/lambda.py | 2 +- .../query_generator/config_types.py | 4 +- .../query_generator/custom_errors.py | 7 +- .../query_generator/db_helper.py | 2 - .../aws-text-to-sql/query_generator/lambda.py | 40 +++++--- .../reformulate_question/lambda.py | 17 ++-- .../gen-ai/aws-text-to-sql/few_shots.json | 42 -------- .../aws-text-to-sql/knowledge_layer.json | 5 - .../aws-text-to-sql/workflow_config.json | 54 +++++------ src/patterns/gen-ai/aws-text-to-sql/README.md | 15 ++- src/patterns/gen-ai/aws-text-to-sql/index.ts | 10 +- .../aws-text-to-sql/aws-text-to-sql.test.ts | 96 +++++++++---------- 12 files changed, 130 insertions(+), 164 deletions(-) delete mode 100644 resources/gen-ai/aws-text-to-sql/few_shots.json delete mode 100644 resources/gen-ai/aws-text-to-sql/knowledge_layer.json diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index c4089094..3d50aa7f 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -45,7 +45,7 @@ def handler(event, context: LambdaContext)-> dict: raise ValueError(f"{ConfigFilesName.WORKFLOW_JSON} not found in file_contents") - execute_query_config = config.get("execute_sql",None) + execute_query_config = config.get("sql_execution",None) reformulated_user_question = event.get("reformulated_user_question",None) diff --git a/lambda/aws-text-to-sql/query_generator/config_types.py b/lambda/aws-text-to-sql/query_generator/config_types.py index 3b49e8c9..051fe875 100644 --- a/lambda/aws-text-to-sql/query_generator/config_types.py +++ b/lambda/aws-text-to-sql/query_generator/config_types.py @@ -20,8 +20,8 @@ class Provider(StrEnum): class ConfigFilesName(StrEnum): WORKFLOW_JSON = 'config/workflow_config.json' - KNOWLEDGE_LAYER_JSON = 'config/knowledge_layer.json' - FEW_SHOTS_JSON = 'config/few_shots.json' + #KNOWLEDGE_LAYER_JSON = 'config/knowledge_layer.json' + class BedrockModel(StrEnum): diff --git a/lambda/aws-text-to-sql/query_generator/custom_errors.py b/lambda/aws-text-to-sql/query_generator/custom_errors.py index 8ca45496..4b01ac67 100644 --- a/lambda/aws-text-to-sql/query_generator/custom_errors.py +++ b/lambda/aws-text-to-sql/query_generator/custom_errors.py @@ -17,4 +17,9 @@ def __init__(self, message): class FileNotFound(Exception): def __init__(self, message): super().__init__(message) - self.message = f"[404] File not found, {message}" \ No newline at end of file + self.message = f"[404] File not found, {message}" + +class InvalidWorkFlowJson(Exception): + def __init__(self, message): + super().__init__(message) + self.message = f"[500] Invalid workflow.json file, {message}" \ No newline at end of file diff --git a/lambda/aws-text-to-sql/query_generator/db_helper.py b/lambda/aws-text-to-sql/query_generator/db_helper.py index 18c9b88e..8f27d25a 100644 --- a/lambda/aws-text-to-sql/query_generator/db_helper.py +++ b/lambda/aws-text-to-sql/query_generator/db_helper.py @@ -12,10 +12,8 @@ tracer = Tracer(service="QUERY_GENERATOR") metrics = Metrics(namespace="textToSql_pipeline", service="QUERY_GENERATOR") -#proxy_endpoint = os.environ['PROXY_ENDPOINT'] secret_arn = os.environ['SECRET_ARN'] - def get_db_connection(db_name): try: match db_name: diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index 7783ebca..cc327169 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -8,7 +8,7 @@ from aws_lambda_powertools import Logger, Tracer, Metrics from aws_lambda_powertools.utilities.typing import LambdaContext from bedrock import get_llm -from custom_errors import LLMNotLoadedException,StrategyNotFoundException,QueryGenerationException,FileNotFound +from custom_errors import LLMNotLoadedException,StrategyNotFoundException,QueryGenerationException,FileNotFound,InvalidWorkFlowJson from db_helper import get_db_connection from config_types import FewShotsStrategy,WorkflowStrategy,ConfigFilesName from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate,ChatPromptTemplate @@ -137,13 +137,21 @@ def get_fewshots_static_prompt(event, sql_generation_config,original_user_questi Returns: str: The generated few-shot prompt. """ - few_shots_config = ConfigFilesName.FEW_SHOTS_JSON - file_contents = load_files_from_s3([few_shots_config], config_bucket) - - if ConfigFilesName.FEW_SHOTS_JSON in file_contents: - few_shots = json.loads(file_contents[ConfigFilesName.FEW_SHOTS_JSON]) + + + few_shots_file_path = sql_generation_config.get("few_shots_examples", None) + + if few_shots_file_path is None: + + raise InvalidWorkFlowJson("few_shots_examples not found in sql_generation_config ") else: - raise ValueError(f"{ConfigFilesName.FEW_SHOTS_JSON} not found in file_contents") + keys = [few_shots_file_path] + file_contents = load_files_from_s3(keys,config_bucket) + + if few_shots_file_path in file_contents: + few_shots = json.loads(file_contents[few_shots_file_path]) + else: + raise ValueError(f"{few_shots_file_path} not found in file_contents") query_status = event.get("queryStatus", None) @@ -199,7 +207,8 @@ def get_fewshots_static_autocorrect_prompt(few_shots, max_number_few_shots, user logger.info("Autocorrect is enabled, running LLM against few shots prompt") example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") - prompt_prefix = f"You are a {db_name} expert. This is the error {error} in this sql {generated_sql}. To correct this error, please generate an alternative syntactically correct {db_name} query for the question {user_question} and write it between the xml tags ." + guardrails = " Do not suggest any query with write operation for example no UPDATE, DELETE, TRUNCATE, ALTER, DROP key word in the suggested query." + prompt_prefix = f"You are a {db_name} expert. This is the error {error} in this sql {generated_sql}. To correct this error, please generate an alternative syntactically correct {db_name} query for the question {user_question} and write it between the xml tags ."+guardrails prompt_suffix = "User input: {input}\n " prompt = FewShotPromptTemplate( examples=few_shots[:max_number_few_shots], @@ -221,7 +230,6 @@ def get_fewshots_static_regular_prompt(few_shots, max_number_few_shots, table_in Args: few_shots (list): A list of few-shot examples. max_number_few_shots (int): The maximum number of few-shots to include in the prompt. - top_k (int): The maximum number of rows to return in the SQL query. table_info (str): Information about the relevant tables. Returns: @@ -229,9 +237,13 @@ def get_fewshots_static_regular_prompt(few_shots, max_number_few_shots, table_in """ logger.info("Running LLM against few shots prompt") + top_k = 5 + guardrails = " Do not suggest any query with write operation for example no UPDATE, DELETE, TRUNCATE, ALTER, DROP key word in the suggested query." example_prompt = PromptTemplate.from_template("User input: {input}\n{query}") - prompt_prefix = "You are a SQLlite expert. Given an input question, create a syntactically correct SQLlite query to run and write it between the xml tags . Unless otherwise specificed, do not return more than {top_k} rows.\n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries." - prompt_suffix = "User input: {input}\n " + db_expert=f'You are a {db_name} expert. Given an input question, create a syntactically correct {db_name} query to run and write it between the xml tags '+guardrails + prompt_prefix = db_expert+" \n\nHere is the relevant table info: {table_info}\n\nBelow are a number of examples of questions and their corresponding SQL queries." + prompt_suffix = "Unless otherwise specificed, do not return more than {top_k} rows. User input: {input}\n " + logger.info(f"query prompt :: {prompt_prefix} {prompt_suffix}") prompt = FewShotPromptTemplate( examples=few_shots[:max_number_few_shots], example_prompt=example_prompt, @@ -271,7 +283,8 @@ def generate_sql_from_text(text_to_sql_query_generation_llm,user_question, db, p else: print("couldn't parse any genearted sql, returning...") except Exception as e: - raise QueryGenerationException("generated_sql_query") + logger.error(f"Error generating SQL query: {e}") + raise QueryGenerationException(e) logger.info(f' return Generated SQL query: {generated_sql_query}') return generated_sql_query @@ -330,7 +343,7 @@ def load_files_from_s3(keys, bucket_name): file_contents[key] = file_data except Exception as e: - raise FileNotFound(f"Error loading file from S3: {e}") + raise FileNotFound(f"Error loading file {key} from S3 {bucket_name}: {e}") logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents @@ -384,3 +397,4 @@ def save_metrics(data, file_key): os.unlink(temp_file.name) print(f"Data saved to s3://{config_bucket}/{file_key}") + diff --git a/lambda/aws-text-to-sql/reformulate_question/lambda.py b/lambda/aws-text-to-sql/reformulate_question/lambda.py index f7be457f..9767bc40 100644 --- a/lambda/aws-text-to-sql/reformulate_question/lambda.py +++ b/lambda/aws-text-to-sql/reformulate_question/lambda.py @@ -23,7 +23,6 @@ db_name = os.environ["DB_NAME"] metadata_source = os.environ["METADATA_SOURCE"] config_bucket = os.environ["CONFIG_BUCKET"] -knowledge_base_id = os.environ["KNOWLEDGE_BASE_ID"] s3 = boto3.client('s3') bedrock_agent_runtime = boto3.client('bedrock-agent-runtime') @@ -58,8 +57,8 @@ def handler(event, context: LambdaContext) -> dict: f"{ConfigFilesName.KNOWLEDGE_LAYER_JSON} not found in file_contents") semantic_layer = config.get("semantic_layer") - knowledge_base = config.get("knowledge_base") - execute_sql_config = config.get("execute_sql") + knowledge_base = semantic_layer.get("knowledge_base") + execute_sql_config = config.get("sql_execution") execute_sql_strategy = execute_sql_config.get('strategy', WorkflowStrategy.DISABLED) semantic_layer_strategy = semantic_layer.get( 'strategy', WorkflowStrategy.AUTO) @@ -106,7 +105,7 @@ def load_files_from_s3(keys, bucket_name=config_bucket): file_contents[key] = file_data except Exception as e: - raise FileNotFound(f"Error loading file from S3: {e}") + raise FileNotFound(f"Error loading file {key} from S3 {bucket_name}: {e}") logger.info(f"Loaded {len(file_contents)} files from S3") return file_contents @@ -137,12 +136,12 @@ def get_reformulated_question(semantic_layer, knowledge_layer, knowledge_base, u if metadata_source == Metadata_source.CONFIG_FILE: downloaded_file = download_file_from_s3( - config_bucket, semantic_layer['prompt_template_path']) + config_bucket, semantic_layer['config_files']['prompt_template_path']) answer_prompt = load_prompt(downloaded_file) knowledge_layer_data = knowledge_layer else: downloaded_file = download_file_from_s3( - config_bucket, semantic_layer['kb_prompt_template_path']) + config_bucket, semantic_layer['knowledge_base']['kb_prompt_template_path']) answer_prompt = load_prompt(downloaded_file) knowledge_layer_data = get_knowledge_layer_data( metadata_source, knowledge_base, user_question, semantic_layer) @@ -176,9 +175,10 @@ def get_knowledge_layer_data(metadata_source, knowledge_base, user_question, sem else: logger.info( 'Semantic validation strategy enabled, running LLM against question + knowledge base') + knowledge_base_id = semantic_layer['knowledge_base']['id'] if knowledge_base_id is None: raise KnowledgeBaseIDNotFound( - "KNOWLEDGE_BASE_ID environment variable is not set") + "KNOWLEDGE_BASE_ID not set in workflow.json file") response = bedrock_agent_runtime.retrieve( retrievalQuery={'text': user_question}, @@ -207,8 +207,7 @@ def download_file_from_s3(bucket_name, object_key): tempfile.gettempdir(), os.path.basename(object_key)) s3.download_file(bucket_name, object_key, download_path) except botocore.exceptions.ClientError as e: - raise FileNotFound(f"Error loading file from S3: {e}") + raise FileNotFound(f"Error loading file {object_key} from S3 {bucket_name}: {e}") return download_path - diff --git a/resources/gen-ai/aws-text-to-sql/few_shots.json b/resources/gen-ai/aws-text-to-sql/few_shots.json deleted file mode 100644 index 379c8f80..00000000 --- a/resources/gen-ai/aws-text-to-sql/few_shots.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "input": "Find all albums for the artist 'AC/DC'.", - "query": "SELECT * FROM Album WHERE ArtistId = (SELECT ArtistId FROM Artist WHERE Name = 'AC/DC');" - }, - { - "input": "List all tracks in the 'Rock' genre.", - "query": "SELECT * FROM Track WHERE GenreId = (SELECT GenreId FROM Genre WHERE Name = 'Rock');" - }, - { - "input": "Find the total duration of all tracks.", - "query": "SELECT SUM(Milliseconds) FROM Track;" - }, - { - "input": "List all customers from Canada.", - "query": "SELECT * FROM Customer WHERE Country = 'Canada';" - }, - { - "input": "How many tracks are there in the album with ID 5?", - "query": "SELECT COUNT(*) FROM Track WHERE AlbumId = 5;" - }, - { - "input": "Find the total number of invoices.", - "query": "SELECT COUNT(*) FROM Invoice;" - }, - { - "input": "List all tracks that are longer than 5 minutes.", - "query": "SELECT * FROM Track WHERE Milliseconds > 300000;" - }, - { - "input": "Who are the top 5 customers by total purchase?", - "query": "SELECT CustomerId, SUM(Total) AS TotalPurchase FROM Invoice GROUP BY CustomerId ORDER BY TotalPurchase DESC LIMIT 5;" - }, - { - "input": "Which albums are from the year 2000?", - "query": "SELECT * FROM Album WHERE strftime('%Y', ReleaseDate) = '2000';" - }, - { - "input": "How many employees are there", - "query": "SELECT COUNT(*) FROM \"Employee\"" - } -] \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/knowledge_layer.json b/resources/gen-ai/aws-text-to-sql/knowledge_layer.json deleted file mode 100644 index 983b5f26..00000000 --- a/resources/gen-ai/aws-text-to-sql/knowledge_layer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "maker": "artist", - "song":"track" - -} \ No newline at end of file diff --git a/resources/gen-ai/aws-text-to-sql/workflow_config.json b/resources/gen-ai/aws-text-to-sql/workflow_config.json index 385d916f..3707e1a3 100644 --- a/resources/gen-ai/aws-text-to-sql/workflow_config.json +++ b/resources/gen-ai/aws-text-to-sql/workflow_config.json @@ -1,45 +1,43 @@ -{ - "user_question": "How many makers are there ?", + { "verbose": false, - "knowledge_base": { - "enable": true, - "id": "WUL39PUAZL", - "embedding_model": "amazon.titan-text-lite-v1" + "semantic_layer": { + "strategy": "auto", + "config_files":{ + "prompt_template_path": "config/knowledge_layer_prompt.json" + }, + "knowledge_base": { + "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", + "id": "", + "embedding_model": "amazon.titan-text-lite-v1" + }, + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 }, "sql_generation": { - "strategy": "human", - "sql_generation_prompt_path": "config/sql_generation_prompt.json", + "strategy": "auto", + "few_shots_file_path": "config/few_shots.json", "few_shots_strategy": "static", "few_shots_max": 5, - "id": "anthropic.claude-3-haiku-20240307-v1:0", - "topp": 1, - "topk": 1, - "temperature": 0, - "generation_prompt_template_path": "config/X.json", - "validation_prompt_template_path": "config/X.json" - }, - "execute_sql": { - "strategy": "human", - "id": "anthropic.claude-3-haiku-20240307-v1:0", + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", "topp": 1, "topk": 1, "temperature": 0 }, + "sql_execution": { + "strategy": "auto" + }, "sql_synth": { - "strategy": "human", + "strategy": "auto", "prompt_template_path": "config/sql_synth_prompt.json", - "id": "anthropic.claude-3-haiku-20240307-v1:0", - "topp": 1, - "topk": 1, - "temperature": 0 - }, - "semantic_layer": { - "strategy": "human", - "prompt_template_path": "config/knowledge_layer_prompt.json", - "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", "model_id": "anthropic.claude-3-haiku-20240307-v1:0", "topp": 1, "topk": 1, "temperature": 0 + }, + "generate_metrics": { + "strategy": "auto", + "metrics_file_name": "metric/texttosql_metrics.csv" } } \ No newline at end of file diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 01b181df..67ec31bb 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -122,7 +122,8 @@ Knowledge Base Configuration ```json "sql_generation": { "strategy": "auto", // Set to "human" to enable interactive feedback, set to "auto" for no feedback operation - "sql_generation_prompt_path": "config/sql_generation_prompt.json", + "sql_generation_prompt_path": "", // If none , then default prompts for sql generation are used + "few_shots_examples": "config/few_shots.json", // "few_shot_strategy": "static", // Utilize a fixed set of few-shot examples "max_few_shots": 5, // Maximum number of few-shot examples to provide "model_id": "anthropic.claude-3-haiku-20240307-v1:0", // Specify the Anthropic Claude model to use @@ -135,7 +136,7 @@ Knowledge Base Configuration ``` To execute the query ```json -"execute_sql": { +"sql_execution": { "strategy": "human" // Setting the "strategy" value to "human" execute the generated query , "disabled" skip the query execution and returned generated query. }, @@ -144,7 +145,7 @@ Knowledge Base Configuration "sql_synth": { "strategy": "auto", // Setting the "strategy" to "disabled" will skip the query result formatting eith llm "prompt_template_path": "config/sql_synth_prompt.json", - "id": "anthropic.claude-3-haiku-20240307-v1:0", + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", "topp": 1, "topk": 1, "temperature": 0 @@ -162,6 +163,14 @@ Knowledge Base Configuration "temperature": 0 } ``` + + To generate query metrics + ```json + "generate_metrics": { + "strategy": "auto", // "auto" save the query metrics in a csv file and "disabled" can skip query metrics. + "metrics_file_name": "metric/texttosql_metrics.csv" + } + ``` ## Pattern Construct Props diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 3854c5da..7ead9ca0 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -203,12 +203,7 @@ export interface TextToSqlProps { */ readonly existingconfigAssetsBucketObj?: s3.IBucket; - /** - * Optional. Existing Knowledge base ID. - * - * @default - None - */ - readonly existingKnowledgeBaseId?: string; + } export class TextToSql extends BaseClass { @@ -612,9 +607,6 @@ export class TextToSql extends BaseClass { DB_NAME: props.dbName, METADATA_SOURCE: props.metadataSource, CONFIG_BUCKET: this.configAssetBucket.bucketName, - KNOWLEDGE_BASE_ID: props.existingKnowledgeBaseId - ? props.existingKnowledgeBaseId - : '', }, }; diff --git a/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts b/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts index e396827b..9ab51ef1 100644 --- a/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts +++ b/test/patterns/gen-ai/aws-text-to-sql/aws-text-to-sql.test.ts @@ -11,46 +11,46 @@ * and limitations under the License. */ -import * as cdk from "aws-cdk-lib"; -import { Template, Match } from "aws-cdk-lib/assertions"; -import * as ec2 from "aws-cdk-lib/aws-ec2"; -import { AwsSolutionsChecks } from "cdk-nag"; +import * as cdk from 'aws-cdk-lib'; +import { Template, Match } from 'aws-cdk-lib/assertions'; +import * as ec2 from 'aws-cdk-lib/aws-ec2'; +import { AwsSolutionsChecks } from 'cdk-nag'; import { TextToSql, TextToSqlProps, DatabaseType, DbName, MetatdataSource, -} from "../../../../src/patterns/gen-ai/aws-text-to-sql"; +} from '../../../../src/patterns/gen-ai/aws-text-to-sql'; -describe("Text to SQL Construct", () => { +describe('Text to SQL Construct', () => { let app: cdk.App; let texttoSqlTemplate: Template; let textToSqlTestConstruct: TextToSql; afterAll(() => { - console.log("Test completed"); + console.log('Test completed'); }); beforeAll(() => { app = new cdk.App(); cdk.Aspects.of(app).add(new AwsSolutionsChecks()); - const textToSqlTestStack = new cdk.Stack(app, "textToSqlTestStack", { + const textToSqlTestStack = new cdk.Stack(app, 'textToSqlTestStack', { env: { account: cdk.Aws.ACCOUNT_ID, region: cdk.Aws.REGION }, }); - const vpc = new ec2.Vpc(textToSqlTestStack, "test-vpc", { - ipAddresses: ec2.IpAddresses.cidr("10.0.0.0/16"), + const vpc = new ec2.Vpc(textToSqlTestStack, 'test-vpc', { + ipAddresses: ec2.IpAddresses.cidr('10.0.0.0/16'), enableDnsHostnames: true, enableDnsSupport: true, subnetConfiguration: [ { - name: "public", + name: 'public', subnetType: ec2.SubnetType.PUBLIC, cidrMask: 24, }, { - name: "private", + name: 'private', subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, cidrMask: 24, }, @@ -60,98 +60,96 @@ describe("Text to SQL Construct", () => { databaseType: DatabaseType.AURORA, dbName: DbName.MYSQL, metadataSource: MetatdataSource.CONFIG_FILE, - stage: "dev", + stage: 'dev', existingVpc: vpc, }; textToSqlTestConstruct = new TextToSql( textToSqlTestStack, - "TextToSql", - props + 'TextToSql', + props, ); texttoSqlTemplate = Template.fromStack(textToSqlTestStack); }); - test("S3 bucket count", () => { - texttoSqlTemplate.resourceCountIs("AWS::S3::Bucket", 2); + test('S3 bucket count', () => { + texttoSqlTemplate.resourceCountIs('AWS::S3::Bucket', 2); expect(textToSqlTestConstruct.configAssetBucket).not.toBeNull; }); - test("Step function count", () => { - texttoSqlTemplate.resourceCountIs("AWS::StepFunctions::StateMachine", 1); + test('Step function count', () => { + texttoSqlTemplate.resourceCountIs('AWS::StepFunctions::StateMachine', 1); expect(textToSqlTestConstruct.stepFunction).not.toBeNull; }); - test("Event bridge count", () => { - texttoSqlTemplate.resourceCountIs("AWS::Events::EventBus", 1); + test('Event bridge count', () => { + texttoSqlTemplate.resourceCountIs('AWS::Events::EventBus', 1); }); - test("Lambda function count", () => { - texttoSqlTemplate.resourceCountIs("AWS::Lambda::Function", 7); + test('Lambda function count', () => { + texttoSqlTemplate.resourceCountIs('AWS::Lambda::Function', 7); }); - test("refromulate lambda properties", () => { - texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { - PackageType: "Image", - FunctionName: Match.stringLikeRegexp("reformulatequestionfunction"), + test('refromulate lambda properties', () => { + texttoSqlTemplate.hasResourceProperties('AWS::Lambda::Function', { + PackageType: 'Image', + FunctionName: Match.stringLikeRegexp('reformulatequestionfunction'), Environment: { Variables: { - DB_NAME: Match.stringLikeRegexp("MySQL"), - METADATA_SOURCE: Match.stringLikeRegexp("config_file"), + DB_NAME: Match.stringLikeRegexp('MySQL'), + METADATA_SOURCE: Match.stringLikeRegexp('config_file'), CONFIG_BUCKET: { Ref: Match.anyValue(), }, - KNOWLEDGE_BASE_ID: "", }, }, }); }); - test("refromulate lambda properties", () => { - texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { - PackageType: "Image", - FunctionName: Match.stringLikeRegexp("reformulatequestionfunction"), + test('refromulate lambda properties', () => { + texttoSqlTemplate.hasResourceProperties('AWS::Lambda::Function', { + PackageType: 'Image', + FunctionName: Match.stringLikeRegexp('reformulatequestionfunction'), Environment: { Variables: { - DB_NAME: Match.stringLikeRegexp("MySQL"), - METADATA_SOURCE: Match.stringLikeRegexp("config_file"), + DB_NAME: Match.stringLikeRegexp('MySQL'), + METADATA_SOURCE: Match.stringLikeRegexp('config_file'), CONFIG_BUCKET: { Ref: Match.anyValue(), }, - KNOWLEDGE_BASE_ID: "", }, }, }); }); - test("query generator lambda properties", () => { - texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { - PackageType: "Image", - FunctionName: Match.stringLikeRegexp("querygeneratorfunction"), + test('query generator lambda properties', () => { + texttoSqlTemplate.hasResourceProperties('AWS::Lambda::Function', { + PackageType: 'Image', + FunctionName: Match.stringLikeRegexp('querygeneratorfunction'), Environment: { Variables: { - DB_NAME: Match.stringLikeRegexp("MySQL"), + DB_NAME: Match.stringLikeRegexp('MySQL'), CONFIG_BUCKET: { Ref: Match.anyValue(), }, SECRET_ARN: { - Ref: Match.stringLikeRegexp("TextToSqlAurora"), + Ref: Match.stringLikeRegexp('TextToSqlAurora'), }, }, }, }); }); - test("query executor properties", () => { - texttoSqlTemplate.hasResourceProperties("AWS::Lambda::Function", { - PackageType: "Image", - FunctionName: Match.stringLikeRegexp("queryexecutorfunction"), + test('query executor properties', () => { + texttoSqlTemplate.hasResourceProperties('AWS::Lambda::Function', { + PackageType: 'Image', + FunctionName: Match.stringLikeRegexp('queryexecutorfunction'), Environment: { Variables: { - DB_NAME: Match.stringLikeRegexp("MySQL"), + DB_NAME: Match.stringLikeRegexp('MySQL'), CONFIG_BUCKET: { Ref: Match.anyValue(), }, SECRET_ARN: { - Ref: Match.stringLikeRegexp("TextToSqlAurora"), + Ref: Match.stringLikeRegexp('TextToSqlAurora'), }, }, }, From 2230fc5f6b00dd373f9a19c1cd78293224ceff50 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 15 Aug 2024 16:09:07 -0400 Subject: [PATCH 18/31] feat(construct): review comments --- .projenrc.ts | 13 ++++++----- .../custom_resources/config_file_loader.py | 22 ++++++++++--------- .../aws-text-to-sql/query_executor/Chinook.db | 0 .../query_generator/Chinook.db | 0 4 files changed, 19 insertions(+), 16 deletions(-) delete mode 100644 lambda/aws-text-to-sql/query_executor/Chinook.db delete mode 100644 lambda/aws-text-to-sql/query_generator/Chinook.db diff --git a/.projenrc.ts b/.projenrc.ts index 6fcbde42..32eee255 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -33,9 +33,9 @@ const PROJECT_NAME = 'generative-ai-cdk-constructs'; const CDK_VERSION: string = '2.149.0'; function camelCaseIt(input: string): string { - // Hypens and dashes to spaces and then CamelCase... - return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); - } + // Hypens and dashes to spaces and then CamelCase... + return input.replace(/-/g, ' ').replace(/_/g, ' ').replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, _) { if (+match === 0) return ''; return match.toUpperCase(); }); +} const project = new awscdk.AwsCdkConstructLibrary({ author: 'Amazon Web Services - Prototyping and Cloud Engineering', @@ -92,9 +92,10 @@ const project = new awscdk.AwsCdkConstructLibrary({ }, publishToNuget: { - dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), - }, + dotNetNamespace: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + packageId: camelCaseIt(PUBLICATION_NAMESPACE)+'.'+camelCaseIt(PROJECT_NAME), + }, + publishToGo: { moduleName: `github.com/${PUBLICATION_NAMESPACE}/${PROJECT_NAME}-go`, diff --git a/lambda/aws-text-to-sql/custom_resources/config_file_loader.py b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py index bd9fb1e5..2e096a13 100644 --- a/lambda/aws-text-to-sql/custom_resources/config_file_loader.py +++ b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py @@ -1,3 +1,15 @@ +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance +# with the License. A copy of the License is located at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions +# and limitations under the License. +# import logging import os import boto3 @@ -9,16 +21,6 @@ from typing import TypedDict -# Set the LD_LIBRARY_PATH to include the /opt/lib directory -# if os.environ.get('AWS_EXECUTION_ENV'): -# os.environ['LD_LIBRARY_PATH'] = '/opt/lib' -# try: -# import psycopg2 -# # Your code that uses psycopg2 -# except ImportError: -# sys.exit('Unable to import module: %s' % 'psycopg2') - - LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") logger = logging.getLogger(__name__) diff --git a/lambda/aws-text-to-sql/query_executor/Chinook.db b/lambda/aws-text-to-sql/query_executor/Chinook.db deleted file mode 100644 index e69de29b..00000000 diff --git a/lambda/aws-text-to-sql/query_generator/Chinook.db b/lambda/aws-text-to-sql/query_generator/Chinook.db deleted file mode 100644 index e69de29b..00000000 From 99043112e676b1bc508bb5acfd057486a54b448d Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 15 Aug 2024 16:35:29 -0400 Subject: [PATCH 19/31] feat(construct): updated documentation --- src/patterns/gen-ai/aws-text-to-sql/README.md | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 67ec31bb..1e0c171c 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -107,17 +107,26 @@ Parameters The Text to SQL workflow is orchestrated by the workflow_config.json file, which dictates the primary execution flow. -Knowledge Base Configuration - +Semantic layer Configuration to reduce the natural language ambiguity ```json -"knowledge_base": { - "enable": true, // enable knowledge base functionaity - "id": XXXX,// KB id - "embedding_model": "amazon.titan-text-lite-v1" // embedding model -}, +"semantic_layer": { + "strategy": "auto", // Set to "human" to enable interactive feedback, set to "auto" for no feedback operation, + "config_files":{ // either config file or knowledge_base is used + "prompt_template_path": "config/knowledge_layer_prompt.json" + }, + "knowledge_base": { + "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", + "id": "", // knowledge base id + "embedding_model": "amazon.titan-text-lite-v1" + }, + "model_id": "anthropic.claude-3-haiku-20240307-v1:0", + "topp": 1, + "topk": 1, + "temperature": 0 + }, ``` - To generate the sql +To generate the sql ```json "sql_generation": { @@ -151,18 +160,7 @@ Knowledge Base Configuration "temperature": 0 }, ``` - To reduce the natural language ambiguity - ```json - "semantic_layer": { - "strategy": "human",// Set to "human" to enable interactive feedback, set to "auto" for no feedback operation, - "prompt_template_path": "config/knowledge_layer_prompt.json", - "kb_prompt_template_path": "config/kb_schema_linking_prompt.json", - "model_id": "anthropic.claude-3-haiku-20240307-v1:0", - "topp": 1, - "topk": 1, - "temperature": 0 - } - ``` + To generate query metrics ```json From 619a5624cef643be98e21c20034f6816483b41a8 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 15 Aug 2024 17:42:48 -0400 Subject: [PATCH 20/31] feat(construct): yarn file checkin --- yarn.lock | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 108fd08f..56f8f61d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,6 +52,40 @@ string-width "^4.2.3" table "^6.8.1" +"@aws-cdk/integ-tests-alpha@2.149.0-alpha.0": + version "2.149.0-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/integ-tests-alpha/-/integ-tests-alpha-2.149.0-alpha.0.tgz#600f1cd493c6e8f16df49fcc4acd7df90df144cf" + integrity sha512-uNjslP38qx8+v02d0RkvjBpG+cwWH53fUdOCP9ilc06XQEGK+ch2u5nH2EEe9lc511KFLRX7MtB+gfHKqsThuA== + +"@aws-solutions-constructs/aws-constructs-factories@2.63.0": + version "2.63.0" + resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/aws-constructs-factories/-/aws-constructs-factories-2.63.0.tgz#be72ec1580e99f365503ded1737560a3500bcf22" + integrity sha512-951qJYSBlQnl94U8kDjuNPHd/DTYxsKLujlo7jYS8l7KBYKXBrUVtlFYsa6ZCrtu3nhsVHr6JMzq3zgVxXCr6A== + dependencies: + "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" + "@aws-solutions-constructs/core" "2.63.0" + constructs "^10.0.0" + +"@aws-solutions-constructs/aws-eventbridge-stepfunctions@2.63.0": + version "2.63.0" + resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/aws-eventbridge-stepfunctions/-/aws-eventbridge-stepfunctions-2.63.0.tgz#5702def368e5700a0f6ed0c5ac244b7e8b069990" + integrity sha512-UmjP1goIgMUZhe4xB9lCm7TptcI2emmono7YRxtnpM3V5hamZEvEj9RyRjCtYLpU9F7/G+Fp7CSc1bf6Lr3fFg== + dependencies: + "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" + "@aws-solutions-constructs/core" "2.63.0" + constructs "^10.0.0" + +"@aws-solutions-constructs/core@2.63.0": + version "2.63.0" + resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/core/-/core-2.63.0.tgz#e1be74cf99facfd372cd953c030b4e23cf30bf63" + integrity sha512-SCR34cDX3hXu3LZOgZ0B/dEHNKWbA/ev+CxvdhKlIk0mj5Uk6zABrI8hIQ7fz/8+1PbHHl7EYFxTc9/X97pF9w== + dependencies: + "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" + constructs "^10.0.0" + deep-diff "^1.0.2" + deepmerge "^4.0.0" + npmlog "^7.0.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" @@ -1263,6 +1297,16 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz#aed25dd0eae514660d49ac2b2366b175c614785a" + integrity sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg== + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1719,6 +1763,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + comment-json@4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.2.tgz#5fae70a94e0c8f84a077bd31df5aa5269252f293" @@ -1770,6 +1819,11 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + constructs@10.3.0, constructs@^10.0.0: version "10.3.0" resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.3.0.tgz#4c246fce9cf8e77711ad45944e9fbd41f1501965" @@ -2100,12 +2154,17 @@ dedent@^1.0.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== +deep-diff@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-1.0.2.tgz#afd3d1f749115be965e89c63edc7abb1506b9c26" + integrity sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.2.2, deepmerge@^4.3.1: +deepmerge@^4.0.0, deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -2755,6 +2814,20 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +gauge@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" + integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^4.0.1" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -3000,6 +3073,11 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -4368,6 +4446,16 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npmlog@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" + integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== + dependencies: + are-we-there-yet "^4.0.0" + console-control-strings "^1.1.0" + gauge "^5.0.0" + set-blocking "^2.0.0" + object-inspect@^1.13.1: version "1.13.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" @@ -4940,6 +5028,11 @@ semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semve resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -5014,6 +5107,11 @@ signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + sinon@^17.0.0: version "17.0.2" resolved "https://registry.yarnpkg.com/sinon/-/sinon-17.0.2.tgz#470894bcc2d24b01bad539722ea46da949892405" @@ -5178,7 +5276,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5715,6 +5813,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" From 28b719b084b9d1dedcd6cbcc1458fcc80cc886e0 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Fri, 16 Aug 2024 12:35:06 -0400 Subject: [PATCH 21/31] feat(construct): update execution time condition --- lambda/aws-text-to-sql/query_generator/lambda.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index cc327169..e9d41c35 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -90,7 +90,11 @@ def handler(event, context: LambdaContext)-> dict: 'sql_validation_strategy':sql_validation_strategy, } end_time = time.time() - query_generation_time = end_time - execution_start_time + if end_time is not None and execution_start_time is not None: + query_generation_time = end_time - execution_start_time + else: + query_generation_time = None + generate_metrics_strategy = generate_metrics.get( 'strategy', WorkflowStrategy.DISABLED) metrics_file_name = generate_metrics.get( From c717ff4a109aaa6e4e8b24f5b98b5331588ef2e1 Mon Sep 17 00:00:00 2001 From: Scott Schreckengaust Date: Thu, 15 Aug 2024 15:42:12 -0700 Subject: [PATCH 22/31] fix: projen install --- .projen/deps.json | 20 ++++++++++++++++++++ .projen/tasks.json | 2 +- package.json | 4 ++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.projen/deps.json b/.projen/deps.json index 5b9e4e12..735de4e0 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -4,6 +4,11 @@ "name": "@aws-cdk/assert", "type": "build" }, + { + "name": "@aws-solutions-constructs/aws-constructs-factories", + "version": "2.63.0", + "type": "build" + }, { "name": "@commitlint/config-conventional", "type": "build" @@ -135,6 +140,21 @@ "version": "^10.3.0", "type": "peer" }, + { + "name": "@aws-solutions-constructs/aws-constructs-factories", + "version": "2.63.0", + "type": "runtime" + }, + { + "name": "@aws-solutions-constructs/aws-eventbridge-stepfunctions", + "version": "2.63.0", + "type": "runtime" + }, + { + "name": "@aws-solutions-constructs/core", + "version": "2.63.0", + "type": "runtime" + }, { "name": "cdk-nag", "type": "runtime" diff --git a/.projen/tasks.json b/.projen/tasks.json index 62c4d42b..36749038 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -324,7 +324,7 @@ "exec": "yarn install --check-files" }, { - "exec": "yarn upgrade @aws-cdk/assert @commitlint/config-conventional @mrgrain/jsii-struct-builder @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-sdk-mock commitlint eslint-import-resolver-typescript eslint-plugin-header eslint-plugin-import eslint husky jest jest-junit jsii-diff jsii-pacmak jsii-rosetta jsii pinst projen standard-version ts-jest ts-node typedoc typedoc-plugin-markdown typescript deepmerge aws-cdk-lib constructs cdk-nag" + "exec": "yarn upgrade @aws-cdk/assert @aws-solutions-constructs/aws-constructs-factories @commitlint/config-conventional @mrgrain/jsii-struct-builder @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-sdk-mock commitlint eslint-import-resolver-typescript eslint-plugin-header eslint-plugin-import eslint husky jest jest-junit jsii-diff jsii-pacmak jsii-rosetta jsii pinst projen standard-version ts-jest ts-node typedoc typedoc-plugin-markdown typescript deepmerge aws-cdk-lib constructs @aws-solutions-constructs/aws-eventbridge-stepfunctions @aws-solutions-constructs/core cdk-nag" }, { "exec": "npx projen" diff --git a/package.json b/package.json index ab56511f..88ebbc55 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ }, "devDependencies": { "@aws-cdk/assert": "^2.68.0", + "@aws-solutions-constructs/aws-constructs-factories": "2.63.0", "@commitlint/config-conventional": "^18.6.3", "@mrgrain/jsii-struct-builder": "^0.7.40", "@types/jest": "^29.5.12", @@ -78,6 +79,9 @@ "constructs": "^10.3.0" }, "dependencies": { + "@aws-solutions-constructs/aws-constructs-factories": "2.63.0", + "@aws-solutions-constructs/aws-eventbridge-stepfunctions": "2.63.0", + "@aws-solutions-constructs/core": "2.63.0", "cdk-nag": "^2.28.179", "deepmerge": "^4.3.1" }, From 748f4006fdb217208be490803c7b6ae5478aad03 Mon Sep 17 00:00:00 2001 From: Scott Schreckengaust Date: Thu, 15 Aug 2024 15:43:28 -0700 Subject: [PATCH 23/31] fix(doc): include the api --- apidocs/README.md | 5 + apidocs/classes/BaseClass.md | 1 + apidocs/classes/TextToSql.md | 375 ++++++++++++++++++++++++ apidocs/enumerations/ConstructName.md | 6 + apidocs/enumerations/DatabaseType.md | 19 ++ apidocs/enumerations/DbName.md | 19 ++ apidocs/enumerations/MetatdataSource.md | 19 ++ apidocs/interfaces/TextToSqlProps.md | 255 ++++++++++++++++ 8 files changed, 699 insertions(+) create mode 100644 apidocs/classes/TextToSql.md create mode 100644 apidocs/enumerations/DatabaseType.md create mode 100644 apidocs/enumerations/DbName.md create mode 100644 apidocs/enumerations/MetatdataSource.md create mode 100644 apidocs/interfaces/TextToSqlProps.md diff --git a/apidocs/README.md b/apidocs/README.md index 04508b11..d3dbdfb3 100644 --- a/apidocs/README.md +++ b/apidocs/README.md @@ -16,6 +16,9 @@ - [ConstructName](enumerations/ConstructName.md) - [CrawlerTargetType](enumerations/CrawlerTargetType.md) +- [DatabaseType](enumerations/DatabaseType.md) +- [DbName](enumerations/DbName.md) +- [MetatdataSource](enumerations/MetatdataSource.md) ## Classes @@ -33,6 +36,7 @@ - [SageMakerEndpointBase](classes/SageMakerEndpointBase.md) - [SageMakerInstanceType](classes/SageMakerInstanceType.md) - [SummarizationAppsyncStepfn](classes/SummarizationAppsyncStepfn.md) +- [TextToSql](classes/TextToSql.md) - [WebCrawler](classes/WebCrawler.md) ## Interfaces @@ -54,6 +58,7 @@ - [QaAppsyncOpensearchProps](interfaces/QaAppsyncOpensearchProps.md) - [RagAppsyncStepfnOpensearchProps](interfaces/RagAppsyncStepfnOpensearchProps.md) - [SummarizationAppsyncStepfnProps](interfaces/SummarizationAppsyncStepfnProps.md) +- [TextToSqlProps](interfaces/TextToSqlProps.md) - [WebCrawlerProps](interfaces/WebCrawlerProps.md) ## Variables diff --git a/apidocs/classes/BaseClass.md b/apidocs/classes/BaseClass.md index 65888b47..d77f5bf1 100644 --- a/apidocs/classes/BaseClass.md +++ b/apidocs/classes/BaseClass.md @@ -18,6 +18,7 @@ - [`SageMakerEndpointBase`](SageMakerEndpointBase.md) - [`ContentGenerationAppSyncLambda`](ContentGenerationAppSyncLambda.md) - [`WebCrawler`](WebCrawler.md) +- [`TextToSql`](TextToSql.md) ## Constructors diff --git a/apidocs/classes/TextToSql.md b/apidocs/classes/TextToSql.md new file mode 100644 index 00000000..d20576e7 --- /dev/null +++ b/apidocs/classes/TextToSql.md @@ -0,0 +1,375 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / TextToSql + +# Class: TextToSql + +## Extends + +- [`BaseClass`](BaseClass.md) + +## Constructors + +### new TextToSql() + +> **new TextToSql**(`scope`, `id`, `props`): [`TextToSql`](TextToSql.md) + +Constructs a new instance of the TextToSql class. + +#### Parameters + +• **scope**: `Construct` + +represents the scope for all the resources. + +• **id**: `string` + +this is a a scope-unique id. + +• **props**: [`TextToSqlProps`](../interfaces/TextToSqlProps.md) + +user provided props for the construct. + +#### Returns + +[`TextToSql`](TextToSql.md) + +#### Since + +0.0.0 + +#### Overrides + +[`BaseClass`](BaseClass.md).[`constructor`](BaseClass.md#constructors) + +## Properties + +### configAssetBucket + +> `readonly` **configAssetBucket**: `IBucket` + +Returns the instance of s3.IBucket used by the construct + +*** + +### constructUsageMetric + +> `readonly` **constructUsageMetric**: `"uksb-1tupboc45"` = `'uksb-1tupboc45'` + +construct usage metric , added in template description + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`constructUsageMetric`](BaseClass.md#constructusagemetric) + +*** + +### databaseCluster + +> `readonly` **databaseCluster**: `DatabaseCluster` + +Returns the instance of aurora cluster used by the construct + +*** + +### dbInstance + +> `readonly` **dbInstance**: `DatabaseInstance` + +Returns the RDS db instance used by the construct + +*** + +### dbSecurityGroup + +> `readonly` **dbSecurityGroup**: `SecurityGroup` + +Returns the instance of ec2.ISecurityGroup used by the construct + +*** + +### enablexray + +> **enablexray**: `boolean` = `true` + +enable disable xray tracing + +#### Default + +```ts +- True +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`enablexray`](BaseClass.md#enablexray) + +*** + +### eventBus? + +> `readonly` `optional` **eventBus**: `IEventBus` + +Returns the instance of EventBus used by the construct + +*** + +### eventsRule? + +> `readonly` `optional` **eventsRule**: `Rule` + +Returns the instance of EventBus used by the construct + +*** + +### feedbackQueue + +> `readonly` **feedbackQueue**: `Queue` + +Returns the instance of feedback Queue used by the construct + +*** + +### fieldLogLevel + +> **fieldLogLevel**: `FieldLogLevel` = `appsync.FieldLogLevel.ALL` + +Default log config for all constructs + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`fieldLogLevel`](BaseClass.md#fieldloglevel) + +*** + +### lambdaSecurityGroup + +> `readonly` **lambdaSecurityGroup**: `SecurityGroup` + +Returns the instance of ec2.ISecurityGroup used by the construct + +*** + +### lambdaTracing + +> **lambdaTracing**: `Tracing` = `lambda.Tracing.ACTIVE` + +enable disable lambda tracing + +#### Default + +```ts +- Active +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`lambdaTracing`](BaseClass.md#lambdatracing) + +*** + +### node + +> `readonly` **node**: `Node` + +The tree node. + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`node`](BaseClass.md#node) + +*** + +### outputQueue + +> `readonly` **outputQueue**: `Queue` + +Returns the instance of output Queue used by the construct + +*** + +### retention + +> **retention**: `RetentionDays` = `logs.RetentionDays.TEN_YEARS` + +Default log retention config for all constructs + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`retention`](BaseClass.md#retention) + +*** + +### secret + +> `readonly` **secret**: `Secret` + +Returns the instance of secret manager used by the construct + +*** + +### stage + +> **stage**: `string` + +Value will be appended to resources name. + +#### Default + +```ts +- _dev +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`stage`](BaseClass.md#stage) + +*** + +### stepFunction? + +> `readonly` `optional` **stepFunction**: `StateMachine` + +Returns the Instance of stepfunction created by the construct + +*** + +### subnetGroup + +> `readonly` **subnetGroup**: `SubnetGroup` + +Returns the instance of subnet group used by the construct + +*** + +### vpc + +> `readonly` **vpc**: `IVpc` + +Returns the instance of ec2.IVpc used by the construct + +*** + +### usageMetricMap + +> `protected` `static` **usageMetricMap**: `Record`\<`string`, `number`\> + +Record , maps construct name with number of deployments + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`usageMetricMap`](BaseClass.md#usagemetricmap) + +## Methods + +### addObservabilityToConstruct() + +> `protected` **addObservabilityToConstruct**(`props`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`addObservabilityToConstruct`](BaseClass.md#addobservabilitytoconstruct) + +*** + +### toString() + +> **toString**(): `string` + +Returns a string representation of this construct. + +#### Returns + +`string` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`toString`](BaseClass.md#tostring) + +*** + +### updateConstructUsageMetricCode() + +> `protected` **updateConstructUsageMetricCode**(`props`, `scope`, `lambdaFunctions`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +• **scope**: `Construct` + +• **lambdaFunctions**: `DockerImageFunction`[] + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`updateConstructUsageMetricCode`](BaseClass.md#updateconstructusagemetriccode) + +*** + +### updateEnvSuffix() + +> `protected` **updateEnvSuffix**(`props`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`updateEnvSuffix`](BaseClass.md#updateenvsuffix) + +*** + +### isConstruct() + +> `static` **isConstruct**(`x`): `x is Construct` + +Checks if `x` is a construct. + +Use this method instead of `instanceof` to properly detect `Construct` +instances, even when the construct library is symlinked. + +Explanation: in JavaScript, multiple copies of the `constructs` library on +disk are seen as independent, completely different libraries. As a +consequence, the class `Construct` in each copy of the `constructs` library +is seen as a different class, and an instance of one class will not test as +`instanceof` the other class. `npm install` will not create installations +like this, but users may manually symlink construct libraries together or +use a monorepo tool: in those cases, multiple copies of the `constructs` +library can be accidentally installed, and `instanceof` will behave +unpredictably. It is safest to avoid using `instanceof`, and using +this type-testing method instead. + +#### Parameters + +• **x**: `any` + +Any object + +#### Returns + +`x is Construct` + +true if `x` is an object created from a class which extends `Construct`. + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`isConstruct`](BaseClass.md#isconstruct) diff --git a/apidocs/enumerations/ConstructName.md b/apidocs/enumerations/ConstructName.md index 5187904c..43d54800 100644 --- a/apidocs/enumerations/ConstructName.md +++ b/apidocs/enumerations/ConstructName.md @@ -55,6 +55,12 @@ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. *** +### AWSTEXTTOSQL + +> **AWSTEXTTOSQL**: `"C11"` + +*** + ### AWSWEBCRAWLER > **AWSWEBCRAWLER**: `"C10"` diff --git a/apidocs/enumerations/DatabaseType.md b/apidocs/enumerations/DatabaseType.md new file mode 100644 index 00000000..cbf6bde4 --- /dev/null +++ b/apidocs/enumerations/DatabaseType.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / DatabaseType + +# Enumeration: DatabaseType + +## Enumeration Members + +### AURORA + +> **AURORA**: `"Aurora"` + +*** + +### RDS + +> **RDS**: `"RDS"` diff --git a/apidocs/enumerations/DbName.md b/apidocs/enumerations/DbName.md new file mode 100644 index 00000000..d9b9eed1 --- /dev/null +++ b/apidocs/enumerations/DbName.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / DbName + +# Enumeration: DbName + +## Enumeration Members + +### MYSQL + +> **MYSQL**: `"MySQL"` + +*** + +### POSTGRESQL + +> **POSTGRESQL**: `"PostgreSQL"` diff --git a/apidocs/enumerations/MetatdataSource.md b/apidocs/enumerations/MetatdataSource.md new file mode 100644 index 00000000..6cd7bd98 --- /dev/null +++ b/apidocs/enumerations/MetatdataSource.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / MetatdataSource + +# Enumeration: MetatdataSource + +## Enumeration Members + +### CONFIG\_FILE + +> **CONFIG\_FILE**: `"config_file"` + +*** + +### KNOWLEDGE\_BASE + +> **KNOWLEDGE\_BASE**: `"knowledge_base"` diff --git a/apidocs/interfaces/TextToSqlProps.md b/apidocs/interfaces/TextToSqlProps.md new file mode 100644 index 00000000..1fa6d8af --- /dev/null +++ b/apidocs/interfaces/TextToSqlProps.md @@ -0,0 +1,255 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / TextToSqlProps + +# Interface: TextToSqlProps + +## Properties + +### configAssetsBucketProps? + +> `readonly` `optional` **configAssetsBucketProps**: `BucketProps` + +Optional. User provided props to override the default props for the S3 Bucket. + +#### Default + +```ts +- Default props are used +``` + +*** + +### customQueryConfigurerLambdaProps? + +> `readonly` `optional` **customQueryConfigurerLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for all pre steps required before generating the query. +If not provided, default code will be used. + +*** + +### customQueryExecutorLambdaProps? + +> `readonly` `optional` **customQueryExecutorLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for executing the query. +If not provided, default code will be used. + +*** + +### customQueryGeneratorLambdaProps? + +> `readonly` `optional` **customQueryGeneratorLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for generating the query. +If not provided, default code will be used. + +*** + +### databaseClusterProps? + +> `readonly` `optional` **databaseClusterProps**: `DatabaseClusterProps` + +Optional. Aurora Managed DB cluster prps. + Passing existingAuroraDbCluster and databaseClusterProps will result in error. + +*** + +### databaseInstanceProps? + +> `readonly` `optional` **databaseInstanceProps**: `DatabaseInstanceProps` + +Optional. RDS Instance prps. + Passing existingRdsDbInstance and databaseInstanceProps will result in error. + +*** + +### databaseType? + +> `readonly` `optional` **databaseType**: [`DatabaseType`](../enumerations/DatabaseType.md) + +Database type. Select between Aurora or RDS as database type. If none selected then Aurora is +used as default database type. + +#### Default + +```ts +- Aurora +``` + +*** + +### dbName + +> `readonly` **dbName**: [`DbName`](../enumerations/DbName.md) + +Database name. This is the target database against which the query will be generated. + +*** + +### dbPort? + +> `readonly` `optional` **dbPort**: `number` + +Optional. db port number. + +#### Default + +```ts +-3306 +``` + +*** + +### existingAuroraDbCluster? + +> `readonly` `optional` **existingAuroraDbCluster**: `DatabaseCluster` + +Optional. Existing Aurora Managed DB cluster + +*** + +### existingDBSecurityGroup? + +> `readonly` `optional` **existingDBSecurityGroup**: `SecurityGroup` + +Optional. Security group for the db instance which this construct will use. +If no exisiting security group is provided it will create one from the vpc. + +#### Default + +```ts +- none +``` + +*** + +### existingLambdaSecurityGroup? + +> `readonly` `optional` **existingLambdaSecurityGroup**: `SecurityGroup` + +Optional. Security group for the lambda function which this construct will use. +If no exisiting security group is provided it will create one from the vpc. + +#### Default + +```ts +- none +``` + +*** + +### existingRdsDbInstance? + +> `readonly` `optional` **existingRdsDbInstance**: `DatabaseInstance` + +Returns the RDS db instance used by the construct + +*** + +### existingSubnetGroup? + +> `readonly` `optional` **existingSubnetGroup**: `SubnetGroup` + +Optional. An existing subnet group can be used to deploy the construct. + +#### Default + +```ts +- none +``` + +*** + +### existingVpc? + +> `readonly` `optional` **existingVpc**: `IVpc` + +Optional. An existing VPC can be used to deploy the construct. +Providing both this and vpcProps is an error. + +#### Default + +```ts +- none +``` + +*** + +### existingconfigAssetsBucketObj? + +> `readonly` `optional` **existingconfigAssetsBucketObj**: `IBucket` + +Optional. Existing s3 Bucket to store the config files. + +#### Default + +```ts +- None +``` + +*** + +### metadataSource + +> `readonly` **metadataSource**: `string` + +The source of metatdata. This metadata is required to reduce the natual language ambiguity +in order to generate the correct sql query. A knowledge layer is used to map the natural language +to the database schema. +Two metatdata source are supported: +1: config_file - A local json file containing the knowledge layer key value pair. +2: Knowledge base - Semantic search is used to fetch the knowledge layer from AWS knowledge base + +#### Default + +```ts +- config_file +``` + +*** + +### observability? + +> `readonly` `optional` **observability**: `boolean` + +Enable observability. Warning: associated cost with the services +used. Best practice to enable by default. + +#### Default + +```ts +- true +``` + +*** + +### stage? + +> `readonly` `optional` **stage**: `string` + +Value will be appended to resources name. + +#### Default + +```ts +- _dev +``` + +*** + +### vpcProps? + +> `readonly` `optional` **vpcProps**: `VpcProps` + +Optional. The construct creates a custom VPC based on vpcProps. +Providing both this and existingVpc is an error. + +#### Default + +```ts +- none +``` From 5251d190d61eb891fb9d12e098174334bf4b9b4a Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 21 Aug 2024 09:12:32 -0400 Subject: [PATCH 24/31] feat(construct): removed aws solution construct dependency and added vpc endpoint --- .../custom_resources/config_file_loader.py | 7 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 212 ++++++++++++------ 2 files changed, 150 insertions(+), 69 deletions(-) diff --git a/lambda/aws-text-to-sql/custom_resources/config_file_loader.py b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py index 2e096a13..6eb2413f 100644 --- a/lambda/aws-text-to-sql/custom_resources/config_file_loader.py +++ b/lambda/aws-text-to-sql/custom_resources/config_file_loader.py @@ -66,7 +66,12 @@ def on_create( def on_update( _event: CustomResourceRequest[ConfigLoaderProperties], ) -> CustomResourceResponse: - raise ValueError("Update not supported") + return { + "PhysicalResourceId": _event["PhysicalResourceId"], + "Data": { + "Message": "Update is not needed. Ignoring." + } + } def on_delete( diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 7ead9ca0..9f92bf76 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -11,13 +11,8 @@ * and limitations under the License. */ import * as path from 'path'; -import { ConstructsFactories } from '@aws-solutions-constructs/aws-constructs-factories'; -import { - EventbridgeToStepfunctions, - EventbridgeToStepfunctionsProps, -} from '@aws-solutions-constructs/aws-eventbridge-stepfunctions'; import * as cdk from 'aws-cdk-lib'; -import { Aws, Duration } from 'aws-cdk-lib'; +import { Aws, Duration, aws_events_targets as eventsTarget } from 'aws-cdk-lib'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as events from 'aws-cdk-lib/aws-events'; import * as iam from 'aws-cdk-lib/aws-iam'; @@ -37,12 +32,17 @@ import { } from '../../../common/base-class/base-class'; import { ConstructName } from '../../../common/base-class/construct-name-enum'; import { buildCustomResourceProvider } from '../../../common/helpers/custom-resource-provider-helper'; +import * as eventBridgeHelper from '../../../common/helpers/eventbridge-helper'; + import { buildDockerLambdaFunction } from '../../../common/helpers/lambda-builder-helper'; +import * as s3BucketHelper from '../../../common/helpers/s3-bucket-helper'; import { generatePhysicalNameV2, lambdaMemorySizeLimiter, } from '../../../common/helpers/utils'; +import * as vpcHelper from '../../../common/helpers/vpc-helper'; import { DockerLambdaCustomProps } from '../../../common/props/DockerLambdaCustomProps'; +import { ServiceEndpointTypeEnum } from '../../../patterns/gen-ai/aws-rag-appsync-stepfn-kendra/types'; export enum DatabaseType { AURORA = 'Aurora', @@ -56,7 +56,7 @@ export enum DbName { export enum MetatdataSource { CONFIG_FILE = 'config_file', - KNOWLEDGE_BASE = 'knowledge_base' + KNOWLEDGE_BASE = 'knowledge_base', } export interface TextToSqlProps { @@ -147,7 +147,6 @@ export interface TextToSqlProps { */ readonly dbPort?: number; - /** * Returns the RDS db instance used by the construct */ @@ -203,7 +202,19 @@ export interface TextToSqlProps { */ readonly existingconfigAssetsBucketObj?: s3.IBucket; + /** + * Optional. Existing instance of event bus, providing both this and `eventBusProps` will cause an error. + * + * @default - None. + */ + readonly existingEventBusInterface?: events.IEventBus; + /** + * Optional user provided event bus props + * + * @default - Default props are used. + */ + readonly eventBusProps?: events.EventBusProps; } export class TextToSql extends BaseClass { @@ -269,7 +280,7 @@ export class TextToSql extends BaseClass { /** * Returns the Instance of stepfunction created by the construct */ - public readonly stepFunction ?: stepfunctions.StateMachine; + public readonly stepFunction?: stepfunctions.StateMachine; /** * Constructs a new instance of the TextToSql class. @@ -289,6 +300,13 @@ export class TextToSql extends BaseClass { observability: props.observability, }; + vpcHelper.CheckVpcProps(props); + s3BucketHelper.CheckS3Props({ + existingBucketObj: props.existingconfigAssetsBucketObj, + bucketProps: props.configAssetsBucketProps, + }); + eventBridgeHelper.CheckEventBridgeProps(props); + this.validateDbProps(props); this.updateEnvSuffix(baseProps); this.addObservabilityToConstruct(baseProps); @@ -306,6 +324,19 @@ export class TextToSql extends BaseClass { }); } + // add VPC endpoints for the compute environment + vpcHelper.AddAwsServiceEndpoint( + this, + this.vpc, + ServiceEndpointTypeEnum.EVENTS, + ); + vpcHelper.AddAwsServiceEndpoint( + this, + this.vpc, + ServiceEndpointTypeEnum.STEP_FUNCTIONS, + ); + vpcHelper.AddAwsServiceEndpoint(this, this.vpc, ServiceEndpointTypeEnum.S3); + const dbPort = props.dbPort ? props.dbPort : 3306; // Security group @@ -378,35 +409,57 @@ export class TextToSql extends BaseClass { } } - // let proxyEndpoint=''; - // if (this.proxy) { - // proxyEndpoint= this.proxy.endpoint; - // } - // - // If the construct is not uploading the config files. + // bucket for storing server access logging + const serverAccessLogBucket = new s3.Bucket( + this, + 'serverAccessLogBucket' + this.stage, + { + blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, + encryption: s3.BucketEncryption.S3_MANAGED, + enforceSSL: true, + versioned: true, + lifecycleRules: [ + { + expiration: cdk.Duration.days(90), + }, + ], + }, + ); - // s3 bucket + // config asset bucket if (props?.existingconfigAssetsBucketObj) { this.configAssetBucket = props.existingconfigAssetsBucketObj; } else if (props?.configAssetsBucketProps) { - const factories = new ConstructsFactories(this, 'resourceFactory'); - this.configAssetBucket = factories.s3BucketFactory('configBucket', { - bucketProps: props.configAssetsBucketProps, - }).s3Bucket; + this.configAssetBucket = new s3.Bucket( + this, + 'configasset' + this.stage, + props.configAssetsBucketProps, + ); } else { - const factories = new ConstructsFactories(this, 'resourceFactory'); - this.configAssetBucket = factories.s3BucketFactory( - 'configBucket', - {}, - ).s3Bucket; - - // create default bucket to upload the config files - // const asset = new s3assets.Asset(this, 'configBucketAsset', { - // path: path.join( - // __dirname, - // '../../../../resources/gen-ai/aws-text-to-sql', - // ), - // }); + this.configAssetBucket = new s3.Bucket( + this, + 'configasset' + this.stage, + { + accessControl: s3.BucketAccessControl.PRIVATE, + blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, + encryption: s3.BucketEncryption.S3_MANAGED, + bucketName: + 'configasset' + + this.stage.toLowerCase() + + '-' + + cdk.Aws.REGION + + '-' + + cdk.Aws.ACCOUNT_ID, + serverAccessLogsBucket: serverAccessLogBucket, + enforceSSL: true, + versioned: true, + lifecycleRules: [ + { + expiration: cdk.Duration.days(90), + }, + ], + }, + ); } const configFilePath = path.join( @@ -433,7 +486,6 @@ export class TextToSql extends BaseClass { 's3:GetBucketLocation', 's3:ListBucket', 's3:PutObject', - ], resources: [ `arn:${Aws.PARTITION}:logs:${Aws.REGION}:${Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`, @@ -490,14 +542,12 @@ export class TextToSql extends BaseClass { new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: ['s3:ListBucket'], - resources: ['arn:' + - Aws.PARTITION + - ':s3:::' + - this.configAssetBucket.bucketName], + resources: [ + 'arn:' + Aws.PARTITION + ':s3:::' + this.configAssetBucket.bucketName, + ], }), ); - const configLoaderPolicy = new iam.ManagedPolicy(this, 'AuroraPgPolicy', { managedPolicyName: generatePhysicalNameV2(this, 'configLoaderPolicy', { maxLength: 32, @@ -788,10 +838,12 @@ export class TextToSql extends BaseClass { question_unique_id: stepfunctions.TaskInput.fromJsonPathAt( '$.question_unique_id', ), - execute_sql_strategy: - stepfunctions.TaskInput.fromJsonPathAt('$.execute_sql_strategy'), - execution_start_time: - stepfunctions.TaskInput.fromJsonPathAt('$.execution_start_time'), + execute_sql_strategy: stepfunctions.TaskInput.fromJsonPathAt( + '$.execute_sql_strategy', + ), + execution_start_time: stepfunctions.TaskInput.fromJsonPathAt( + '$.execution_start_time', + ), TaskToken: stepfunctions.JsonPath.taskToken, }), integrationPattern: @@ -958,8 +1010,9 @@ export class TextToSql extends BaseClass { execute_sql_strategy: stepfunctions.TaskInput.fromJsonPathAt( '$.execute_sql_strategy', ), - execution_start_time: - stepfunctions.TaskInput.fromJsonPathAt('$.execution_start_time'), + execution_start_time: stepfunctions.TaskInput.fromJsonPathAt( + '$.execution_start_time', + ), reformualted_question: stepfunctions.TaskInput.fromJsonPathAt( '$.reformulated_user_question', @@ -996,9 +1049,36 @@ export class TextToSql extends BaseClass { resultPath: '$.queryConfig', }).next(generateQueryfeedbackChoiceState); - //create step function with event bridge - const constructProps: EventbridgeToStepfunctionsProps = { - stateMachineProps: { + // event bridge + // Create an IAM role for Events to start the State Machine + const eventsRole = new iam.Role(this, 'EventsRuleRole', { + assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), + }); + + if (props?.existingEventBusInterface) { + this.eventBus = props.existingEventBusInterface; + } else if (props?.eventBusProps) { + this.eventBus = eventBridgeHelper.buildEventBus(this, { + eventBusProps: props.eventBusProps, + }); + } else { + this.eventBus = new events.EventBus( + this, + 'textToSqlBus' + props.stage, + { + eventBusName: generatePhysicalNameV2( + this, + 'textToSql' + this.stage, + { maxLength: 63, lower: true }, + ), + }, + ); + } + + this.stepFunction = new stepfunctions.StateMachine( + this, + 'textToSqlStepFunction' + props.stage, + { definition: reformulateQuestionState.next( feedbackChoiceStateOne .when( @@ -1010,32 +1090,28 @@ export class TextToSql extends BaseClass { ) .otherwise(queryGeneratorState), ), + timeout: Duration.days(90), }, - eventBusProps: { - eventBusName: generatePhysicalNameV2( - this, - 'textToSqlBus' + this.stage, - { maxLength: 63, lower: true }, - ), - }, + ); + - eventRuleProps: { - eventPattern: { - source: ['webclient'], + this.eventsRule = new events.Rule(this, 'EventsRule', { + eventBus: this.eventBus, + targets: [new eventsTarget.SfnStateMachine( + this.stepFunction, { + role: eventsRole, }, + )], + eventPattern: { + source: ['webclient'], }, - }; + }); - const eventBridgeToStepfunction = new EventbridgeToStepfunctions( - this, - 'test-eventbridge-stepfunctions-stack', - constructProps, - ); + this.eventBus.grantPutEventsTo(this.stepFunction); - this.eventBus = eventBridgeToStepfunction.eventBus; - this.eventsRule = eventBridgeToStepfunction.eventsRule; - this.stepFunction = eventBridgeToStepfunction.stateMachine; - } + // Grant the start execution permission to the Events service + this.stepFunction.grantStartExecution(eventsRole); + } // end construct private validateDbProps(props: TextToSqlProps): void { // Check if existingAuroraDbCluster and databaseClusterProps are set at the same time From 4d890cd77d935b68ef1bf16b7e9a59faceb60d71 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 21 Aug 2024 09:13:20 -0400 Subject: [PATCH 25/31] feat(construct): removed aws solution construct dependency and added vpc endpoint --- .projenrc.ts | 5 +- apidocs/README.md | 5 + apidocs/classes/BaseClass.md | 1 + apidocs/classes/TextToSql.md | 375 ++++++++++++++++++++++++ apidocs/enumerations/ConstructName.md | 6 + apidocs/enumerations/DatabaseType.md | 19 ++ apidocs/enumerations/DbName.md | 19 ++ apidocs/enumerations/MetatdataSource.md | 19 ++ apidocs/interfaces/TextToSqlProps.md | 283 ++++++++++++++++++ yarn.lock | 109 +------ 10 files changed, 730 insertions(+), 111 deletions(-) create mode 100644 apidocs/classes/TextToSql.md create mode 100644 apidocs/enumerations/DatabaseType.md create mode 100644 apidocs/enumerations/DbName.md create mode 100644 apidocs/enumerations/MetatdataSource.md create mode 100644 apidocs/interfaces/TextToSqlProps.md diff --git a/.projenrc.ts b/.projenrc.ts index 32eee255..b019a872 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -64,14 +64,11 @@ const project = new awscdk.AwsCdkConstructLibrary({ 'typedoc-plugin-markdown', 'aws-sdk-mock', '@aws-cdk/assert', - '@aws-solutions-constructs/aws-constructs-factories@2.63.0', ], deps: [ 'cdk-nag', - '@aws-solutions-constructs/core@2.63.0', - '@aws-solutions-constructs/aws-eventbridge-stepfunctions@2.63.0', - '@aws-solutions-constructs/aws-constructs-factories@2.63.0', + ], bundledDeps: [ diff --git a/apidocs/README.md b/apidocs/README.md index 04508b11..d3dbdfb3 100644 --- a/apidocs/README.md +++ b/apidocs/README.md @@ -16,6 +16,9 @@ - [ConstructName](enumerations/ConstructName.md) - [CrawlerTargetType](enumerations/CrawlerTargetType.md) +- [DatabaseType](enumerations/DatabaseType.md) +- [DbName](enumerations/DbName.md) +- [MetatdataSource](enumerations/MetatdataSource.md) ## Classes @@ -33,6 +36,7 @@ - [SageMakerEndpointBase](classes/SageMakerEndpointBase.md) - [SageMakerInstanceType](classes/SageMakerInstanceType.md) - [SummarizationAppsyncStepfn](classes/SummarizationAppsyncStepfn.md) +- [TextToSql](classes/TextToSql.md) - [WebCrawler](classes/WebCrawler.md) ## Interfaces @@ -54,6 +58,7 @@ - [QaAppsyncOpensearchProps](interfaces/QaAppsyncOpensearchProps.md) - [RagAppsyncStepfnOpensearchProps](interfaces/RagAppsyncStepfnOpensearchProps.md) - [SummarizationAppsyncStepfnProps](interfaces/SummarizationAppsyncStepfnProps.md) +- [TextToSqlProps](interfaces/TextToSqlProps.md) - [WebCrawlerProps](interfaces/WebCrawlerProps.md) ## Variables diff --git a/apidocs/classes/BaseClass.md b/apidocs/classes/BaseClass.md index 65888b47..d77f5bf1 100644 --- a/apidocs/classes/BaseClass.md +++ b/apidocs/classes/BaseClass.md @@ -18,6 +18,7 @@ - [`SageMakerEndpointBase`](SageMakerEndpointBase.md) - [`ContentGenerationAppSyncLambda`](ContentGenerationAppSyncLambda.md) - [`WebCrawler`](WebCrawler.md) +- [`TextToSql`](TextToSql.md) ## Constructors diff --git a/apidocs/classes/TextToSql.md b/apidocs/classes/TextToSql.md new file mode 100644 index 00000000..d20576e7 --- /dev/null +++ b/apidocs/classes/TextToSql.md @@ -0,0 +1,375 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / TextToSql + +# Class: TextToSql + +## Extends + +- [`BaseClass`](BaseClass.md) + +## Constructors + +### new TextToSql() + +> **new TextToSql**(`scope`, `id`, `props`): [`TextToSql`](TextToSql.md) + +Constructs a new instance of the TextToSql class. + +#### Parameters + +• **scope**: `Construct` + +represents the scope for all the resources. + +• **id**: `string` + +this is a a scope-unique id. + +• **props**: [`TextToSqlProps`](../interfaces/TextToSqlProps.md) + +user provided props for the construct. + +#### Returns + +[`TextToSql`](TextToSql.md) + +#### Since + +0.0.0 + +#### Overrides + +[`BaseClass`](BaseClass.md).[`constructor`](BaseClass.md#constructors) + +## Properties + +### configAssetBucket + +> `readonly` **configAssetBucket**: `IBucket` + +Returns the instance of s3.IBucket used by the construct + +*** + +### constructUsageMetric + +> `readonly` **constructUsageMetric**: `"uksb-1tupboc45"` = `'uksb-1tupboc45'` + +construct usage metric , added in template description + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`constructUsageMetric`](BaseClass.md#constructusagemetric) + +*** + +### databaseCluster + +> `readonly` **databaseCluster**: `DatabaseCluster` + +Returns the instance of aurora cluster used by the construct + +*** + +### dbInstance + +> `readonly` **dbInstance**: `DatabaseInstance` + +Returns the RDS db instance used by the construct + +*** + +### dbSecurityGroup + +> `readonly` **dbSecurityGroup**: `SecurityGroup` + +Returns the instance of ec2.ISecurityGroup used by the construct + +*** + +### enablexray + +> **enablexray**: `boolean` = `true` + +enable disable xray tracing + +#### Default + +```ts +- True +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`enablexray`](BaseClass.md#enablexray) + +*** + +### eventBus? + +> `readonly` `optional` **eventBus**: `IEventBus` + +Returns the instance of EventBus used by the construct + +*** + +### eventsRule? + +> `readonly` `optional` **eventsRule**: `Rule` + +Returns the instance of EventBus used by the construct + +*** + +### feedbackQueue + +> `readonly` **feedbackQueue**: `Queue` + +Returns the instance of feedback Queue used by the construct + +*** + +### fieldLogLevel + +> **fieldLogLevel**: `FieldLogLevel` = `appsync.FieldLogLevel.ALL` + +Default log config for all constructs + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`fieldLogLevel`](BaseClass.md#fieldloglevel) + +*** + +### lambdaSecurityGroup + +> `readonly` **lambdaSecurityGroup**: `SecurityGroup` + +Returns the instance of ec2.ISecurityGroup used by the construct + +*** + +### lambdaTracing + +> **lambdaTracing**: `Tracing` = `lambda.Tracing.ACTIVE` + +enable disable lambda tracing + +#### Default + +```ts +- Active +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`lambdaTracing`](BaseClass.md#lambdatracing) + +*** + +### node + +> `readonly` **node**: `Node` + +The tree node. + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`node`](BaseClass.md#node) + +*** + +### outputQueue + +> `readonly` **outputQueue**: `Queue` + +Returns the instance of output Queue used by the construct + +*** + +### retention + +> **retention**: `RetentionDays` = `logs.RetentionDays.TEN_YEARS` + +Default log retention config for all constructs + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`retention`](BaseClass.md#retention) + +*** + +### secret + +> `readonly` **secret**: `Secret` + +Returns the instance of secret manager used by the construct + +*** + +### stage + +> **stage**: `string` + +Value will be appended to resources name. + +#### Default + +```ts +- _dev +``` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`stage`](BaseClass.md#stage) + +*** + +### stepFunction? + +> `readonly` `optional` **stepFunction**: `StateMachine` + +Returns the Instance of stepfunction created by the construct + +*** + +### subnetGroup + +> `readonly` **subnetGroup**: `SubnetGroup` + +Returns the instance of subnet group used by the construct + +*** + +### vpc + +> `readonly` **vpc**: `IVpc` + +Returns the instance of ec2.IVpc used by the construct + +*** + +### usageMetricMap + +> `protected` `static` **usageMetricMap**: `Record`\<`string`, `number`\> + +Record , maps construct name with number of deployments + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`usageMetricMap`](BaseClass.md#usagemetricmap) + +## Methods + +### addObservabilityToConstruct() + +> `protected` **addObservabilityToConstruct**(`props`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`addObservabilityToConstruct`](BaseClass.md#addobservabilitytoconstruct) + +*** + +### toString() + +> **toString**(): `string` + +Returns a string representation of this construct. + +#### Returns + +`string` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`toString`](BaseClass.md#tostring) + +*** + +### updateConstructUsageMetricCode() + +> `protected` **updateConstructUsageMetricCode**(`props`, `scope`, `lambdaFunctions`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +• **scope**: `Construct` + +• **lambdaFunctions**: `DockerImageFunction`[] + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`updateConstructUsageMetricCode`](BaseClass.md#updateconstructusagemetriccode) + +*** + +### updateEnvSuffix() + +> `protected` **updateEnvSuffix**(`props`): `void` + +#### Parameters + +• **props**: [`BaseClassProps`](../interfaces/BaseClassProps.md) + +#### Returns + +`void` + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`updateEnvSuffix`](BaseClass.md#updateenvsuffix) + +*** + +### isConstruct() + +> `static` **isConstruct**(`x`): `x is Construct` + +Checks if `x` is a construct. + +Use this method instead of `instanceof` to properly detect `Construct` +instances, even when the construct library is symlinked. + +Explanation: in JavaScript, multiple copies of the `constructs` library on +disk are seen as independent, completely different libraries. As a +consequence, the class `Construct` in each copy of the `constructs` library +is seen as a different class, and an instance of one class will not test as +`instanceof` the other class. `npm install` will not create installations +like this, but users may manually symlink construct libraries together or +use a monorepo tool: in those cases, multiple copies of the `constructs` +library can be accidentally installed, and `instanceof` will behave +unpredictably. It is safest to avoid using `instanceof`, and using +this type-testing method instead. + +#### Parameters + +• **x**: `any` + +Any object + +#### Returns + +`x is Construct` + +true if `x` is an object created from a class which extends `Construct`. + +#### Inherited from + +[`BaseClass`](BaseClass.md).[`isConstruct`](BaseClass.md#isconstruct) diff --git a/apidocs/enumerations/ConstructName.md b/apidocs/enumerations/ConstructName.md index 5187904c..43d54800 100644 --- a/apidocs/enumerations/ConstructName.md +++ b/apidocs/enumerations/ConstructName.md @@ -55,6 +55,12 @@ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. *** +### AWSTEXTTOSQL + +> **AWSTEXTTOSQL**: `"C11"` + +*** + ### AWSWEBCRAWLER > **AWSWEBCRAWLER**: `"C10"` diff --git a/apidocs/enumerations/DatabaseType.md b/apidocs/enumerations/DatabaseType.md new file mode 100644 index 00000000..cbf6bde4 --- /dev/null +++ b/apidocs/enumerations/DatabaseType.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / DatabaseType + +# Enumeration: DatabaseType + +## Enumeration Members + +### AURORA + +> **AURORA**: `"Aurora"` + +*** + +### RDS + +> **RDS**: `"RDS"` diff --git a/apidocs/enumerations/DbName.md b/apidocs/enumerations/DbName.md new file mode 100644 index 00000000..d9b9eed1 --- /dev/null +++ b/apidocs/enumerations/DbName.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / DbName + +# Enumeration: DbName + +## Enumeration Members + +### MYSQL + +> **MYSQL**: `"MySQL"` + +*** + +### POSTGRESQL + +> **POSTGRESQL**: `"PostgreSQL"` diff --git a/apidocs/enumerations/MetatdataSource.md b/apidocs/enumerations/MetatdataSource.md new file mode 100644 index 00000000..6cd7bd98 --- /dev/null +++ b/apidocs/enumerations/MetatdataSource.md @@ -0,0 +1,19 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / MetatdataSource + +# Enumeration: MetatdataSource + +## Enumeration Members + +### CONFIG\_FILE + +> **CONFIG\_FILE**: `"config_file"` + +*** + +### KNOWLEDGE\_BASE + +> **KNOWLEDGE\_BASE**: `"knowledge_base"` diff --git a/apidocs/interfaces/TextToSqlProps.md b/apidocs/interfaces/TextToSqlProps.md new file mode 100644 index 00000000..0d3c2eaf --- /dev/null +++ b/apidocs/interfaces/TextToSqlProps.md @@ -0,0 +1,283 @@ +[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** + +*** + +[@cdklabs/generative-ai-cdk-constructs](../README.md) / TextToSqlProps + +# Interface: TextToSqlProps + +## Properties + +### configAssetsBucketProps? + +> `readonly` `optional` **configAssetsBucketProps**: `BucketProps` + +Optional. User provided props to override the default props for the S3 Bucket. + +#### Default + +```ts +- Default props are used +``` + +*** + +### customQueryConfigurerLambdaProps? + +> `readonly` `optional` **customQueryConfigurerLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for all pre steps required before generating the query. +If not provided, default code will be used. + +*** + +### customQueryExecutorLambdaProps? + +> `readonly` `optional` **customQueryExecutorLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for executing the query. +If not provided, default code will be used. + +*** + +### customQueryGeneratorLambdaProps? + +> `readonly` `optional` **customQueryGeneratorLambdaProps**: [`DockerLambdaCustomProps`](DockerLambdaCustomProps.md) + +Optional. Allows to provide custom lambda code for generating the query. +If not provided, default code will be used. + +*** + +### databaseClusterProps? + +> `readonly` `optional` **databaseClusterProps**: `DatabaseClusterProps` + +Optional. Aurora Managed DB cluster prps. + Passing existingAuroraDbCluster and databaseClusterProps will result in error. + +*** + +### databaseInstanceProps? + +> `readonly` `optional` **databaseInstanceProps**: `DatabaseInstanceProps` + +Optional. RDS Instance prps. + Passing existingRdsDbInstance and databaseInstanceProps will result in error. + +*** + +### databaseType? + +> `readonly` `optional` **databaseType**: [`DatabaseType`](../enumerations/DatabaseType.md) + +Database type. Select between Aurora or RDS as database type. If none selected then Aurora is +used as default database type. + +#### Default + +```ts +- Aurora +``` + +*** + +### dbName + +> `readonly` **dbName**: [`DbName`](../enumerations/DbName.md) + +Database name. This is the target database against which the query will be generated. + +*** + +### dbPort? + +> `readonly` `optional` **dbPort**: `number` + +Optional. db port number. + +#### Default + +```ts +-3306 +``` + +*** + +### eventBusProps? + +> `readonly` `optional` **eventBusProps**: `EventBusProps` + +Optional user provided event bus props + +#### Default + +```ts +- Default props are used. +``` + +*** + +### existingAuroraDbCluster? + +> `readonly` `optional` **existingAuroraDbCluster**: `DatabaseCluster` + +Optional. Existing Aurora Managed DB cluster + +*** + +### existingDBSecurityGroup? + +> `readonly` `optional` **existingDBSecurityGroup**: `SecurityGroup` + +Optional. Security group for the db instance which this construct will use. +If no exisiting security group is provided it will create one from the vpc. + +#### Default + +```ts +- none +``` + +*** + +### existingEventBusInterface? + +> `readonly` `optional` **existingEventBusInterface**: `IEventBus` + +Optional. Existing instance of event bus, providing both this and `eventBusProps` will cause an error. + +#### Default + +```ts +- None. +``` + +*** + +### existingLambdaSecurityGroup? + +> `readonly` `optional` **existingLambdaSecurityGroup**: `SecurityGroup` + +Optional. Security group for the lambda function which this construct will use. +If no exisiting security group is provided it will create one from the vpc. + +#### Default + +```ts +- none +``` + +*** + +### existingRdsDbInstance? + +> `readonly` `optional` **existingRdsDbInstance**: `DatabaseInstance` + +Returns the RDS db instance used by the construct + +*** + +### existingSubnetGroup? + +> `readonly` `optional` **existingSubnetGroup**: `SubnetGroup` + +Optional. An existing subnet group can be used to deploy the construct. + +#### Default + +```ts +- none +``` + +*** + +### existingVpc? + +> `readonly` `optional` **existingVpc**: `IVpc` + +Optional. An existing VPC can be used to deploy the construct. +Providing both this and vpcProps is an error. + +#### Default + +```ts +- none +``` + +*** + +### existingconfigAssetsBucketObj? + +> `readonly` `optional` **existingconfigAssetsBucketObj**: `IBucket` + +Optional. Existing s3 Bucket to store the config files. + +#### Default + +```ts +- None +``` + +*** + +### metadataSource + +> `readonly` **metadataSource**: `string` + +The source of metatdata. This metadata is required to reduce the natual language ambiguity +in order to generate the correct sql query. A knowledge layer is used to map the natural language +to the database schema. +Two metatdata source are supported: +1: config_file - A local json file containing the knowledge layer key value pair. +2: Knowledge base - Semantic search is used to fetch the knowledge layer from AWS knowledge base + +#### Default + +```ts +- config_file +``` + +*** + +### observability? + +> `readonly` `optional` **observability**: `boolean` + +Enable observability. Warning: associated cost with the services +used. Best practice to enable by default. + +#### Default + +```ts +- true +``` + +*** + +### stage? + +> `readonly` `optional` **stage**: `string` + +Value will be appended to resources name. + +#### Default + +```ts +- _dev +``` + +*** + +### vpcProps? + +> `readonly` `optional` **vpcProps**: `VpcProps` + +Optional. The construct creates a custom VPC based on vpcProps. +Providing both this and existingVpc is an error. + +#### Default + +```ts +- none +``` diff --git a/yarn.lock b/yarn.lock index 56f8f61d..108fd08f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,40 +52,6 @@ string-width "^4.2.3" table "^6.8.1" -"@aws-cdk/integ-tests-alpha@2.149.0-alpha.0": - version "2.149.0-alpha.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/integ-tests-alpha/-/integ-tests-alpha-2.149.0-alpha.0.tgz#600f1cd493c6e8f16df49fcc4acd7df90df144cf" - integrity sha512-uNjslP38qx8+v02d0RkvjBpG+cwWH53fUdOCP9ilc06XQEGK+ch2u5nH2EEe9lc511KFLRX7MtB+gfHKqsThuA== - -"@aws-solutions-constructs/aws-constructs-factories@2.63.0": - version "2.63.0" - resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/aws-constructs-factories/-/aws-constructs-factories-2.63.0.tgz#be72ec1580e99f365503ded1737560a3500bcf22" - integrity sha512-951qJYSBlQnl94U8kDjuNPHd/DTYxsKLujlo7jYS8l7KBYKXBrUVtlFYsa6ZCrtu3nhsVHr6JMzq3zgVxXCr6A== - dependencies: - "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" - "@aws-solutions-constructs/core" "2.63.0" - constructs "^10.0.0" - -"@aws-solutions-constructs/aws-eventbridge-stepfunctions@2.63.0": - version "2.63.0" - resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/aws-eventbridge-stepfunctions/-/aws-eventbridge-stepfunctions-2.63.0.tgz#5702def368e5700a0f6ed0c5ac244b7e8b069990" - integrity sha512-UmjP1goIgMUZhe4xB9lCm7TptcI2emmono7YRxtnpM3V5hamZEvEj9RyRjCtYLpU9F7/G+Fp7CSc1bf6Lr3fFg== - dependencies: - "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" - "@aws-solutions-constructs/core" "2.63.0" - constructs "^10.0.0" - -"@aws-solutions-constructs/core@2.63.0": - version "2.63.0" - resolved "https://registry.yarnpkg.com/@aws-solutions-constructs/core/-/core-2.63.0.tgz#e1be74cf99facfd372cd953c030b4e23cf30bf63" - integrity sha512-SCR34cDX3hXu3LZOgZ0B/dEHNKWbA/ev+CxvdhKlIk0mj5Uk6zABrI8hIQ7fz/8+1PbHHl7EYFxTc9/X97pF9w== - dependencies: - "@aws-cdk/integ-tests-alpha" "2.149.0-alpha.0" - constructs "^10.0.0" - deep-diff "^1.0.2" - deepmerge "^4.0.0" - npmlog "^7.0.0" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" @@ -1297,16 +1263,6 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -are-we-there-yet@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz#aed25dd0eae514660d49ac2b2366b175c614785a" - integrity sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg== - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1763,11 +1719,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - comment-json@4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.2.tgz#5fae70a94e0c8f84a077bd31df5aa5269252f293" @@ -1819,11 +1770,6 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - constructs@10.3.0, constructs@^10.0.0: version "10.3.0" resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.3.0.tgz#4c246fce9cf8e77711ad45944e9fbd41f1501965" @@ -2154,17 +2100,12 @@ dedent@^1.0.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== -deep-diff@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-1.0.2.tgz#afd3d1f749115be965e89c63edc7abb1506b9c26" - integrity sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg== - deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.0.0, deepmerge@^4.2.2, deepmerge@^4.3.1: +deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -2814,20 +2755,6 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gauge@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" - integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^4.0.1" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -3073,11 +3000,6 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -4446,16 +4368,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" - integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== - dependencies: - are-we-there-yet "^4.0.0" - console-control-strings "^1.1.0" - gauge "^5.0.0" - set-blocking "^2.0.0" - object-inspect@^1.13.1: version "1.13.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" @@ -5028,11 +4940,6 @@ semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semve resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -5107,11 +5014,6 @@ signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - sinon@^17.0.0: version "17.0.2" resolved "https://registry.yarnpkg.com/sinon/-/sinon-17.0.2.tgz#470894bcc2d24b01bad539722ea46da949892405" @@ -5276,7 +5178,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5813,13 +5715,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" From 1999a967cc794e7b2f4959a846c5387738848476 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 21 Aug 2024 09:36:11 -0400 Subject: [PATCH 26/31] feat(construct): updated dependencies --- .projen/deps.json | 20 -------------------- .projen/tasks.json | 2 +- package.json | 4 ---- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/.projen/deps.json b/.projen/deps.json index 735de4e0..5b9e4e12 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -4,11 +4,6 @@ "name": "@aws-cdk/assert", "type": "build" }, - { - "name": "@aws-solutions-constructs/aws-constructs-factories", - "version": "2.63.0", - "type": "build" - }, { "name": "@commitlint/config-conventional", "type": "build" @@ -140,21 +135,6 @@ "version": "^10.3.0", "type": "peer" }, - { - "name": "@aws-solutions-constructs/aws-constructs-factories", - "version": "2.63.0", - "type": "runtime" - }, - { - "name": "@aws-solutions-constructs/aws-eventbridge-stepfunctions", - "version": "2.63.0", - "type": "runtime" - }, - { - "name": "@aws-solutions-constructs/core", - "version": "2.63.0", - "type": "runtime" - }, { "name": "cdk-nag", "type": "runtime" diff --git a/.projen/tasks.json b/.projen/tasks.json index 36749038..62c4d42b 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -324,7 +324,7 @@ "exec": "yarn install --check-files" }, { - "exec": "yarn upgrade @aws-cdk/assert @aws-solutions-constructs/aws-constructs-factories @commitlint/config-conventional @mrgrain/jsii-struct-builder @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-sdk-mock commitlint eslint-import-resolver-typescript eslint-plugin-header eslint-plugin-import eslint husky jest jest-junit jsii-diff jsii-pacmak jsii-rosetta jsii pinst projen standard-version ts-jest ts-node typedoc typedoc-plugin-markdown typescript deepmerge aws-cdk-lib constructs @aws-solutions-constructs/aws-eventbridge-stepfunctions @aws-solutions-constructs/core cdk-nag" + "exec": "yarn upgrade @aws-cdk/assert @commitlint/config-conventional @mrgrain/jsii-struct-builder @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-sdk-mock commitlint eslint-import-resolver-typescript eslint-plugin-header eslint-plugin-import eslint husky jest jest-junit jsii-diff jsii-pacmak jsii-rosetta jsii pinst projen standard-version ts-jest ts-node typedoc typedoc-plugin-markdown typescript deepmerge aws-cdk-lib constructs cdk-nag" }, { "exec": "npx projen" diff --git a/package.json b/package.json index 22fd2cd3..5ba6f5f7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ }, "devDependencies": { "@aws-cdk/assert": "^2.68.0", - "@aws-solutions-constructs/aws-constructs-factories": "2.63.0", "@commitlint/config-conventional": "^18.6.3", "@mrgrain/jsii-struct-builder": "^0.7.40", "@types/jest": "^29.5.12", @@ -79,9 +78,6 @@ "constructs": "^10.3.0" }, "dependencies": { - "@aws-solutions-constructs/aws-constructs-factories": "2.63.0", - "@aws-solutions-constructs/aws-eventbridge-stepfunctions": "2.63.0", - "@aws-solutions-constructs/core": "2.63.0", "cdk-nag": "^2.28.181", "deepmerge": "^4.3.1" }, From 6841090c7f11067c63a3a163626eabae5a1dea7f Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Thu, 22 Aug 2024 09:14:54 -0400 Subject: [PATCH 27/31] feat(construct): bug fixing --- lambda/aws-text-to-sql/query_executor/lambda.py | 2 +- lambda/aws-text-to-sql/query_generator/lambda.py | 5 ++++- lambda/aws-text-to-sql/query_generator/parser.py | 2 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 16 ++++++++-------- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lambda/aws-text-to-sql/query_executor/lambda.py b/lambda/aws-text-to-sql/query_executor/lambda.py index 3d50aa7f..89eb310e 100644 --- a/lambda/aws-text-to-sql/query_executor/lambda.py +++ b/lambda/aws-text-to-sql/query_executor/lambda.py @@ -55,7 +55,7 @@ def handler(event, context: LambdaContext)-> dict: if generated_sql_query is None or generated_sql_query == "": # generated query is set in validated_sql_query for execute_query_strategy = auto queryConfig = event.get("queryConfig").get("Payload", None) - generated_sql_query = queryConfig.get("validated_sql_query",None) + generated_sql_query = queryConfig.get("result",None) logger.info(f"validated_sql_query {generated_sql_query}") diff --git a/lambda/aws-text-to-sql/query_generator/lambda.py b/lambda/aws-text-to-sql/query_generator/lambda.py index e9d41c35..619132ce 100644 --- a/lambda/aws-text-to-sql/query_generator/lambda.py +++ b/lambda/aws-text-to-sql/query_generator/lambda.py @@ -86,8 +86,9 @@ def handler(event, context: LambdaContext)-> dict: logger.info('Semantic validation strategy not enabled, running sql query as is') response = { - 'validated_sql_query':validated_sql_query, + 'result':validated_sql_query, 'sql_validation_strategy':sql_validation_strategy, + } end_time = time.time() if end_time is not None and execution_start_time is not None: @@ -281,11 +282,13 @@ def generate_sql_from_text(text_to_sql_query_generation_llm,user_question, db, p logger.info(f"question :: {user_question}") response = chain.invoke({"question": user_question}) + logger.info(f"llm response .. {response}") generated_sql_query = extract_sql_query(response) if generated_sql_query: logger.info(f'Generated SQL query: {generated_sql_query}') else: print("couldn't parse any genearted sql, returning...") + generated_sql_query = None except Exception as e: logger.error(f"Error generating SQL query: {e}") raise QueryGenerationException(e) diff --git a/lambda/aws-text-to-sql/query_generator/parser.py b/lambda/aws-text-to-sql/query_generator/parser.py index ccd3f236..e787e910 100644 --- a/lambda/aws-text-to-sql/query_generator/parser.py +++ b/lambda/aws-text-to-sql/query_generator/parser.py @@ -11,4 +11,4 @@ def extract_sql_query(text): if match: return match.group(1) else: - return None \ No newline at end of file + return text \ No newline at end of file diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 9f92bf76..d3c68c04 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -863,7 +863,7 @@ export class TextToSql extends BaseClass { this, 'is_autocorrect_required?', { - //inputPath: '$.queryStatus.Payload', + //inputPath: '$.queryConfig.Payload', }, ); @@ -906,7 +906,7 @@ export class TextToSql extends BaseClass { queue: outputQueue, messageBody: stepfunctions.TaskInput.fromObject({ result: stepfunctions.TaskInput.fromJsonPathAt( - '$.queryStatus.Payload.result', + '$.queryConfig.Payload.result', ), user_question: stepfunctions.TaskInput.fromJsonPathAt('$.user_question'), @@ -920,7 +920,7 @@ export class TextToSql extends BaseClass { this, 'is_alternate_query_correct?', { - //inputPath: '$.queryStatus.Payload', + //inputPath: '$.queryConfig.Payload', }, ); const alternateQueryExecutorState = new tasks.LambdaInvoke( @@ -928,13 +928,13 @@ export class TextToSql extends BaseClass { 'execute_alternate_query', { lambdaFunction: queryExecutorFunction, - resultPath: '$.queryStatus', + resultPath: '$.queryConfig', }, ).next( alternateQueryCorrectChoiceState .when( stepfunctions.Condition.stringEquals( - '$.queryStatus.Payload.status', + '$.queryConfig.Payload.status', 'QUERY_ERROR', ), iteratorState, @@ -944,12 +944,12 @@ export class TextToSql extends BaseClass { const queryExecutorState = new tasks.LambdaInvoke(this, 'execute_query', { lambdaFunction: queryExecutorFunction, - resultPath: '$.queryStatus', + resultPath: '$.queryConfig', }).next( autocorrectChoiceState .when( stepfunctions.Condition.stringEquals( - '$.queryStatus.Payload.status', + '$.queryConfig.Payload.status', 'QUERY_ERROR', ), configureCountState @@ -1005,7 +1005,7 @@ export class TextToSql extends BaseClass { message: 'Following is the generated query. Do you agree with it or want to override?', generated_query: stepfunctions.JsonPath.stringAt( - '$.queryConfig.Payload.validated_sql_query', + '$.queryConfig.Payload.result', ), execute_sql_strategy: stepfunctions.TaskInput.fromJsonPathAt( '$.execute_sql_strategy', From d28bbe26726f810317c2b3533f33c248fd7c9cfb Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Wed, 28 Aug 2024 10:47:52 -0400 Subject: [PATCH 28/31] feat(construct): removed database from the construct --- apidocs/README.md | 1 - apidocs/classes/TextToSql.md | 24 --- apidocs/enumerations/DatabaseType.md | 19 -- apidocs/interfaces/TextToSqlProps.md | 47 +---- src/patterns/gen-ai/aws-text-to-sql/README.md | 51 +++-- .../gen-ai/aws-text-to-sql/architecture.png | Bin 613121 -> 1189603 bytes src/patterns/gen-ai/aws-text-to-sql/index.ts | 188 +----------------- .../aws-text-to-sql/aws-text-to-sql.test.ts | 14 +- 8 files changed, 41 insertions(+), 303 deletions(-) delete mode 100644 apidocs/enumerations/DatabaseType.md diff --git a/apidocs/README.md b/apidocs/README.md index fcee7593..90aff49f 100644 --- a/apidocs/README.md +++ b/apidocs/README.md @@ -16,7 +16,6 @@ - [ConstructName](enumerations/ConstructName.md) - [CrawlerTargetType](enumerations/CrawlerTargetType.md) -- [DatabaseType](enumerations/DatabaseType.md) - [DbName](enumerations/DbName.md) - [MetatdataSource](enumerations/MetatdataSource.md) diff --git a/apidocs/classes/TextToSql.md b/apidocs/classes/TextToSql.md index d20576e7..80f3c99c 100644 --- a/apidocs/classes/TextToSql.md +++ b/apidocs/classes/TextToSql.md @@ -66,22 +66,6 @@ construct usage metric , added in template description *** -### databaseCluster - -> `readonly` **databaseCluster**: `DatabaseCluster` - -Returns the instance of aurora cluster used by the construct - -*** - -### dbInstance - -> `readonly` **dbInstance**: `DatabaseInstance` - -Returns the RDS db instance used by the construct - -*** - ### dbSecurityGroup > `readonly` **dbSecurityGroup**: `SecurityGroup` @@ -202,14 +186,6 @@ Default log retention config for all constructs *** -### secret - -> `readonly` **secret**: `Secret` - -Returns the instance of secret manager used by the construct - -*** - ### stage > **stage**: `string` diff --git a/apidocs/enumerations/DatabaseType.md b/apidocs/enumerations/DatabaseType.md deleted file mode 100644 index cbf6bde4..00000000 --- a/apidocs/enumerations/DatabaseType.md +++ /dev/null @@ -1,19 +0,0 @@ -[**@cdklabs/generative-ai-cdk-constructs**](../README.md) • **Docs** - -*** - -[@cdklabs/generative-ai-cdk-constructs](../README.md) / DatabaseType - -# Enumeration: DatabaseType - -## Enumeration Members - -### AURORA - -> **AURORA**: `"Aurora"` - -*** - -### RDS - -> **RDS**: `"RDS"` diff --git a/apidocs/interfaces/TextToSqlProps.md b/apidocs/interfaces/TextToSqlProps.md index 0d3c2eaf..bc1146b4 100644 --- a/apidocs/interfaces/TextToSqlProps.md +++ b/apidocs/interfaces/TextToSqlProps.md @@ -49,36 +49,11 @@ If not provided, default code will be used. *** -### databaseClusterProps? +### databaseSecretARN -> `readonly` `optional` **databaseClusterProps**: `DatabaseClusterProps` +> `readonly` **databaseSecretARN**: `string` -Optional. Aurora Managed DB cluster prps. - Passing existingAuroraDbCluster and databaseClusterProps will result in error. - -*** - -### databaseInstanceProps? - -> `readonly` `optional` **databaseInstanceProps**: `DatabaseInstanceProps` - -Optional. RDS Instance prps. - Passing existingRdsDbInstance and databaseInstanceProps will result in error. - -*** - -### databaseType? - -> `readonly` `optional` **databaseType**: [`DatabaseType`](../enumerations/DatabaseType.md) - -Database type. Select between Aurora or RDS as database type. If none selected then Aurora is -used as default database type. - -#### Default - -```ts -- Aurora -``` +Database secret. DB credentials to connect to Database. *** @@ -118,14 +93,6 @@ Optional user provided event bus props *** -### existingAuroraDbCluster? - -> `readonly` `optional` **existingAuroraDbCluster**: `DatabaseCluster` - -Optional. Existing Aurora Managed DB cluster - -*** - ### existingDBSecurityGroup? > `readonly` `optional` **existingDBSecurityGroup**: `SecurityGroup` @@ -170,14 +137,6 @@ If no exisiting security group is provided it will create one from the vpc. *** -### existingRdsDbInstance? - -> `readonly` `optional` **existingRdsDbInstance**: `DatabaseInstance` - -Returns the RDS db instance used by the construct - -*** - ### existingSubnetGroup? > `readonly` `optional` **existingSubnetGroup**: `SubnetGroup` diff --git a/src/patterns/gen-ai/aws-text-to-sql/README.md b/src/patterns/gen-ai/aws-text-to-sql/README.md index 1e0c171c..df620a4e 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/README.md +++ b/src/patterns/gen-ai/aws-text-to-sql/README.md @@ -37,7 +37,7 @@ ## Overview -This CDK construct leverages state-of-the-art generative AI capabilities to facilitate natural language-based SQL query generation. It seamlessly integrates with both Amazon Aurora and Amazon RDS database services, currently supporting MySQL databases. If you have an existing MySQL database hosted on an Amazon Aurora or Amazon RDS instance, you can seamlessly integrate it with the construct. Alternatively, the construct can provision the necessary database infrastructure for you. +This CDK construct leverages state-of-the-art generative AI capabilities to facilitate natural language-based SQL query generation. It seamlessly integrates with your choice of database (MySQL, PostgreSQL, or SQLite) on AWS, currently supporting MySQL databases. To address the inherent ambiguity present in natural language, the system employs a sophisticated semantic linking mechanism. This mechanism utilizes a knowledge layer loaded from configuration files or an Amazon Bedrock knowledge base to reformulate the user's query, disambiguating and clarifying the intent. The system then prompts the user for feedback on the reformulated query, ensuring accurate interpretation of the user's intent. Upon user approval of the reformulated query, the construct generates the corresponding SQL query and presents it to the user for further validation. @@ -45,6 +45,7 @@ Once the user approves the generated SQL query, they have the option to execute The system's architecture is built upon a serverless workflow orchestrated by AWS Step Functions and AWS Lambda, triggered by an Amazon EventBridge event. The AWS Step Functions workflow publishes a task token on an Amazon Simple Queue Service (SQS) queue and awaits user feedback, ensuring a seamless and efficient user experience. The feedback strategy is configurable in config files and can be skipped by updating the config files. + The construct support anthropic claude 3 models (anthropic.claude-3-haiku-20240307-v1:0, anthropic.claude-3-sonnet-20240229-v1:0). Please make sure the model is enabled in your account.Please follow the [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) for steps related to enabling model access. This construct builds a Lambda function from a Docker image, thus you need [Docker desktop](https://www.docker.com/products/docker-desktop/) running on your machine. @@ -62,9 +63,10 @@ import { Construct } from 'constructs'; import { Stack, StackProps } from 'aws-cdk-lib'; import * as emergingTech from '@cdklabs/generative-ai-cdk-constructs'; -// get an existing userpool +// db secret arn +const secretCompleteArn = "arn:aws:xxx" const textToSql = new emergingTech.TextToSql(this, "TextToSql", { - databaseType: emergingTech.DatabaseType.AURORA, + databaseSecretARN: secretCompleteArn, dbName: emergingTech.DbName.MYSQL, metadataSource: emergingTech.MetatdataSource.CONFIG_FILE, stage:"dev", @@ -78,12 +80,13 @@ from constructs import Construct from aws_cdk import aws_cognito as cognito from cdklabs.generative_ai_cdk_constructs import TextToSql +secret_complete_arn = "arn:aws:xxx" text_to_sql_construct = TextToSql( self, 'TextToSql', + database_secret_arn= secret_complete_arn, db_name= TextToSql.DbName.MYSQL, metadata_source=TextToSql.MetatdataSource.CONFIG_FILE, - database_type= TextToSql.DatabaseType.AURORA, stage="dev", ) ``` @@ -176,6 +179,7 @@ To generate the sql | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | dbName | string | ![Required](https://img.shields.io/badge/required-ff0000) | Database name. This is the target database against which the query will be generated. | | metadataSource | string | ![Required](https://img.shields.io/badge/required-ff0000) | Two metatdata source are supported: 1. config_file 2. Knowledge base | +| databaseSecretARN | string | ![Required](https://img.shields.io/badge/required-ff0000) | The complete ARN is the ARN with the Secrets Manager-supplied suffix. This secret stores database credentials. | | vpcProps | [ec2.VpcProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | The construct creates a custom VPC based on vpcProps. Providing both this and existingVpc will result in an error. | | existingVpc | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing VPC can be used to deploy the construct. | | existingSubnetGroup | [rds.SubnetGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.SubnetGroup.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | An existing subnet group can be used to deploy the construct. | @@ -184,18 +188,11 @@ To generate the sql | existingconfigAssetsBucketObj | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing S3 bucket to store the config files. | | configAssetsBucketProps | [s3.BucketProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BucketProps.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | User-provided props to override the default props for the S3 bucket. Providing both this and`existingconfigAssetsBucketObj` will result in an error. | | stage | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Value will be appended to resources name service. | -| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enable cloudwatch logging. | -| databaseType | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Database type. Select between Aurora or RDS as database type. If none selected then Aurora is used as default database type. | -| existingAuroraDbCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Aurora Managed DB cluster | -| databaseClusterProps | [rds.DatabaseClusterProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Aurora Managed DB cluster props.Passing existingAuroraDbCluster and databaseClusterProps will result in error. | -| databaseInstanceProps | [rds.DatabaseInstanceProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error. | -| dbPort | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | db port number. | -| existingRdsDbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_docdb.DatabaseInstance.html) | ![Optional](https://img.shields.io/badge/optional-4169E1) | RDS Instance prps. Passing existingRdsDbInstance and databaseInstanceProps will result in error. | +| observability | boolean | ![Optional](https://img.shields.io/badge/optional-4169E1) | Enable cloudwatch logging. | | customQueryConfigurerLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for all pre steps required before generating the query. | | customQueryGeneratorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for generating the query. | | customFeedbackLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for requesting the feedback from the user. | | customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query. | -| customQueryExecutorLambdaProps | [DockerLambdaCustomProps](../../../common/props/DockerLambdaCustomProps.ts) | ![Optional](https://img.shields.io/badge/optional-4169E1) | Allows to provide custom lambda code for executing the query. | | existingKnowledgeBaseId | string | ![Optional](https://img.shields.io/badge/optional-4169E1) | Existing Knowledge base ID. | ## Pattern Properties @@ -208,8 +205,6 @@ To generate the sql | lambdaSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | | dbSecurityGroup | [ec2.ISecurityGroup](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.SecurityGroup.html) | Returns the instance of ec2.ISecurityGroup used by the construct | | configAssetBucket | [s3.IBucket](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html) | Returns the instance of s3.IBucket used by the construct | -| databaseCluster | [rds.DatabaseCluster](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html) | Returns the instance of aurora cluster used by the construct | -| dbInstance | [rds.DatabaseInstance](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseInstance.html) | Returns the RDS db instance used by the construct | | secret | [secretsmanager.Secret](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager.Secret.html) | Returns the instance of secret manager used by the construct | ## Default properties @@ -218,15 +213,7 @@ Out-of-the-box implementation of the construct without any override will set the ### VPC, Private Subnet and Security group -- Sets up VPC to deploy the contruct - - Private subnet for Amazon Aurora/Amazon RDS - - Security group for private subnet - -### Amazon Aurora cluster / Amazon RDS instance - -- Sets either Amazon Aurora or Amazon RDS based on databaseType prop. - - Sets up Amazon Aurora cluster with auroraMysql, engine version VER_3_07_0, 1 reader and 1 writer medium type instances. - - Sets up Amazon RDS instance with MySql, engine version VER_8_0_37, with one large type instance. +- Sets up VPC to deploy the contruct with public and private subnet. ### Amazon S3 Buckets @@ -266,7 +253,7 @@ The following table provides a sample cost breakdown for deploying this solution | AWS Lambda | 100000 invocation request, x86 arch, 3 sec duration of each request, 7076 MB, ephermal storage 512 MB. ~~ 27.88 per lambda function . 4 X 27.88 | 111.52 | | Amazon Simple Storage Service | 100000 GET request, 100 GB data transfer. | 0.11 | | Amazon Bedrock | With the on-demand mode, for around 2000 request per day with 2000 input token and 1000 output token per request, with Anthropic Claude 3 Haiku | 95.00 | -| Amazon Aurora MySql | With 1 Node , db.t3.medium size, 150 hours of usage per month(1 instance(s) x 0.082 USD hourly x 150 hours in a month) | 12.30 | +| Amazon Aurora MySql** (The construct don't create any database by itself, the db credentials are passed to construct from your sample app) | With 1 Node , db.t3.medium size, 150 hours of usage per month(1 instance(s) x 0.082 USD hourly x 150 hours in a month) | 12.30 | | Amazon CloudWatch | 15 metrics using 5 GB data ingested for logs | 7.02 | | AWS X-Ray | 100,000 requests per month through AppSync and Lambda calls | 0.50 | | Total Deployment cost | For roughly around 40,000 requests(2000 input tokens / average request and 1000 output tokens/ average request) | 264.85 | @@ -283,11 +270,23 @@ Optionaly, you can provide existing resources to the constructs (marked optional - [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) - [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-security.html) -- [Amazon Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.BestPractices.html) -- [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html) + If you grant access to a user to your account where this construct is deployed, this user may access information stored by the construct (Amazon Simple Storage Service buckets, Amazon Elasticache, Amazon CloudWatch logs). To help secure your AWS resources, please follow the best practices for [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). + +In aws-text-to-sql construct workflows, you may encounter scenarios where you need to execute SQL queries against your database. To ensure secure and controlled access, it's essential to follow best practices. + + - Create a dedicated database user with read-only permissions.This user should have the minimum required privileges to execute the desired SQL queries. + + - The SQL query execution strategy is controlled by the `workflow_config.json` file. This configuration file allows you to enable or disable SQL query execution within your AWS workflow. + +```json +"sql_execution": { + "strategy": "disabled" +} +``` + > **Note** > This construct provides several configurable options for logging. Please consider security best practices when enabling or disabling logging and related features. Verbose logging, for instance, may log content of API calls. You can disable this functionality by ensuring observability flag is set to false. diff --git a/src/patterns/gen-ai/aws-text-to-sql/architecture.png b/src/patterns/gen-ai/aws-text-to-sql/architecture.png index d6138fbcf950f869dcc4282ecb96d38dbdcbef3b..fb67fee01c1a90068b2b0a9838097d189b28714e 100644 GIT binary patch literal 1189603 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�@qo+Cdj6~O`* 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

7g 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 Re&@q$BHMc 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 Cma*VApE}u=F(WPT^ljh1^lPFQ@j0z0}}(kjS#u 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

}C)< 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 z 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�@D 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

xr-?5#;9tX#SmW;Z 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%0ATyJkqNl*&bXPh<;6pg!80MIzt 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

h%ewzcVM;pJ3_6I!z}R5Mc0qi=I4 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 KzsX8}p8FqSgCdRq literal 613121 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 z z;$nwbfrNL~m^o@eXPz$fGkKu^AzH!Ik1b}vHdikEFT;;7c<=nShpii}@B9hlPc6Xi z(@1K&I(38c2j;yG&%q#0J(#DRj!7dASj)8wW+xF(iEIiYVeqpf$+dhz8`j{{p86Ot z-g_6BxWvMZC>#6J|NYVbDaYXj_$D6Rw}#&{Te<4d8Uk|}5pjtr@7CE~+5SlVs}fR}M$%zEmDBFN4_NTv2VJVN=_ zBP8X75Q7g8{-f*)Dg8wZ_$7PsERx#`a|I#cfrUr+kaS-=VdR@hk_>K>Za`R>ug1>C zTdp6l4$i#AfO7Qum}AfxlzM-BwP zSQXMqo_x2ZfG_mu{^bj&!BE~u=7>Fj$2UE8DdrPY-Hj($0|6<4{r0U9s-lBa@p(lJ zHA;zs+Q{mXmQGWT-_pc&$^3REQ&y|0)}uA$=%rCZ9ewktmI3dLQRkjaMXIfz>7j8( zrLf1nU6M$IF@&q;-c-d6n9#ce4kk&#n7_n3So9KYJe&UI5hacR?j~^vvXF~5TKuc` z(&}t;qYH`E{f9g-PX^}x>EmScU6&7QfQ()!6Bs{AD&~XifRFeKz`X~!Q>$7a_*w5% zvJm6%4ezw2>tJDx4E(R1N3FwZ4Lg%bR?XLP1BJ%YFcCZ**3C%Zd%_yD7j=x#;>ilj zYbnbWJval0cK2X!a)i^bA!*wgl^nG}Vi)B+_t!$d;x3n{UMSuGIQD%zbyU%ly%U4=fyUy44T3Y?$p~f|Wn0rUV zJT}GuU#AGuXJQamPEje zo5HnlI>~FOTqphW9y9IlTaJzk7L+cJ%`SR&iq0-VOF+Ge$&!fWa`}K;5v(hZ z-@p`Z;$V`1W z!|_~&rYxytHB5YoWWrs4Whepm$PY1gFr~@S%zQN;J$Pn0S{K}(fp|sAdTIZomq|x` zP88A|Dz~Cqzy16BNAu~nDEldttlRf(kkmF<`ZYUuA?pdVN&?G(iF-j-9WXg2So0SS zm@bnTCoH=YkN~-;YwCXY^ zJ`T?}uB`~_SYj%D(4R|?vDp^I?k=EwF{DKG)fKvV;l4*b8S+VM-wEJHPcn<&eqa59 zbv~eRzcgS_*@w`$q;^*iGeO+a&w^IrZ2F0QI~UJEKrlsmv>^tssGPOuM3M44Bl>6P z+qTAEUmy|#Uw*Ri+$%#*nVzYF%y`HM`(gj0=>$#!%hnN;ewa8Z2pRLy&@8vh;;20u zv!D@^dN;?x5_82V$(DsY-J<9xX9Qb#4HLqWlerfLieeh~FzicP{9`V6Q7pNz&o>+- zNDj#Nk0d+iBlCW8nBfYW5D(+>2ik*W_an&JbvROmT}k20T?o{^726qVrVUrxnYsua zv68{jS895m^4XZ7q>4@-{hZ_$xtk^Wxk~aI+g8E|@lH}iuHusZ59F$z--SuFkj(Ms z+wFxq^ROSXni>09$As7WG<&jCld~^$14y%j`6d%b=elR zqC5joX$woOQ6GaRv+1lPaB}FHSkOyVJc9K?D#Fh|I$d!*xD}I9#|6|fHsV>oELPx0h5re!?x7efn64^^7@(@9v>*`6jHl2+3Tn+xfI%PP;M6hHbQlcSmS zatD?Lst>^KKz|PX62>_zVCU@!Im-3`-jGQ@Y9(-OF67EFct6`que;?ZUU<+tvI+NCXA9vcha!0J>~geManSEc ze|#!Mp5D`9Yi%A;pfFzC8|rPbuPvmHDbNl`W9%h|a-+X^XQjoKnI(%^Btb8_`!lq^ zh;{SJi}oE?n_FND``J1B{#@;dy1Kfj>2GU))xxr?9O3Q7QuRQ|ho%i4)fb#c9@&;Y z5?%tW3qQ~IparI{(Kq+yYAfm#8nMFWUsXYG3q*M@;gDZ{R*^|LbM}R(@NNPh0sm2% zOd{v)5~n?oMa+~QkDw>4xxNm<3)`ryopBFaeedz0xufs^h#@hA;5QuMT@4z^sO78PQ+IAPg63aoTrk>V8^xD;aS zrI4(5UYxmc(eJedg&b`kF50s_8=Y!vp~EGC^ZaHq?Tz@}vx#G3(H+4cba6+<+rJ$e zlfz2^V3P)bsF7O}^dbddV^*G##sb@foDUh3(;3nh4qqdZIl8VGYkgUTBqQe1CQjWh zz8p}>+b4=oGHqHzA0Cg(%0%RPSAk)r!ux>J<{R2y+B0jhUHY{X_pHAtU;UFW zbDHm?s>8*(K&JG$Dn%Dmuulh59QE^+#0Ao0OPjBMU78*Kr?6?uyKdPi6L6>hi^4!~@N znxm{emac&oza65FERQDGxao}e9!c-cYOuN@=sACG?IdHEBJQS1v|_>M8nC*DDi8l5 zZUI`~&f#q$auu|m3^e87l7vC)TN$ogQo#`=!_Sjj)=uf75m80;dvE*dx1*({B8_>Mgm>F(rXyB;)EWRBYzdiIjR{H^*?b6#rNce9|44iC!veMH#gcZ9#>?|P zW%qltJ-URJg=0lMYnBJ@1i-NlD*C*Wc|3eI*YVFE^Jw8pf_wL?AaV$=tHc=Aj@(Oq zLDx_8-1O%>l(-%NSj~LSb~n_2c#{?UZX!aH_+qKw1Zo+fT|u%3Z@DQB_d-LVnp9Q_QpWP&q}xqqoByT=OWn9H>UsG1@>(+LXPYfKSs?s z?l6j@##G}vLJn*v3bFYY5SxD+RHK_=t}!v2{(D`r`Yf4^2xtFn99E*5FSz|oU4`Yl z(vHbsJQV#;Qjq@AcsV=z@cn5XuN{}>Wx6li#x+{!uicv%E?1|@O9&OT`&Rt6(&`EW z$kHNKmQHUB+lj6FI&Oq5+TH)^gZoa^XTxrD_!Zw{1a;s3ya+7pxzjCHIa+GuCa4Wx zm|y-kfPx>x2pS?Z%sHT_j1nDiKeC{ToXdUsreKXY@iiXC331v}^!4#9XbF;^zvAeI z+n1+j(&S9#@|0qER-0+OrBc~hSi(q|6kOiU&3}VkxvI7`bFW`D-*f|)vw7N&kn3TT zW!)3v-3GJPaP>esoW147{Y%SQUhp|#lDI6^QvBDYM=s3oxHg32H!AZP;a^O;r;)PuAon}@bHA^gQYocf_)UiJ1~w0_z%+}DLd-$ z32uBTp^yKs}Xqe+ zX?@dtDIOgpj}pEAw8ID2-VYHGi`PN%WTQz@r&y1UHPYGW>9nIjWlz*PfXWsR2WB$( zrXVD@+u-T+e=q@v^{1g6t2piOnWZPN+EJe$u@Csffd4psXE_v9NLzGJm%a-yx@AQc z^tcMAHcad~mK3yS3N|y4h-UnKrdxon0sWsit6WujZG@ zjbFo5j`fHUi{rD(Fsinfk2>Zk5$VpG+DU!gT8_;$NeK)Y7Z|d%;Rt%$Dh$6>gdwiW z{)~?Mti8=Se^GaXGT&hS@%=;Jub6aK{JAU;Pm= z$5HYj%RIt=CM22+w?sXIn?IvqBGkA|$9K#iM(?JG8D{6|8m_mcAqdO2JFo&g8e*@) zxm$>u(z^?iGGgA`ZAMD})6Foj2)z}&l4)?KRddf~D}IjSOJ5aF)XmpJX*CGPf@Ly7 z1f`N$dgS4{-Pg;NASj;;{&e;a8Kif2C5wsas+(!opGy?Yiwp5*@_mj7i%jua+JOx? z{532B9F1wSQcKTFz+X?Y60C^`yNJ+>mri$B-z(A%OJR({etsUKtiWhwa9fXp+Y8kU zuSoccISeb5;vnAh^{vH+AQJo8L}wY}QsBX>5O$LfCS@Y!B0K=gHTBuK-Yn(>W>rSG zXBu#rzSt;`@OyYB@U>mUsq=QoDsXu7`fJM!@y}skzacCo6`eq6%axn`BE$_47lZSa zE6IO2e%hlXsWhK#!(IRnx4fJ8rUQAQFn{E^-^tuXNlMekOJVdhwko(HN_cM8#&?om zjz!FGNa$aSHRJuOd?3SNw$rxesa^Bb>}(#(=H{>xjVBs)&FU-1<%_&Kka>o=0bn?8-ph0THh)w&-^@3nN^euHKVV?$^wh5n2p_Hh4NVa8iv zhM#-VQv=v{ebTubD-W&*Eg=D@ssD>l^nuUBD}vBbSsSQu<^k4shzj5Yi!Ks4o;X$; zDdv_mp?aMWC|&{Xx#_ZAm5>J|U(#jUC*D5k9eYkZVh3oGy`U0*U74$PvE*qxk44AX zb3A5peXv`UD-v=4{+BP4`TF@ynz3k$$C#B0PH;Ga5uYM$%H`6(*D}JhZ1o2 z20p8==cb#+DD9j(XI&B6l(hRlu&UteIn`m)s_K3@E^?e~DGw>-Go zX3%_$T7!@S6Y-z+817`XBw>VGCSWy~9W?ll!&f$bM1x;AopI*`0b1lVD)Ry*aJT6^ zAMyX!(n?UymFk~Wb8#Wg9arqamO1yt8}zCT8uYfx z^9|Mt1ixo9%*&4o2DbVeccE&^iP~>GHLmrFu{2GhvufB?aa!z%skNi#plFYY$uf1( z{?jTt_bs*Hg2wJdWTeAxK(g7NI{(5o(c+tU)hUXyUuJ(XZ?{fUIY)#uDP{|gxmXrj zkL;9Q6P}m5|D`T?!NZmI9|4}i0THO~Zkx+j!yHn5{kXBiaxi!%xXZz;&U9+$7d9ZinCR@zc6xJTIiDZU!Bg-k9X*|)TE(iXHIsxsqpOjM*T+Sa#OtV ztnos(q}d*IS9`(+Wjo(7JM~#k!_5G#e6=dF*^l+x?al3CF-b9xBZdRcJWS*!0`NX$ z8oovd$DlG0@NmqKqiMKq{sJN0v|#|hC(TNW)dZwygXle5BNpVQ=RBX4-Q4@>>L;eO zPy8@^?#Z`87Cvc=_t2Rh*Y){+2nc%xd+1f$o9oxRm0x(=EkWS8hUgd=ZnOQ}jTp@O zf?_O>`JI_HBqJ$JWlZjHPkk7tnZJh?^&&g!*eU1{xC1wASGC_@x*M1iiv zs?r{d{=6Z!!=h`%FLizARhELz?nG|SOk~7VHp4>RI1GSsr}$-@)y}=d_C9bl3}rB7 zGsKaVq+eBQp7`FX)pfQ^mlTsE;+<)n!EIRaJd#`Y`sF|aKC6~BRS_kWC_}wJ6#&@5 zNwzovgqGCfIh5{@&pDKi>RTayAtwY>sOMz@6{9Z;js$rj-51H%{A5gSvoGV7>sWeZ zEAK9k)tkd!XLXuC3j?Z`yf$xlG4#X6=M0FbBfgezM}M8GLoDQ$BH6Utt`|YzMX}O$ zlu=AfY<|0TsYcPZeqE<)pqYSWn;}$~)RAlc#{Hg*r>j5YLGC9nBmS5t>-T`##!{!r z%b?mLzo;vQuAcP#X3)2fxguD*vEPVba7@7f-xIUnCz7*I2|8PIJC6vf zwMD(4{NO!SqFwXnCwu&Ls^eQOJE^Fi3di;j+;J1JAu(PY^@SJnJCpc!?{DcQzVGY8 zzv+i}R4%aZhMvO3hvI&^L7s8vP z!a;vyCA6}L6Zj>dYxRLVUe3d2&!Qd*7t?8Ja6p3T1?>qZ)G&7-CLVdQcz)-iadglBbBw#PV zFf0u6~<`*qng8V1T9^t0XX%SJ7Z*7DD5^}PYf zG%5Y@8_rfh9B~sFG(UXyRq0|20AF{!`?^gw+b0%u>VwWQtpMQmez8<^zRwZY{Zo9? z2F|NH7=6n!RG{qmq{|C^2dcL9C$^g7m3G4lmtWQo|M>=yMMZ**s5AL2K|@PS5;vL~ zoufJQ-~B1W3lWPH-3`cH7ERcQ)50 z3{&r6E_e7*xfiuQex4K#_B1tzT)iG z*C^X*TBdbrZ<&0{V|oB3{NSQn5V|_Q*2qI*mc@5B-JBhUSbtLdcyii&=vPtu#)teY&GgmFj{QJCj3#TQaF*=mR3J?2&sy-Tf*ZTyIONjOZw7n zCtbb1M|8C)_Kt@c*Pc9u`aArf53kRZ^B(xl##dJhqzVO-T@~H zqXgcQiO0)*6XzwaA7jq2{8tIGw@*f*7Sp!U>m=-c(DEwF4(jCV(S45RkAYz_Qe1)i zK1lE*!F{Q^Fa%=UMfC5y0j&$Wt`c1k^{5gLmt*|=>Z)Xo)34mUyNX%h3Acb-%<+P{ zcKD0{YGL&P;;UnEW|!r=g|oNCoI^b5!ieoY?Ld&nIJ{KN}%R6=)8nj>| zYSISd^ZfQzj|CSVGX?OAR%Z*pbeL(_OVDC5Rf#KS-KqSN6Z#@5LRDB|w~p6422CSu zMCrW}Y_q3FTvR;(n^7CV37=zAz9%k)fhNi9rGNTWeZv-s0x!O4ZUbAIuCf4? zdIqPCq$U9Y^}$_45Q zCyecoOz%XVnav9^>0i5Z&glmq0mZG>!1k%thJBscBzq0bYIC{U=(T0?a#V&eRoFqHAliFoWdnzlG?##|6t8FBlc%deklQp7U4`nZF?wn!NvM&F>-?N$}p2 zP_d}Vjpy3qpFJk!S+(bn2-N8)55D0Y*U8|=^Oi~wo9*b$w9kCTW4X7z+MTW{Js%$= zx8EdE+489Q(vOyW>sTIpwI~JYd1}>+ee?F~_rDY>X6!ld%*xz%L6d}6J}MR7efQYa z++wnkkf`c)%&Dr^51YR*XEo5Ke-g>{@|qYk%>2yCoWruq-k`@M85kOQT5LxC3Bw+f zT^(9Ak?etW(!XiceI!)$qS%#n90{hLX5xk5K0sEGGz9Jb5Fx?TlpwUu+ZyoS{O+NZ z#t6Q(&P&)p!jf?I9OQf=(q9THc(sv+!x*oE9N^M&D@tPtx zM`UF^qg45FPkK?lQMt@~e*tHa$bMBMNR}Ms=3c;U=N6b}nkBk@Z|_u&(OeS?szG|~ zGSBoEY~rWIHJ!#y=~Dbo0%nxFi;81U4TGl672W^-L|>yui*cX&rl=zH#_9-*X(c6vJJ=L!`pofEi3O?OeKY~AQ>opStiA8&2m z+R`~uDXv8~6_l{WXJeKDq8eq-y`7BTJ&R92so$yI>kuaS?zvCL&?g%t7utfBGm*mZ zkHxYdv#ZfeRJ8=ZUd=QSV1>xB`<^GCb%C)av}ga(36!MNz5FUoJ9IubS@!jMnaJjYqL+4mnV- z;T|$x#GI3Z>lI7iwQv~-g(nZ%g$qk5U>#=yOSR0$WAd~xW{0y!G9^&X?y^j}YD3PG z^HE9k^$x?79iV1`I#rOi7N9+@m6cfwMyYH>ig$p_||evRgG zV%2HQcuDM=UrH$K<&&xVT%Ae;MNJzgnFZ>5ndV=i7y{bxj0I(a(aT+4(q{_)sP;Kt zsN5;#&UEiu2$@=t&Pd*z>g92|dAkYK-##NPT{l4S%keX<{?1!wf?)KRz4in59bdA%) zDLtuDv2t?1D@sxlqVMa;Ni%q~O*q9)&;q{986U~$c* zRt}>wTSGAyQ?PlHYq6i({h-R)XtH zYzYW7eKoiv#+*l3Aog&wu!93!oOg1FJCUdH;q+Z@%S3yBpioBl=Wg})p7-B_66+W! zI>F5g<4{&1x%C*6@W58*x)dbQDAPXeH0CDs)>nGeTNLyOqKRX9f1Df6{$)|X4Zxz0 z`C`BRB{y`oCBK@`d_vhdcU&w^Op;Akuoyq1OV^7N7>;(b*u&+5o~=dRG-(Wxh5Vex zUI;p@jah6>LkZQe_EERBP1_2Gp~riDo!@>*T9*yTLBEQ0L}=7YJCElVO!6$I!XV0L zsN=Q!;sL{se%Vxdi*u01ekZ$Tri|lpK7#SYj`N4vG4UJV+!0#V2Gr}2&%GaemrsMh z1@2SGCmp?yPsw0OV5X5@K~`Vs7&~QU=2RQB0bX9a%VW1J`_w%zrdt1#UhNo@b_LYf z#W#=#*Xz9T2@{b`V>-{$06Bw9|ydVIm(H3 zd1x>O-fBsS<_#F<)k$)94Pcvjk{-}5V41X}H?>af72YdkoYo*#piSudeNz37!Ya42 zr&QcETfM0rOOphy%1{qA&%)5F3}xOZdeq(=l}VJ4j7Uadt=nK7eF*N!lYd&id>+nO zenN`!vfSem*o!RHj^(^hV{wpSJb%~3)156ILtQ?^~eg4|RqGwz?!F7w90_p-AhTbQ7#~ zJ2pltDm`MkW?$$stY|xz z$Q^~m66a6oMzxa3D(-ssv)c1CGfj@n+{cfdP6Zx+v^gZeMS&wg+Uboqk z{%z3kQ<>EyUyr=EwX1<+<9SkwsNw1oyGH6w*ZVGaQZEqg-8;b>OL#nB)a8W{FlXn) zC$j$}f5iik@WsPpE2{)hCzVWm{g7ZzM1hQ(1pjs+U5OEY4FQaMb6&FP0~w2HjSI`P z%Tyft%whAIv3Cg2Rkm!DB($cr3l?{d`dTQW#tgZ)AuN&k=*OqkUzPqOLHPtXJ&^*; zG56&tsGlPA+F+1)HC|y8|NK0%$74leu-3WArUJs(QC*_jO7Kr+o6TdPwnqFVHqtu* zV7_?#mZPLJfO&QtZ*f%Ws|(*=-+p@m|B9eUEhLIhAjdB&qZ}!*Tcad%|{qaz@l% zRIHtB+i{cK?LW_Ugt#bAoI2}NYq06#e@d_0r>|Vrv|LCWVeqOV_KjM3ZfY5}rL&yj z3wxe<7*BBUGpB=@U4GFcgzT@Y#)J52NWM%SJmq9Y@uY(qiiwwSB}+GcvyjSB_$mdX zo$TG&+P}+81au@p-A(w=uACl+T8a5ZrqX7`90Mtzg`s|tsQkPA{mMcg?nYUS??V|h zk68;b1<4qzL|WiOZ>XhK*jO4h2k%)GpKOnJ{xko0B(x#v5tGpH)N9TUmS#QEGKH|_ z)54Dt*rx-;r%4HFclX0Bi2=Z0w5hdb0f)^}lKsu|H~0@p@S!9MHy(-2jf%EL+Wxd* znC>4K5001Kt|%~@`t?5Jj{hp^uJ^7@ZNgxA7LdF=O#au@K)KPOaiZN4;$c;yfuto;?R0D1$V7!-BT9n;W&GqB70K91E!kYz zGB@J}m+tZ#M6M|+9(qEVzGtNaUv49i)9IE|Y1fJbvA(xI%7mJcRl&TUz1+|k%f z)>fHAs=gs1mLs;lFc1SJT&;A07wFB~BGtXai03YOLuS?ta#Bc86)F2QgIb&t2(rG~ zl1!ixe4LG59ye8p=7`nvccDbA($0R6GdN$hN2QI%C>g`*!S}MT8^)`jA`g2qc9SF7 z5RAieG&xugG!o#$#AdBM3wvWnvz}tTd9|p;oX&FmcQW;Kox{*DB?0Mf_asA9w~ex8 zrI@mGuIwej&xXZPusTp|et=snfiv^W4chrKiezu5SyQh9j5WmjTPMpO5Pmq$X`y)nk{am;D4R*}1x@e6avGFE*D)}xz~ z+;ouG2T-a&pjM7XBWsjgsJs*8(cAv5WEpe6Uwlt`a;yWxWr}_c;ghPnmZ9u+YVUR^ zVw_?OkDJo8=B3;UeZIeJwzaI;McLXYyU}UCs~saNo!BhVRd>VKmS!u(#`yG z+C;gFxpn_UaG~Z>92Ab&z}FmRJJHwc-Z@l8S~?^!^7I8W%Eu0uhp8u?;)=Q3IGaTT zN;h^ahePmAJ(a$wjtTLcW}@1LQtO%p6frOl^gu0dJbJ!gam;Oj6QbX$_OY(QwNk;P z_CxoxS{=GXn4z%Yx65@RW<-4fiY8;tsX!pXQh z%uO3S`?1G4Wu+v?(QDi#w!5L>F_rRX1Tt#+irigD?hhA^AeF*(%3|$tc8w9HUW06o z4`?p0?`s>Lf%qA5|H$^nc&<@ctE1K*UO`i~g|BvD@h6PA>$w*$1=+{>H{tkd=QV1F zP=h-zuV8X0cap`(1G8xQcTaFWRAnsm%`ZPzPFl zxo229bAV(Li<7PPL0(mR-fU@j0%#?euH&P=S%48o0IS^q0-PM_RyEdqc z^88!}MZ`UC?#d$NTp19VZV5}Aa+{h!Vj)h;i2jFbS`i2IB_XAj5JqggcCTB! zUh$G+pZeAIPtpwM>;x%&aLK{KzF{yU^Zn}pNsCTryylto70NUkEScYU5$_e0K&<^%BaIj-NY$Q9siI8b;>cBSvK&HRt=0jaKkm)dlOk0yvvS#6D zNM;1qy~K?jiCb;%Ak#EcJ>ikpar(@8xTpV|+-`bEx&pVo6?4riQD&|9DdoI5C zf9QJiXsF-*4>%ebDaJO)HpVWy>^p;@>}1~+rO3Wy$(FH%kwik6PzTHZ5XsftT(Ci|=E`dJ&|4D_gDH+Fj^ z2fA@Ok6i%1Tz%s+{AeLrMbWm@cNOnFs79`nE$@dj$W_)=6}VoSQKT3sMqEW8Cvk7V zHEl$jV!KjRD~Zgf>-SxpZ%v)=7=Ln`sL>^MF^SrW)Ynw(iWcmEzlNS6ijo2A`O)pN9;pMrvUf{rAUT?BCE4i*G?K#7m=5%D71kmlz zm5v`>0O7pm=n<2+y6`>B6F~laTIj&bokG0gJTb|9t`Azy(&eN8n{h2$=C+Wi<3Fjn z(jKXLS>bUZKc*g2GsIobjmY0k{r5J8gDQNSry2`N!#j7R(g9)T0i>FEoh`@RguIKP zIAh%V$6cFqYBTyphMwl-fvmmggQds^kv!|BPv$9B0QDn|cJB-GqnW!3E5W#GVSap( z|IY`isen6d3gGAeepVYz(;>&{l46^ z*ia2*bbMCluHLxU{;qJD)CBm=2tA2P%T6*PhE7g(k+B zncH~9++{okTId`7&*jz{sMzHBGrzbWgVOTG@&4*s(3j@$a5>O$ZoEn3_p3i!;X7bP zJOP45W3cOGg22tf0rIEL_ss4d4DTu6eKaV)0~skE6klUqMGGxN;i(;vku%5ztqkU^ zrD7z0Z8dD`f?Ic%Q7`Dn#)K}f$9QGlbH7o`RaKY!k4$HpnM>$JpTkK#@&~iXbYju= zCD(Lh57(H(~c1u`xIUSb)6>k~vsQ(w~O|MLA(Q?58H4z5nF`yA3%rw32x3;@>(7f6_oD2H6!a5=>r5$Lw65R)BNYxvI>!$Ygu#0G9~^pU=6)f z1axWL{cP#GR-K=g#!lDA0#n6djg@?)ahQ)5ObK3e4LWT8x_>b*>H85`Fh9Z^nht+Koo+K$ByUBe|Gr`$6hvAEjxGGlilVab71K|2IrD)>| zW$OGZPp^@k?5}beC>^AMIUT^{L&EaquPN}ZpsPqsr$5TVAWTZk*bzUeTp?OwmG%rH5ATXz}rgIY^f2Fhirb0@n3`*}#R1z!<_AyKwCmTRy9cenpQC zu4|9>kPVs8d@yQVUVZv4mSb_}Bei+g{D%jIN)9b&CNCUGpKzX|BFrk<0B1ws4xXlZeR2M+CUPvfLkWsJ4gYguUkB6>w#nz;-0VyJ zu{qhGJQF-eOkRl6s$-@hHcm1(FWGO`&ic+XnA;GUO**=`T&4RpzAJ;A-<|G>#O+%^ zcYmL3m&BYUs?^uSb3=b*66GRm%LvRqtg$znM5Jz!Ho`4!mEIR?M>zyUUDGD{7292n zLY6c#a2iZfFyDE_$LS)rR*O5~r|b5+AbM#k$0q&;OkPbkz}9ZoL@6asZa41ft6wB} zMUB0K9enCHO-HkOAPETq#jh^ld#4y?{*vvXUls2R!lF)VKX3$rTqDsb|FFWWxU-z= zm2NO2=VG$0xf4&*2}ROSgH*@lNY68lPS!rn@I!FCDg6^I-g{&Nc971dazu<+t!Gqa zi>TQ~U&v#I=&A&=r2vPUTW%ylzd?`0j8Y4Lt*=Dl0;qc_x*o9XoCic7Fj)g2x zmYc7RlsvsVR2c{x$ODY(SKUh%u!r8h>!W&?r0*2>x2ku6h9l*tmnVbk70n`Gy#2fQ z;^b{CmD0Z9yBEv}J*CbdK*{=pL}%1-`4>T|$t)*KGs6-7tLix5 zB~WseC_`o}&=J!3hVI6rrL1@!{K`kW}_^RL$w-3yMT9ERizRA8&O-l9y8Ccdq%2YQEwGNPBCs+0a4utHnQ z^9T-i(bZ31=S**8yV~iWx=lw@+b5w4Pv-eDX*(tgzkc&NR@rXi-iM&1tc5=JuW=_o zmEk5$XIeeHG>~_{4SPoN;@x}Ng|S-P)kR^F{ zGP@Qlb|x|x;B?&E-bkvb*lT`25KQGm5^K^)?;jJcB~Eu{8ZG0J^(l~rN%#%TuN|bM zLcih|v&RguVW1bJtGh4ZiRPBS(tguM`%vXQQmH&f?hEKk(8kfSRfwwZYrZyqsY~+> zziNZBdU)^AZ`@1My>YMvD~ihTI0r!FB*dpwZ#T^}UyooX`*>oLpHMJudO=+x+JSrH z*Mn^H=c#p3bYbUQh5PF3;7JjQB>`QjSv*E}_7JrLIqTJ!$Xq`KB2q zh!4L|Dk`#lsxfGfpJM8KcVD@D_s8;3UW1%cmw?1grXrvV^!Uti$e%;k-E}SShYj#6 zplO{AmN;fy+yUed)CY-zZ0qDM*<=E1k3LRYZewQeUI=k8&(>5O)?KY-d%EGh71KuA z4tp$_8z`KTSRwH{0D4e4nqdk?I?@>Fno`FAY*A18nD!RmX&oeJ6uo)$x z8QdJ?9QK0o>#dpEC7@+BRhW}AE7JE(fhcnAC`ayE@`P8&cvdGEG}m~>CgCI zc2Lmy=`o;vy4n8If;3oOGq^;Ns+Hr0kFGv4q;W4Lm+h*}PCzXHxDIsg|nt9g~!vR*TD zEc+gL3Ua(vt9zQK_nP6Nc2j0v_Y}Y8smGkxOmam9n?ohN4XgJgDv;%4x@*fc{nlXS zW4v+c7f`h=5{rT6dCQj_zNn;f06Q(p3h#W2GEhE3>3E}I<5&PaDluSL2y%;Z(A05? z&Z!8})1SZx%E);f7)CvL0j02|jF4qabz2`TGmCa;*avB6v8Dy)PAM0a4B$C@0<)Ni z^XLFkS|j^hD?N>m{r$~%#npam!#bTwY%FFftjW7hYHXjPp#3nRs>(B@68Z97x;^px z8I-C_C|r0SX*GBLA1+S?tjf^JV8-$TIu}=N)I+UBM@(tPA5~M$2IOjSo8Gf4SVsF0 zqn<&Ss^9I&nzHyyWn8GN#7eg{5YNmh8+xOCV5e5vay8zeAc6W0s*j{Kx)eFil>Ct6 zus9w(m%PlUglK=%;)*HH`@@QC)r!w)x3TOA=t{|p$C6(e5A^`;Hvyrx=(b@Pu?*W1 zn5xL|dBH~0H+fg0iy6HyZ1ooNJU&~zQq~EOU5$2S{FByz7s=#Rmp-qs_!fVp5?uNs zvjmFJ()3WA)tR$X0=kp(LXR**!3w8#{uU4aR)r>;mxK2@cwnF_Ow=hmVNo4zz&z%< zv+S0*aD_%?Ip7`2Qyr}mm=1RUmoq~e-nElskM*XLRH zIYN?@F~4z-v(d@h_kv+p!md~L4xZmVv?iry1w5`=Lx~TYy{{ZKx(tdHqTvhh5 zHia!7)>tSZaAqoGukZF9%{Cu$^`>kvNR-7BnxlbsV-W&&^faQG1CFc-Ud%Md$?|Lb zQV;ps?t^=ebt4p0FF^ns;`)MUr=!A5)u%YQZ2;U?$XW+=mE?Xo1YjAzT#h#B7NE}r zbjAG(6#?CfGZfqg;8gBj$kaFnr_w;h#|}#jB;Ki@j+UF)D1B=HDIGHCyEA?M06gLK zcl}E-JJ%ul*wyLufz=Sc%$f3DkBaZ_j(*XudQAr=P;PLC$dG=pEOLQswmU!8L!N@N zm`goFDw2yEORR5tm@r>4{4qdzW=`4z>dFc+)rT7GT2L35A|hgrsr#O}t=|**b2J__ zp+2BKHKIkJMAA6uiyFVn06+Po<#Wji(0KZS|&5pYAfe4FIV;v-PT z5t*ioASKIH1j(`lkeM)?vf=r5r3wyn0LrWTGo}(WEl!JhV`QV`3v%S0iXWqst2w;| zqOW!HrdZxn!eoJ%^a$FPa=!)E#l?yD0=fb&X)Xp8~zFj`+%#B7?@Q*O0bvA7d|9kr^|?HCC!M3Q^2JpT_%yx*ds; zO=(8F$)Kp_Op0B}|IT&V^t3*&`GEj(OPy6Sa_(W+IZHCySul9-#$q>i7o3;Z+e0$I zNa`L@dYj6{>6HIRRp<(%WytBlnC`D2fNGfC&uh+S+p1p|@w+Ig7L5AykbZxyq~bi% zd!Ah_HxdQ$q8Uqkf>2Ydk93KJ+)OEbTbhP$Xs8qIli*C12owPmk_pkM^LZ3Q*Evs- z#-ca@?(VlM_vhlnpkY=hlu9iyA6l&ZNR{wf0-iD#7M+niP2&6KVah|VmP=&}vl3 zN5V>8Uj0R6W|b_T>y*QU%b%}LLX}m-5$F#|I-!`<6n9Q4r^dmBTHB-gfNge~XM`r^ zTTDj|&pX6N>D_6beQ}~&%ws&G8XbM7f@}5blZ!M_dYLQ>Or5;lUxP2S1igZ<8r@9$ z7{`?p>c%2z<%Jx|0=N~QwoWAabCiT$!~O<>OG8S&-k95Q zJDn#~OTW-J+k<{l@$wgh9ae^UnqO}$Sk=7ek&|t=Wv;^bGO!L5fU7bcKM`XdP%TCECX^HvaaW8PT zvcVl=STD}h=Mow5w0$$5dY{R_5vs#uI)^lvWmx;hSF(ijPC8TaP9K6q+8col7w_k zF*~s??6Du>V|36rarZHYFsCX9a#E4}{&lamsp$?u{K9c9N7XoaLz-%hCdy_?rqK7+ zD2KXiw6YMQ?F|EkGdKLnw~0tLgqVlAH>wTE-CfAfvQcQ?)BycdfPl~R}5@C_lsO1f2X?V+~IaJqT9jT>FLsI4~^ zhn_+acJ`NTkxd>dO@<_t%6-`ogkwPkSLVD}*cejj_#*snogU^~IperxMbTc%Y5uZL zu*jzLpBL;;1;35yYA&IsbcOz<~OCE02=hm9LrI0OM7Zc3PZ-;NkdN)T-SX>rwX@F zNXto7(hNt%-5mh_7Hll#r=fz@55@UrmZTQq_5(dzJh;#nwTZvo-fKL|s+VW`xU%0f zxKPLKV1P*6zH#TT5a&N`Z%!yu?K&loLp z&a3%~n7vM;wSF6T@rVSEKnf$*INR0OZZKf)aqb~+IkKr}97nNw4;yI<)KTN#!*K*9 zq!Cw}%px_4deoTpQzA4K_5~rZy8hyW{8}vsQYqRljcuNyJPN(w5OJ*WTP+e5yYeu_ z#W1{k7Pbj{MTUjPS(AT6gj_r#`>tiW06@#)UtV`HKyNW( zLd)aA(%1S3?O8*epR7^Z>Q@1TN0{CmK%sr-QHY@Sck>)(-hG!ef8iDEfLs*yTieuG zD5vERBXmBfPY|yW9eDvH=bB8X)J{mahANYK+Es3oXW}=Qx@%Ji_o$9l{4c9U7DKM< zQ-rb^d2zleP+4GCZx4am*-ZpCi5l_ls5PtRW=Y(LuOIN5o&V6)M$4^$wF^%|_pcRcAG$?{}NQd^nGsBB-|b zO3>7G%x%x@9L~OCIt-M?iJfQZ>HTahj4v=yW$$W=KcQNXfM`!q*7Bu@dA!(OgEsxV zFci*N@4PWYSqiY7U@Su?Ob8}Hw^alewkl5U?clnOwYwU9d_;4Zw&|Ux#$spN6&%R# zUM-W;LOiB&(M+F96`C@J9_y*$=~oF;Lj%GxhiL-%E(LaHzWg7^Oy@>F?8Of<9jIxo zI8Y_xQH?nmf4S3QK2C=5#S2BI1@WgH&q>39bD4sjIM=KK=rp=T9Z{s(8M^n; zJ2Q9kHmRO#FecV7Z0G7`>Oa#ccm1*z{m~K0lDI6N-{5CXAF7mS8(hS$fSsxTf>9or z!nW4CG3^N?Hd}$Dqn$(>%8d7aocJs6ANFS2vfK z$_DhJWpH6l8U6Kv*O%S329tU4&QukQ_<7q43(3siX7931vp;>^A?Q&tuz*HfgR}t- zW#JD;+kbbwh`(Qnjd>;IQzQbUd_`rJCd8(1H$P|~NW|wdQd2|(f=cDKRm?F;(_M1F zVz{jl`OS2_O3rkm`S*BY%omekL#_n+wza_c6;vL}{-8DU5^0?Vw% z{=-FEfI*LN7oyG(81qZ?iSQ4tJfe0w^l)16yl86DFl8pQx^$`ly&5C}<;g4jI)kQO z4`he2N$~hRWdPJ*5EpxHb*FG*H()Q#KMTP6ISaY+%3+xZBeljc(&rq=Q}Hg=0$Eij z6w3B7jmsq)I($V^C$v+x|I(A|3F>a-7}1+oEKw2BXUc=rowU+ETYEN{^=QCa_2lji zVf)NxI?S=pfUoe+X@|Q@)|s)c_?{s8(`+XX4-6o z=``)WuzW830xKGuVmDY+HK@S{)r4&irH>EIfi%<1epT7&QDyS>+XwOJw1uwZWVy6k z0*sqvx32P4+-aP7dedHv5j%GbOYpL{o@7)IQe|z+i1?jXP%_Ud_K-grcR~pff#!@8 zNT&L50sIe2<7-fOV|oi!Br4i8+jrP3g!~)(A!&Q~^W+X1Mq6KOJZn;P{Vh&;-d_(w zn6Eo>4Fy@sqk^aZ43d5LwR^QSuuSuc&jl@&c6Dyt^>gilmmU5$`-OO8C5dJzU*BD$9SPY>a|q6F?9PURlkwvMO6aG8sKuElcydhhUmSMGOkUC)? zrP7(~YsUt4)z=tgsF6I_sO;v1Y`-GDkl4B_wHh8t#3(P+ui1R>@%~i5P4V|7MWOjN z1*#rG^|LaW9OPR!RNuzVgeW_CBv$d-fy~B> z9dJoh`R$Z{+6^%G1>uxMX=VZgT225^r|!_2EtRCAwB+5`C7iE=gHkkD`t0a<>(Pci*MPARCrGvbl&Y z?ra7MQ>h8Y+HCRqtqiK^RLfryTolF-3h6zUqE-^Qw38C!oj{w;ou((z-*c&e$0nq( zVEuO0MWgTLp!seVV&d^Y@oc6MAM^(7WW$9L6%xG&!c?6P z7mXI^|5{hE2Ym*6c=1v zun=l&lho8kXwSyFxH6J4b~$sN_Xl%illBlS>eXWc)5s>fL72NDe&D)~TCyE%xWrua z-Q)PDF7f*oE0NjK&uRU42PLX*Ud*IXe`AZs%e8x(#=y4CJPw0}MZ2uYLP?-X1OMd$G&w+m9F!xDn7#(D;$Pk-u);NDrzL}b$1hY( z>Xt?;m&M#*CAVb6Zu_aLw7Lpg*O=mc1q-g<|Mq>ks&FwOtrgjqBE@23d|15E?d7MH0d+8+jWD<>81nrk<{yQOZf;8 z>O2@}7bE1->=H{EAFpbf|77=(Ok>%*oY=**S82hx&0+<@>n|d)ck>5>XeQ_}ra5}u z0bW+aw`!?6Q9g&U7DpYlt90KUW#h$)P~KKdFBp{;GAxiyM>%E7t%Pyz-6p@PRQtp0 z$Q$3}xM6UB@qEOmmj2Ia?{8-gk_(t-bMI-cS^ybU@Q?F<5%7q&MDq{1UV2>W!qd;L z8n2neouaR-DDw$i2%{VWEe}A_=f(^trBPv(ue$`O01`F3KC-FKt;L<|WV-zLSdDJA z%*dWbiovLkkh>=ze*)Yqi;%L&TN4Z_8d_Dn-P-7z+(96byK1j*)X?V^XSF+6&5=KN zJ5%3&7C18idM$rlFz|BLt*=R7&k@A3e^*DTcL%}@u373omCHd>6Z+|4&V0G8Gnt?XO8Q?rpo>f+!9UAN-;t&j2#_-;iau3bm zZc{f7lQS}VxgfjzTGokqI4qG?BwcqVY<%Y+^}yOaWptMI7pl6NL8+mOYWo?rvS)?k5Oa7?AKSzY$|cZ&Fxn|Q zvg~RK9E(akFCd9s8BF08uTWDrJp}Dh#yZxV$ANZViHC_IJ0hpZA+g;e4uWO$feDpk zp1eg@1kANm!L9--922!RH?rwKbzeznWiWwr;bz(*NpPbSV@GWtUV!MAHR2C6@pdwz zq6R&UOM5*YuJqZt@YU(XWVT2#jzJ2_yOrp6`i8!ce))BwcMr}E_=+~D)(TwZP1cFo zac5X1^a2e*%xhl%39*=sU%x^|sN58|r<{Ws+4w|2UvG&C81&}KU!-*MrT3BKXw?1| z*7=;C@;>0?v1jJaXGW3Pj7GBw?;{=ewG*>~^Y}a6n!0-x2lO|j842>ju#r8h#h9?< z^%YH4z#cH7yxRMloSD_HwF>mePV(6&#bv^Q$5H$+MZRMGyfYS>BM#m;jj3YXmOW;> z$fwcSwKuK@P*c7(mV+_Bt+9&S_+C#v%y@EGEd5oSc7wxA0vo^BIUEu=DG<$4X<>Qj z0XtAe{`-|80(fJ1&1YkT$KY70+>!tmdBpycHjxH9Cf6&x`1o_2tE(i5``ZQ!zai45 zbdk5w+1E}_>G384e>HOzkKaudy5wG<-m_8Qw3R&6z{%V=vcP{BJ8l= z$Xs8rVG|gjkJ{WFt}YYkkO9u^w6=`2r6%g8DkytxP=WiQwAsFoJ)>R}$1tL;t`A0D z+6w6Ayb18Ok_WGN9!d7gY5=Jcn_rGOh%a<8DNu2mo^qQMwYQZ~&Mj-j1xd!F5~vH% z=LA$Ry4z|;!&wmm`gLorgF>vd(O?-fg7sXB($14U9A{3JlsqchV*^ztM|%gF#R6jwNVs;$z9Os5-)^)gtXhLi$KN>LCb z-SI19m`JwE;6b_DvG)sr6Xr##5(#GQ8LTE#sbhbfI3=|HbX7gt=7q<+WFFgXHbSv@^g=sx4^ zuSDP5V$9*V*V#Qx@WI+EIg(DDeFkn}yfY^&{5&FWATNiI%8X?{oB@!9C}VCSdpz9cW~C`tsJ#_?DIw_e2vjtx$IYdSc_NjaYE>1f@Bqz-lQ z5cAij0xGW=GZcR%>U%P*{`t9(j8XKI>FW4pw1;AG8hdF0C_LI}0m9#$t4jT1MbRfr zxnct{F?X6QU_Nj~*HTKJ{RY}k(QKtua*MDbAB98>i=A83(;Cem=U5vs`+>g^@(og- z6p%B{Mz;YW#nd-g2-=bnja$CQ%OV-s1YadI&5%*5EXcWS6+a*o1ddOp6DwqcAf$Df z3FWK%hHM}nM3cD#WG`;g)j4ioR*rdQ?x7|##<+s+Q``xgb9Ik`hgzsIf+4{;LOl|xm%M|>M$iS&5}HMNaRitz@1DDPKrH7F{6M^?Th4>$nc_Cr&B?w^ z>VfRHA`7-Hd;xkkxRCB?f-#`Lc5KO(ppruXAKl$i#V+*uT0XM{SN{pnLor^Nd-iJO zGU2Nv!)yb?s@}vk?I$s;=SUizyOMOFzK=mJj1K+D+9uR)>E7mQr5wq6_K0U1snkw` z=Dmp@3I$&&OZsj+dOPJIqF~*vtNUugBXELPOSpQoj6OJvj|F8lKr_1BS9x;K6_Z^8 zyCUtU0NN4IeLLzcjWk@tJUaeLv=&m`lG)p{l5ub1)a3lCa-5e$bvynWF?N;19EkQq z{6$i$)m*!Z+}=1-aCqJ}jGY*7%Q}dpim%^&Z>XNIo044SGzYkxw5toSubhw9&_lK7 z7GHt+16uIl7uyBBH&Maa&9<|e)*6B+^+l7ZEZ9X(TpqQmY!u|2*Tvj|?0AODOE&{Q z{SC34}LfBhO`FANF>W&yILmDZ$k3!sN@lNAq;I)BveFEv%?3t1ly6B2 zb+(d{O(n}adhu^ja2K7-EG}~6HJG{rld{>xnp>M*GH!Fy%5Q1*CS!XKp?lfqDMf|` z4iw35bTnR~q*m}-aAKk%fTBCBNPQG> z7S4uPB~v4QkakwyX3C&{Zpf|L#lHWA5D#X*;&-lqMn~|9U~$iNrT|x^#YJzy=~P6QKXR%|TT5u(tbB z$n-o(buCI&Rh0Xv^J47Au13<2t8+DHFYP{ z@06xq%swy)`f&TcNwu1ikv>{GMgJOh#(mn*9My+{7?%9RtaQMle0}w7#>&tYpD!A% z01Nxe-q!2I={H@5OcVa8%xE%$2VbbYE-!>7&T{HY-5y2@i-=8{Cv2s>M10AjXoI;3 z;fTW*bT)(YqO$|TiQ3hlgoOfBa1&EY`8JXo1slWK09JqoPjA*jlt7OoBZ-hh&qI1G zN3P5u%lf5*rNH8oxa_xy+xz<5$Fgr`ze%Dhwt(>L_)iiw&sdgJmorHZrk+OCH4u{#kKn0qY zbBKoBtHS6FWcIG?VQRw19b;cD7*Z$pF+DZOoS$wcbe>D=t1mGW{OrC|#>hT?K(SW~ z>~p{XgdRXX9?^&BHx$y-(-$j)rk{L2EiK-$%QZ2J8 zA;u0DbD!jtBta-;N2$NnBI(#czheD6DC0;SJjjmh`4W{f_SVEHD6_=NSEG;WEjjkJ zZO-;Q7hSK*>Tv@24Gq=O)C8c!)}1|f!Ej!lc7}uVSC=jUb&LvJVExrVvt^dOV@EknJe5Xos!M)T-^H1k{=q8MG;MC63Uv4y77OGT!a{)-@%tgFM0woRP6h^ zmXgE+2c;+WJKU23|2XE_Y$+RNZ5}<@7F7B zqWmiEIx;?*sn9$(!HwrS&$-3L4Yh<#e z9Aoi{OK+_>DaA$FV~WZ0g@e|TJ&^Oqr^Q3W&*t|4$#8xcxdA4;&>w=oam&>84Lw@14UoMgv6AOxB2UquVRz6o zZw_F3@KfkgW)z}|xgJ0B7UCWQBVqKP*j{~92%&lfjZD!uP$Wdt(qj=aQb34v`W!T= zF0)h|z7(M0B2`@E5jNq(7ta{A04CdMpC)fgUu8GR;X?uQ)oGT}2K@}0>w33l=)dec zvD#3kT7Z`NlQZWmnT@n)gvSAxI1bcj=0My@L1|wJMXm@WwrNT1Rr~g@AI!t1wP9q8 zsrgcwlm@@n1+n{U4iS6HASUhIc-{>Fi8uZkdt8Tw02&Piid`JGZVyVvAZByO0^}s)z$5p9`6=RY2xqV|K1uzlghv zu0;Q&%9o5bQRJ)Iqii2R6=-DTb9JgHE~mhPm=+SluFHe`3hu)$#e0&kWL64lN3b@iI-$fk#>SF!Wx5fU-?X&MZSy|N@rlXC?J!JzqzVOV#H}AW5He=_7#<4lMh^p3WfxIum*E{r<0>%ZP zyG_iR9J33oisqGB8JU$_r10$(vg+f|v)kms%CQ9YJx`Mh+U!h!b}mRV(m7mf3%NMJ zBkAbKv}9|6ngmYlnA!?5uilqcEtd|ec|(%?@t~y)hN0E{oKGl#^RN2c3srn9{t(%b z_0bVaiahE1%8Ug4$=Qz$44wLtj+`W&!f6}=>F5f^g!x(*&0wuOgD!NtdrFH65i;of z@&6@+^Ah9Y9maG)X%H7TIRB{w{}RHzGp2vXhI*TSn^5C%;B%^FSn;1!vEUz)~Rt_=OD6w|Q10W0NADNd5 zdpH*`AIEndS>qmYako>OBb1&-3=b5T-y>y7s`>=;+G$t&_$wVQ+&X`NH*zH~BdGz3OH6jU;PjdAPHWt0X8E%!pI1={2lew z);5T6q=-$en0F%cH0`pQTa2$8!zwn{PB9{v=H(mxY<05AXvpHV`jS4AYV|KXW%F*RaK##n1zu183MuyEWP1@V5OIzIE+`yHF5=l@Am zyU&5%OLg883oW7qeS_}*9LT1>2XbLTjmzOTd9`_j-B^cckm7aJPokx_M2+q4B^~AK zEE(P*ibsYrJ{gEq zf=IHljnD@pWc8lQiqp1^l*&Lt(f8%!xjtyTHAnYhrZCVqH}N;Bs-tX@+~x|S^9qtQ z-ZpI3Oy=v0YigG~cv)cL5AX-r(e$=amu10-qpREm^YbKih@Thlv5hYLqg z+9o-;x_tEW#O|Lr+o~`%3FwTJPgP=^*CRusYb1F>S*hhX+BhL$CT}|fFjlwv7LxHopCP6499Hx>>)v=dS=e)~bTTF@1YZoI$b`ip`9 z=b|X!aDx)=Rh{h&h0vJtb!*p>mk#LxXX&!?gvNsaOg$(B@ABk-1N`$)E)}6q8Dfs= zD2K>vU-LC7->pDsvob5KN&WRyB?3Az6BCj@Z;VGja#_By`h3heaYVszWtwWEp0rb4 z$QO@)$6RO2k&Ia!m(tKaKbFfCo=B*LcN!0{Jw%>!Sj2LT6b~)irJ-rUloTU9!oISLmEyuREc-yDw%WjJuUv zXCk-v1LJZ{gkAZ9{{T?>8tUbtAl}*WtUnLtDT2-U5aQz{=+D^JfBELV7l?YX>RDWl zGl?s!b*cPR%eq%xJ(a%j;3dz8{`f(Yu6RNbz1bvmVjV5@@51lzoS*+6r~g#QSp55SsA6FHb=L-*vppYQ$WK=5>9FK|9o z;;u&*4|_lpe@h9f;xqGA3vF9Jg?9G@RK<4tWhgKdyL&5#Qs4rXlCu@5E59fX)v%-6 zwXE}g83GCy!Q0&V?}7AX!d?0U2Q@Q|Q4i;U22!j2jwl5!Yd$klf*0AQ9`=P|UK-*s zJXU%c`6Y^c@ikB|YuQrGI<}tS)(=T8#$fKOrxE?$c!D*KI}hIBR)G}*{ClgP-<5#w zNaAGJ_~JVZt6qxjI;c189^@$n?xUs5hpBdJgYX>v^@A>MVs(d z0E{5XV^ZWz=MRO9>keaQHr~SAla_xRPxwEd1=ASHehYctqrh3=mYq`PYLu>~D?r-z z?a~#>I-mXDi7@_vs+FF-nZEwA5S_cO^x)txL-Ps^5t$kc`vvkUp1FxkZXrqG_^`_Q}fhQu0EndVpZXtuF2-V;ZNuE5Gb&GrEq2hbFxY-riA6hDhij z($Tp+-h{8*DR&`lf3NXEqw-|1*ypRHe_%TRUN?QVp^)>mMh?JHW@$eI8+wSgjhhY& z(v|^dg2C7U7f{gO#^y>n20SY%uh#_=bZ)*fei=V`HF`_-d`F%;-q4i)2~r8TaONje z(sCkTg@@I!E952r1`1S3^N38;;XanHpNw$ScfV9S5#tq1=r2&f9!3mTJl`fJbXz>J z?5wm;R%ry3!h02mhSp6whV>;3-i>=O9GY;xvJP5Z`So+sUDxcWjULoFChQzw!qe)< zFX^Q^H;KmNO9MfnH&3`K^htYQbEoS`?EasDI?OZeTC%OH;Pq1eceh838yH-I8Ce6Q z&;v$*(9hoA7_UG&E=Agqj`;SwBT1x(SLBjTI%0s2B%COP5D{4Y|)q@(STEkNzcYsC3jV?3;37EzQhD&65klL`OddxSnQ`8b|N)Af{x&N;Ff8PO& z?^}uG=}LBWeF&~d@4aO+qG%7XOzgthJl<2;AnN!`MDgU0s-z?oKNa2BMRgom_zeU6 z_@c$0f#3e&iz@9Pemr@VnZ;i}wC)SU6-~)i3|v!LG}CFJCT$EqebKG>9BQa~a~4>e z1H;ix;qKkoY@&1Je~sJzb2)+OL@W_NeoJSv7WvQUJtw&uWaNhZ@|tSU$gJ*iqyH#Rh5B+p=;5E=b^D#nlNZ$wMx;jmT%f7uICz)*hg8ka zHh?|cvBt0oahhn-Ljpc_<RhSTj+r&q1*Ua(US0I1w1 z0)phQFD}=<;rBGikcR9zZ4#UY@Brf~~4GHB-*_#~WT}QXFMbRoFTRZQ| zc7I@>xJZ+12@cxDF1yk^&+SuX{8QcHd-wO-gI7JrwvD-Kl#qp}(~$$S)9-cXmEI6e+qW`Pl!sdXl0R?`5d-0HXv66`w%L-g9*R2Np z7Fbh*`Ipr4?yY?uvyv?5GXK0;m&baYBK=S0>n&Z)M{G$3ZcLYzUFQ0GQ;EwOlqNZ< ztTAg3yvcYaaE+!mqdejJS#oMryNU8|5T^UB->M%=dRw5=5Q+)Ip= zhVfj75uwj>M}wmFspWmY7@kW0ej+~wmelz5^t69L^ukE9Ph;U^w(^bc(AR^%i~T?3 zmK7jQ@4RHyesCsYixPV0T4|ME=;3nX<&E+OC+{2H32%Pd(6_hh_{3IWyYjg#8%t+l z1I9DUsS!8)KetTP1T02RXPxgQ7;&zvw~PeWErRE~1%HPg)j!)x25okYRh_{BPo&D-(Azbluxn=9Oe%LNh}-cFNyMYLgE!@(_mx>fo5`k{Ps_tu zDrUC!@0RKYbh{cs^2q(W!596Dn%5g-c-gF30tzaoHqo<%6RtwwFS{>; zdo(m#ue=>HtPsIOa_E_uQ&T`&sc>5Ca&q6UVes(%kMhPzuy^Zi?ajfp`_Hv_p$9I- z-PaGRdatXdgw+@)5%*98KR99hALh=U$f}g>k*}6qN(9$Jd9?0P!;pd5y7FkJ6dl-4 zElA=wmu#({$yR$|1O8>*yY-LVoBFe{g2}%xZT>&(y?H#;`};o}acpHts3g;>D72u$ z7*#~O^!EleqM9e_?|9i{b4ya^X?m?gd?!UMhmI7#ov6v7JQ+v?(r-93ZvHc z?tD#<^dlp{+w^(Z%*dhYdJdY_mn!yeY0&>tPQ_+QpIwD3C;VaT9Spq4onyT=-kt9 zrWt#Y8-Tpi?N3)9iwIZc++R|<6(o5c8M{o~l)ROU2(<@NqP$|ad^kc@+e@5(6SmTL zj=Bb3|9D^VMtFS`0d0MD8e^zp`%;WLo^Pbzrv1^YRrWsY8|>cRCRJwd{c{(j=0(Hn zcfZ)I_SMrswPyewuSqWlE03|%a9jZ}6v8jNucPl;qXa;BlYy1U>Z9RT5!zPOQse8UQlKvbd{VP+_Cm0b^)C+C9 zoa2+tf2E36N0PGN?urWfynpjacnDESvf--bVFsJ}Icuc#8r)J%5HGe-Piha#lFRC7df_z7W;9bKv&b0`Qorh<-@S! z&$r@5oK9ayMGXh_v z7$AekA%hp5GWa-scCz=K4436Q_54azU!;h>#XEfe&6m)d_nmut?wKm{c9xeD{~Zxu zRh9b(N{zq17zZdYmU-N@zT<*e)kq#YJq}hh8=0EJ_!P7GsVg;KxVl0|+jzsAL~>sG zc@P+mAOLP{(U?zFTi@#Cy}M|#=~>F~`1Kx>)@F877?qOkbx`25@`pS(P`K1r2}@$s z(}DvVG7p>wkzk1ODfY8K{+%HJpf(qX_KF=zUIC#@^CLT&jugHa+jrns>KCa*kK~(rP3!gK0O?#42G1vEH2`Ap(0qkhCFG` zmvK!n=9~x0r9Z>(#Ce`nJLO5*;7Lg}MWZV_EMBZQ$-I4I{+nI!|2#w+tb3JDO&fE4 zBv2}rODd006>Es2PIQC)Of1Of=f6D{Kx2n(2l&U=7upxVhwaDAZo%$;GhgonN}RhA zv5E~-tb&6fn%|Co<9EdJvtQ~i<@&fX+j%J@HdDEIOBB^Kt2TQM250Y&ObA=Y>YK;k z4hDq6VTD~$A2Tb*rTW5|{w*XJ_Kg z=(Pz1d?*zO_+TJU!1Dn(O^ijOTD`i?(M_$%jbnQ(2+Quxy6Yd!4CB{lzcDqJGlKnF zp)j5JFrCb*IfeaebU9Zs=XST|+Vzw%~mcsDuO zZh2T|>LA3KW8wKLK!UG#A+{ImHTnMY1q*>j%m>bqtukkCZs(&^YbER25MW@yv3uQn zCn^5sbU#X^gmdR1ej?({Ij1Rh@b7Wz`2xuam89Efa9uqjlB; zG2*z(fu99-NCJP_5`Ff?3yJ$ALJ58(gF4P_-7(>@PvR}_%&d!|KbaKFOx5gf1=8K zaI#UlGY23%sJ^upMfj=LAKC)}d;1aMojH<;rpvo@kQmhOBc>uS$OG|%$gS5vhEj}@ zgWr}H4CRV#Wtsk#agDmtEUeR*C{h)(e^VR6ex5S5>o2D+LC#bziWG6^XW0DtcT<~}PgJZ)7p=zM zWG^q=AzEW9mynU3k?3l*M^~V$kb$04gagHYw8>2O@sM1JFPgM=?>(z?9}KYC-^53g zQmN&9Uy0uqB6l52l!E=H>0T*F)=bx&{bd+bot1NZ8M4Wrfvs%&5GFb01!JJ;@b!X~ zsg5bO@B8zar50BLHQV~P{7NmBOY~@;yJ02#lV4C6dG2mYKDeO!GHwopkvRrRUB4m^ zAQ(|9BU>yb1lY^K?oDgG@Bd+E0$)U*N3^r*$KMMGbai~bD}&xXYnA=Y4a*u1L`-3- zyFgd!W(!J{UT4&i-LcT}pcn|uRf3--s^Ik$qH=~qSPjd*GfpoXO!*{>@4F_Ts`+iQC(%cbm3uFDUfje z3>(O+SiVN&(_G2KisX#`Jpw%@dLujDg$4C_@1KKF*M^9Y<#~MWAMfYm9|VLP41ZHu z03bc|*?$>WxSAl~(o0n%6oGs~nW2pq`or&fX6OZ}o|UL>Wi`t)2(vl1+_9={da1>1 z7ENnEvwx7ZXu|#Krn*|&&N6x7Dv9+=7eY`Cap$Es{g_{J?Vp@fCvhg+oR(I%*F1sd3u%wE!XsI7lXPZ;4bvy53C2OeWNY#(h*g z@%*l%_Dd~Y3ASv!V!w(}E7Pr75d_`oUK>B+A*2!RN#>dQ zz|6fw){y>lEUO@wQ6*nu+d4@jsTQtfb)DHv#t?V6ud@V6o!tkJv95nbtlOLv+$8$? zAl$yu+Cx%O!eQ)++?h!49v}~HD#!a~|48A7Zm^sIn=5+>t>0F}Mp<5lzfZf1U>9Z2 z_Ie=ZAy>o@`8JAzT92zfd(hKfGLhhPyS7_V0@;P%nV`psc$q61cINg$6Rw%#1$mE+ zAnNVpMZFL()K7Wp4bfCY+WaBcZd{}8yNHl!uYXmK6hsknJt43k!Kq}=me#5lhb;yC zmjJ3Lg?V55wy6CWSk%cS^NK40)V5wa%maE)sZ6u$XBugZ!bnqVjP!aITI!hT!FS06 z;;D<&j9TkoQrtl-I}vyCw`hoNY2K1BD`fCVJ?QDm+C#UORUQbz_L+Fdv1Lt-wl1w) z3dW(U{MdN;*EoWSvch3kd-9#oQvwXx^x!b?CqDiXAW*YaGzWe4*^q4tc9n-Xf$_w$ z>g16*tOj%N@+uV)Nww`tZSE=r;3o$+cQ)armnstyOexhs5GTgEMTJjn17pA|cWwR} zqk;1hAZ|@+tSf#2+jJ5{Zo6R#FsQQC$T_nyg_|nVz)Z4Q{2}SZ#X@p<#U@TaH~kOE zE>|CoT`IfUQu1>Jxi$UC{MjMm!YBNE*w1`!j$o@oL>SOlg}BN9{{rkEpb&BrfKpWX z%FXkTZ^a@~imCh+EO22K1{FF^GC$+8U_IsjjB~L2BS@Om%_sAZ#21#Q*I7zNtb-9n*dKYr=JHn8@+}TsQ z{f{V@5D4kZ7uSX|70JYY$68yIsINnniJM|mKH(w0K?P&fnwHaowCV(Gik`Cfi+e$d zZSrlAM_X~ij}^SsMIq(AJislv$j^0}2T%C%)bKAgR>G5>SGb^kpXU5sGKr8KT> z0)wCnq*Mm7@?px)7FNd-l0;wf6BA}hT5D*zgDYJcOmiWV4!VjUPol`xd@j-8N2 z7JOA7;;j2=VYjCUO#jtzH1TB(;W7}h)2_C`lhhZ4tSIhQBxTsq=So5I=CX_+@Is-+t1zenlj-*;WC~&V21`u>MxtSVuiaS zO-iq!SHecFSxu`H{kyX055Gh$Y8}&Ej{UaYSVBPf6V!pPl-Xwd;n4!@l_09Jlo(R^ zNoIR}r3|7PNFllFM1D|Gm1l9Mo4fY@^d&aWr4Z?J7`Eu-(Qfn&Hv~Qc1b>7gHx$3g zQ?KugLx%Q3P!oRrXNDG=>gZM?3LawddJq|(g}thSFQf(5O93{c3_<14b@0t~I&T94 zDyG_TG{mZ62wU;sQZV@y5x-@bQhy#>8f_FDUl-$BVj3F6HVe+kgbm=DAue4-(& z{i&F*>KUyQKTX?)lM+TzQ(MU}8?s)iElYg?{OyDV;%|@m<$>OcRmILMhgyUd9We}1Bz1{+v`GHfmAA>%#uP+I~LW041(A`de z=rpErLJ;=8atnIH&L4h*%vBd3w#(0OT5?YaW~&zsxT5X^TmqTnwj~Xx6S~m zim#d{0#z*t9-?wH^n4&RQ7eMiWe}pMuk+`l^OMuksET<_g8hRw{m=9NXK?wy`uzW!<+CDcZ_#Az z@2N$UHO_vik06u0rzl_b&RtK$zx??6+sb1Z7iNTbBhxfgIQuP8#wh|Gvd!B2Y;R+T zBQD*i5qsHzQ1{_zf*Lp-|0X!L+Qec(v67EJ4~Xz_JdV3cFpaTi>U{dT+yJ(vAa9X~ z;~Y44gRE5C9y2#ESXvn9;?S~Ntfd@}B){|e8z&pX~Y!!ynQUoL&*^d8->y#W7c z;2-1pKgI6A#C*s6CiGsE_wD3sM zmn<(WN`HZ^@AFW68h7I6B~!7HmHAjUIsYwbmqfj;&;g>SS~ zRpfbuSMv4AJXw7=1z{O(XXimJ~NA9^$uZMQ`Cn&g2pKW z#W6<+gc3ml`-E?Co5gG~In`OI8Cn^fcV(P5U588O$l5g;=f8aL|;i`q-ZTfKg6V1~)huFVMLrGq$mIO=OO6Ld5} zZ4c3jLx|l*!cKJh{Fmb}Gzgv(8tVLC={GuFj*?&)-=TQLon$trB&9-?1?P$?$UE9X zsT*nO*>*Zc+~(W($Eay zX?5nb!%7hQ)lgXMri8F%^ z9@+r}WYyuxM5x=FCU@DOEFkk|L~mZur-W!SKQY7GfX3*flpKGhsy(;5mCK3De7(*% z;?9-*E_J%T{r0u#b_H-J;lZMPjDtn6uDYD9owvHY3Urz zkRh6{fu(!i@^Qj&Xlk)Z0QDx8^B@(w+2&~9{H=KvPMMy`9d2*5YuEa4SQ&JEiNFsw zv97#6oiGt$x49PTC2^2EUK4?OO2|XOg2)(Kz1vDS`#wm1Kf5O_|HCz)pbEY*yQ96+ z8>$gGx5W)m$@vW`IY&1L5swAgx+=&g5^|3^Y#gFd=f0Wj9z%v=Go&;2o2jt;k=!8P zURQ77NWYq;cb8Gx>zazkO*d=U42LR)HwBH14-^ThDryFPUSIrK&Hu?9pY616!}@U3 zz|XYe5mnl{i9u7Yyryqyb;%HUJZ+$=+)mQ&aj(0Vo?Kv8HC-gqT4P_^eqx~?tHNZg zl2W4PG2yk5(UWmX-XlMcVU*KO#lzP%mz6_HwM`+(l6t*9IM8!w6y2U|hWI7+{JZfnfgKNzzK_7}r;s?86w_%x zujOcrPOdXnQ+UH+8Y-Q;{YAH3nk=F>N{=idaM?Nes`4Jpw1Jc(c2e=#oXzX)Xft^p zWCLZyp9df5=#&yzIt1efpzlr+x$49*)|bcaMPDwRX4t zT=*BA1t`<}jaVtyQJ-D6R-a9q?CqyVtb6Fdy}*H2%0{+=jMVyl`fQhl#@(r+ zcI2R!<7Mm={?UkXJo z2gascPPc#_hn!)`mY)TttyLT=u6Gy9W#MhtIV@Bn_UvWJsb69Gk4$Jq^ga&qt9Rd9 z&pR0BDq%7mluv92AdE@r+7A-F4LFFkXof~NGbo&{m-vtHW|1O%rQm$iDO9p(v> zwuXxq#AiRrr=Qp6E-)FbTm`m3N#HcUP~5m;UkE$-Boh$?hyHq6HrBmdBYq!=&*4r4 z_Ln_tN?U1dKFuVKXZ(EZu`eQ7*W*dtGQHwza+V*lM^=rv8^wq;u1*YQ(x!V;J!W!L zZNa|!fKK^gkx2hf%5*uc3FU?3oXAs(ww|^`h3IAjd3SXcF(Fi9!db!T#=+WGhmznZ z)F~W=CpSoo57t+7il8&zj)!?ohrgBkgNu$rJcHs;z5*0&dhdnqM*m_69b_yY)+gK` z)bEd!sH*tf_>=aj*1%Wy9WJf$PK)iy8c$`I4UN`k*H11fI3A(PP*m{zbdzr0V8v90Qy&h+*V&LHsAF*1meR{N> zVzoNjW`vz3k=XP_ts`peJ(f<_?vyp|(;mjKD?{`;(x)@I4scu;VR3F8)u3|!{po-fBN^7rqY2*wvPc!Sn zQt&i5TIp{)k`9;HFzP#?s(-u23mrXzdU%Yn6txse{7FmUl+r3Rpnv{#5c7dz+NSh; zCaokC$lCS|)^0Sz+`bO2Q%~Hx+I-AfJu2c#V#OO=_r!YG1s-nbNXV(x(_=_0h0l&3 zWM=ja*;z!?=QMs?P9ODIgiS8rMBw;uWd733sE(iS#!eTQBRJh}4omDUMOH_EFZuNlPtX75=Z*h8)CkZ=udp6^@b#uScI6o|mW~^<}NF?WUM)Ts6_rMNTDg zs{09&SM1mX!pW=m&$RKvPBVzTH$C$0Y$XUW8`TWaQT-AAma?ht!-Q2Jc4(2F*8avf zrtX>WGaQx7Np*US!ju`R6Cc8Mo*827XAJ7IZM_>-^gJx7Lx|@yTBbL=met=uV@%Sk z$<~j~1jvY!yIIjgs%bufq)$s1Eus#wxS}~+j)cQ)IS*^a{b39;=aGhz#`qAq|DI1; zhFw2tX~q1ew}p+z3LE{1gLs*`j4k7}2+RyyxNinN?$V5}>FZV`SPQkK)^8$j zTCPLvO**Tvw>LOw(1)WmF?yX`TR*^PeZL@`{WjZ?rYO(_-;C(Xtjp3&CE1OY>-EfD zZ*pN!|I45do-&N5jF^rrAaO0UKV@XSHD;9LGw)OTzI!eO zvWCO3kwJ811c}idz_H!ko3*Achx4dDs1|@F0t=>$CKWw*x7OeGhdA%QawO+4piNz-G|q%Q0vkVuHv#k zTbJC;Xn26_=`3lThqA@>cCCmHlvLbcKN;wm9sl5|=jtG?xc3!8mHX)4xXu_F+spTb z1*L|z*}mVlL_fotx%||%lgv=s{12I-BVqx4`6V~H^CmT|U(ZX_`vU>1F-D{>$8^y&(*_)CglYc`Ur znD)1>L)0$^Hh=RkZ9ea(t`XhNfum2JwI**mPwJpoKU_`enOSVC72uFNoKHA~@5^*1 zx@AkV#o}}5k9zB@N0M3nLJlJm1s%^bpBWQ2B$vVb}Xoi*kS+Tq2L2 z$}H&<;swTe0$m=3y*_k7wPq@oQ>oP>J^YTiTb-0&4=LITc|ENH)~*bBvB!GewT2N~ zPDb^L-YV?IRv^canJfmjpW00zjhxIXQC87&+f$FyWLh5Uab~yUB6Duv)izVnq`1L6 zc7;;h!1>IvGj?WNzkJLjp)YrR8g1|uqwObvq?#iYKEpf=I-tW9K5WrK`PEc0n$@zVcAi>!w3BS6$ z<^!>yhdm!|qm%c1EA%Y)u5*0L_S93rO|SLHqNO8a?(~p9(Q!H6oV>JzR?D0dCo#VZ@z2AKHTzFuRgq>CqMwLF2GI9QD}& z{S-BwgOj_u9W`4z-_ajQs5NdUPB3ar<7B9$_Q>Mvt~$vrlSIj78Q$Hrj~CS<#=-aK zOqj@c-oN5jg0DK%;j^#!r<2eJ;?8Zz~CjeVB4SoO^zTP9-;0m&UJQ9>7pt4vxL@?j62l z4L8)_!~-42$Mf!rG*0ERy1)?g2$KfB)%3EOg%C8)IVAPw+`tXx&?a@=9zHuyk0h~M zGhc}}of?ZMyvdowq}hh$W=ss@l>};2Tgk&+6%mf-wI5)IDIKK6h_02$HuX!PvI*Tm zMR$V@`y4kVw4;q+UX(AoAD;otw)V{z!e&O>C2v3ONPUkSiYpFrN$K-Z)>o3@LDg_$ zpH^TD?Q6SVs>{&`5*mMUo>|*Z$Zq1}CEAMqz3uP;qAOPZY43Vz+^r3r&zkDEh5fER z;t>mT>n)=S^5dc4bYPMa&|j$KmNi7ZDVm1Q@T{1y^zGj7y7Rg_}463QJYA7?j= z(8iw+oQ|1vt><(Xn9rboNwtd(U~LQT_8Q=1%pUJ&U4MY}e&1HKd4OBo;W5udcd$^J zjio=042uk$ILmfMt#%!GHA5sSwmwRniKfWz5t$%$H z3sR_jfY~aQLle+}Z4O7^aChX}T{WD&B`6tsEn0s9a`E-P%S=?iSu#Eqz&aKray#_; zMb(yHkt$*H5fCHsGTK>y9u*QR`L@4leXw`E~mPU$ul3BQ=73}2}&?dK=-&Lw@o zQfjq-#b+qbf&_f^y{$E|)T6hLz7%S;QnF1u4!?Lf z3w!LqJ#VuN?_0Eq)2Ss`p~54pKNOCeG=-H&=q6x?tz+yK4L5Kr*%h@Wx^Pe?KO?RQ5$zpo*{2KSQYcr-F%Xe z_InA*l;%c4R@-C57i|=7WKe6&!k8J{_FHkB)OsH4_GsE6Eca$I{{n5A4TgdXE}eYk0f^ z8!#zSzqi*rsBM>4J+0NPWvJwZqU9qMZb-x%34%8FqlhdmmyUN7Z}Vwa6lg8$H_|)g z3%STF^5&r)ww{FFWQ#+quJ?8I_A4j2L1V71vxI1@&h6D%4^!+y{bz~a3$i1I*q1nC z9n;Ev)F?{|oNRPc2hB;hi#}!m$%e4HxpmZbLTJc7g$lYOaU=A?${)W!+_OJ^;;GW9 zG99)QU8$ZE=ys!GKPm2LX&F|XF2;XJwTM^3NU#LwL^o{r!YT3kHQ=shkHI$|GMt&< zo3`Ma?|UCX8#B@+BBRjpJC;c=SlBEMzWMvPZ>1md%{jmOW?8>D=kCm5(ed8AA+wm# zORgkY@gRnFX>ogKskv}KhOLh5IQZmIZ*6Cl~1RUsdjGpu&ZbMlOeZ00l7SHXu zEK#T(*dy&6-cK02Epi0BL6bhPRs5=CKIfH!Pq^|<60ovsN8PfwP6R{-x#o_?2NZKW zHXm4>t0(M_r`#f+c$w7A*gwH4ojE)!fa(+h<=`{kZ@Dl1Kp_g=CnlGlL}mX|C8-=j zLHirWCj%bjk+Fe$hUx3PU!NH9U_CpTqrhr;ptfo?_I$UPkoA!Vexnnc2nyQVwNMmsHi>0XGWv0l9lbBLs_ z?Y58&*h)bpjoy(D$0ySo%f6}-Zp;NX@b2tEPt;T&LFWZjHGF`ohDoenLQuGw_=2a2 z>y1BCD}fx|x?hsU$v2f3JFoU4t#LLtNsmHpS0^gS5ki}iy06oZL0x;+XXeiAWcD~G8Xpm%Gx~&{?3%vl3Jj-Ru9=*EC;x7HjJ0ao zI5WF=>!N~>4G%`%dzu!C`D=Vuex%1SKgVDbI4Rs3 zL0-v|5G#W_N8E94@$E%pzYa8%=_sd-T~>nf;JxBbkH98vUOhUH-KKaWQ-xSdFs~p? zvacL{<>8*{I+j?wNDkFID>l}EKe-GIF-TVAafl{?mSYYQaSzDd!L1X+K6Gb2+Tw{p z5|?0kustHI+heQmz-g7&Dfg%Hw6BF*Qh?0B*Is~2f=*fKZO};w$5t|+kCw)Ha8vv? zYV_MraE89Gua5PB0JSHlt^e9C6o}NJ5psh+xvy1uHL2W-Cd|X)Gf z+{{MYJr9@SW&294dH}^-D=3)6t+_9@6lebvWbSu`r)7t`;6OlQ`F-+bsB*2+h(j0P z1g@Z~WLlg4cv)ZT4K^EHJ_~sdb%8vU1ny;iIE?%K|3*mg;}rp3=a}?!xZ6~ooWWc4 z^EH^v3lx5~=_-5Mm_5~b=y^OzT%Q9+dvF8jk6#E&MoFv}+5smyY7bmW;earNADxDs z=5=f#sr)~_&?u7+fLWr5qUW|w_Q_qba=NxWezYZ^e>Rl$d@Nm(?-T=b(Cs~@2Pdp0 zwRnPptg6ktI=g`0fy+rc%ON9t*!5HIPLyq$L47&2A%9w1mnXn$ylLBze8KA2T$KlqVXE!4j>FhZ4rhZBf=Ij-+MH%@>jv=gk{H@V`>G~w6U{hD( zrD8szg_3nv&T;-ZV}lvW!88~s6JhP1cd)0d_Lxdq=9XM$m9f&ofX2f~VelRGHO+z> z;rvg)U^OHMPm4?-1AzbH*-Oz?XkUKuCl@4n&8l!2<0$uYO+Bwp@(J4PpWE_HCe6)E zH=a5oG*VK>8WG~Ww(E~97wjUjtI6TBwca0f!;edwY+PK>=anJ$N|oZK`yAoo4fyP| zLz#llLha8rdrfBt^gJ-kKXVk_C_D=~eJ6Y@j@Mu~WyT>Qs1xw#e|2qMC*b$mp)hep zAK}17ZVbNazF231EZw27NwYmRVK9z3xb*TC}&IB%} znGlKS{vXaA*us06O41HKM*h^LuaFb`knX{(c|{oV9>snNv*@e~*H4b3QzAwN4Vy+~ zce5O7RhhMGs|!;+#l3IoO){%X-e~vV=-YAw-4t31KCijNGU;2JHqQPcXmb0XG@}2g zCWWiWo^Lim)zw{8Na2JT@yi+2{FSd^`gYoF$k>#~fyWy>Xp`NJ?s@H32CkOrI5mbe z!z@;ZJJA-RKJSkiZXEp(S~A`;LOmh(5qavo3s4M_da`-VS6hR1UxFsOou~h`$i{12 z-i1jD9@k2uQc)WKCI=4I`$RkS?gV?;PR*CVZ4LqQw&roe61QA>I32#RJ*qRJz?)`A|PH{oCj9~fhZpU1L0k3N+$tRclK8_~)&n@+hX zjXUcytmt1}sgY|FhTnTu9PLg{3Ww>{+BTl$8vn)BtzMLv@g@)kL5Dd;>OSuKl+Q>P zGxdA9_wFp1Q8Nze)N;%3x=W93o%o#g6DtK@s2temNfwj$C^$A+mqXP^)f5Nh1^ccz z__f!O2P6q76i=r3;L|Ols4CGX6cAMBA#N1%qaF*!52c$7hjNYjSvl{I8!KF-eK;vr z405C&E#eb81z&krvLUi+Sut;fkpiWH_B9^ceHOn#H{Yeug%YW>>Tg}~81?NCFcSZMz_8pCMeTNovGo>l zzH!U|oIs}diICz#WP~ExRY2HUB`Si3vlven!faUj^QDnDyzR|>Irlw?uEd?$sl;pw zuOGY-UCQc}SvTz-Z!_w%FJ6~3kGOM^(CuQ`X` zf83~yhzP5q4^BUhzE~b}>d51FPOGCxV6mr=?>29n3bQLA%$~|M;dKK49%cog3NC%? zU#s9h#Pgy|?C)YGi^If9oMMm2sum0s=T|=qW!6@_flm@&t>!_o;s(_)~ES|+y@>SKR{?aQyUE<`pOg?QH=c)`uw9F3#SErc^%<+>X+!f z@uPCI(QTHF=QO%o@6$MJ`e~K)t0&&?(rTVN+~64bplI@=kXs?Ej(&Nsi3nO|{u6D) zNfy90{kj4#NS)wMBo3;@{2^lKhdNJ|)-6%OK{vi7Z}6#MIN#{jk4Fu%^s=7oY^1b~bIb zz&>XFP4@AB_ClYleIV+RW}gKUZ~_z1XiJm(<`4o~AafG?*Uag2Xd&DW`yLzq_m765 z3nA;^R_?2`*xl%ycq0^paxaeA|H$2eFJiug3c}2#@XzK$TuN5d5L*K0D!Q z>ljWoU?M9`pw6HE3%23R4=~XQ{+9Zo`XXV7)&`JRt$*V`?T#wkm|nPYFB}H_aajg# zSHfkPVYn>wT?$SM9$`)OXQfW|-AjH>njgurQaw||(%v}>CfT9I2zy&Bvx_D_HzNU!wlfhPqQ zEreF^aw(Jb)7V|OY?Orj^_`)zsH=Z!Oj`&RbwZf?X)5+SVshnsTRl+U5c z@3fw?ujy$bq|U}|ovWwaG-vWIp)-Fd0aW)7QJzJByV~{e8M+mM-AVogMS)Hs?YE}2 z?#!k2Gr>QqAR{)Onz8xyrK@37%?3klmWHnV~(#>D?7Wv#oM_|op_RXs3btd2Jr5##i zqX{KgyATXfF}3eHm_!tsNFi?fL#4p$(w0@}%<6N%pYzzAzs(4F3%!W)g%1{e+k&L! zGK`|ripwi8MuY>kXRm=|1$na&cm3EKWac^H{TH*HTyMkd0s}QDJ1|TAzp5V$*!}|O z*`FD=U^c}6cIiA{s@|N=+`{y8xrP6)J^ti>?eR+LwP^KY-8Y^8 z8>{C%{^Wn{@ha*;$nXoYE1~`EKN%MML#J+^WaiOS3Ngf%{he|D1-JbowvSR(5v!&4 znyjbCwTDs!9O$6grCV&0rq3=t3C=6>cLDXenpy7-5)>(gt2)%eq~H|m06N9`$s2A& z{Q*Fw=r|_)?^W6`*+t}*QSKe=ogpd9TSYtit&JjPz~C;O7@2*mw|)x@W-uVh5~j{| z4G4Ax?Dvg9>Hb}G9{rRzNajya;zi=x+^@X=(+4y}!Kf^3_PwE9N*E)LAjy@+fY?^7 zb<>XJmLtTrDde2DjiS=BecEBChxP$tpSS)IJWYn`%-%DbTTj3l|7RhXII9yAZLW5E z+EyUMS-z-c^fw50javucO<*eqXe+sYwUvLC|Bv*+yOGD4{bM};xb9yJhxxA~PeQpq z`wm%0?LBw<&>q6^heOStCC})63^fyPD)xp^6ctT=vPF$VcU&D0Jnbm^14kk_mypLlb;UFV>RY-GjU}sTjg4_QtlPz{G%9AykK(^Y zpPg<|=j8?6%vN|6M*bgRN%#@^ya7>T?Ja13?Q+&UE`VHU84QO$y>;#nzt~vRrgf0M zt7oU)tKY2l*gE@d7hhV5M%%}!W}NxfI$fy@?L!vPCH79MV8EU6$_U;q$Qy8UeS`cX zY+;YsqqRmf=B17>89Sfd-Np*<#`>t7k7i+Ag-){2@Q*GZHKM7+yK2>^Nwygz%kU;r z{Jl;xZSSWs(5d<>H2q9;2^y^Roi?qI8i-Mcf9~C(r){Xuez$4UX`D5LtL!^-O1}-G zOBe@w-kfnvF2gK}ddA#q7Yc_r(V6`2A35QR+MjS4LySGyy|?$O2cG?|eCL1fP4L|e z_gg9jeYea6yUS>ehc@M;%G;{wv(fO1kloN`D<78PIsK448n}_)-{eM#vWFZ;15y-P zn;tDCnujKrj*es~%7AGKCL7lz4~bOyq}))wD+HHj{LOxef#K^@0FFyo4)R>H>XgH* zMCj}x&L4CJg9id`Y=ZsB= zC}pZlGUH*yI@x3Yoac*SqDDkMmN#dEw=L#g@HDcQ+GL7gmvKhIAUc_nM6JnNexxM_ zlMVOhZ*=Z^GN5_A)b?OLOlC!+jB(N+yX$6kLca?RNsyJ*#so>1o>Bq!c4{`n!6SU&)^rv z@P0_<&KS!qQo@-;m_}if!frRg?{O^xqY0nzYx(7af^5zO-l?U~G8e@9dciF!;(plU9>de@Q0EmONg&%(Iz zeQ|K8*UPxAWJIoi`PKvd&Y3^Z?2F30klA{A=>|o6f?2M~rbx^)`0MxuG}BaYI9)>I<8}ubiOIUh7!8@odOUA^)3_i6b9XY}54pXV;WPZZGlw?WgWdP9lyi@3_0l_w&$zc>NCKkvYI|cH#G%r1c z3jhRy^Ss31R`}SL$u0H$I=ed+Be9kf>Li4ZdC7)lMQE|{JnMR%*zwlGRTee+oB)msLJcfAO^E6DDww{xi;r?{K@Gsk;V6@silse@g=m8ir zq}ONZ9=i<{ZJytrq0iQ_IEO`&+cft>=taU?VYkt-V;cNd z_|pi+#6|<8hfG-*nqkY=Xu2o3!fU(BaWw(SLu)GGQ$~ZHDuUf2RZ4nEFsJr_0L-u2|{h*feUj!?Bn^(8H$%D zP8LPfDb_f`f*4Fhdpa`!H^H?V`&SBXl=(=76~n<-I99B8ftS9SS@Ht zyTX2S4%wXj8k~JeKK~NMC=vU;`fH2)O-Rd`JOuKu6xTeAMIU>A!XfQuLSNn+9Jx8g&!Yz4ti7L7I9 zeUGq@vW!KRTWpkZsAos3cQ;I4B5rz%;kN@F`wbpjJN?Zy0L5wIt4+$!!X{o{K6xJL z{+TQ?E279p_FtKmA(GbfOSm<(v0Glj*aeDE4mH1S+tt(v@@)xhdn3GIE6CUB-f`3E z@?EI}^7Z=<g7jgTU{2 zn4Fmg8>f^Z^wqrV2zU=pWvl0p9{tGxLGhg>zcT(R^eLh(U?lk4y>Dk|;1tiP)nE$4 zJ2iHaOLwd4#BcLaIkTbh&TO#Xov`K7_qn3qw#+BcjnJPqAKxG*nV6Hor;9B8q$JYt zweM;;6c?z)_MgdoJNj@zr-@_7mq(>75Bf1(4L^e3m(gl8BwS;#OQPgZwA-_a z{TtF250is&92D(n;fv1$M*eE<{2Klc9D@A0^1Cn2$32oK-sWQ;3OpS4g2B4scqhK< zW-7a+MI5mi{Dzacf61J9ko!=zG8M0e9QjaGOUHAUs21m)(doS>I#(W6xC>X}+r96Q zr>I>1{H^6Zx*}E1k2jo{74i@?zIN^OHDK02WIDXP+T91V!PR6_B+fCiCrO zGx#|`Cnjd+ZDoTDtF@B0A#X6^!>$~Qj>Dvr74b{$R~50dYm$!ez{Zu2U%pNzfr$Pi z#7tm|Se2`-bwpnEtgHyC3Pg7^PE6P_*=^t|xAt8;HZ7z_5kXh)GNg3fRB%!8R=oWJ zUW372{hq;srk-MmdA40B;4HZ3F)YPK0*uuy$<^b3foOf2lFwFzn!iVzke9Hhs|tQ| z(HQiUx6Wuw5j-NgK;Pysi73x_ZVI28mssEUP^GYZmXeW2n@Oth24#@i?c+8P)1}4| zjgm;kpB>7=fCKza!ErNq?^yQ(?^ux75BC1HnGWCQsnR0VNhf+x*RH`tB|-q3VieN? zrzxTeOaF{2eBbcQLYWJ0)vFUHu5NaCbm%JfT*pW<$pjim_-f5-ZZS*n>XPQ>D_8V?2zGy z$)Py#+YeYb^Xp#Lmcd@`Rj=SbCkA`TRlqNqjzC1Tm!Xe6Zo=?YBLjs_gbZfBJiT1~ z0li36xyJGI!g>u*D#75f+fz$$QFc!^zjmMh$uuAyn5p%RVaWmM4|%T<)%s@BxCC#214v?>yaj}- zoRegk0$_kEA0a$=Y5YB61|Jsda<*t(_u5_Ilc{Gqyk>9gW61$Icui}R_B7B5#vK8f zxp;m|bA!aO!a}!mHjwR|{>TXuoDJHd1`aeW?ECmN0yz?(&Xx z;?rdIPz|WZxW=uBBfziMtMGtmj}+)%@dwOo?%K5bH+^;Qn#{As&(C_SG6`(wAaF0Q zbBh^DfZhIKor?TxfYUn~{ExluhrLx@yc@R+-l@dP-2nrYQJ&;+T=K6uHIH#gp2odB z$y68@zj&S~l>g;$R1nZDjhHI<-tFdpgaA` zc}GJbP0hWy4ukL^7CBX_*!P`kuI@cskE<=m@$6CK8E+?4{+q#YiC`DxDcR>)XV2($P+wVkq7gF+LfHJR1I<7Wz=Yl%p4Q7N>Fm6OD<@vlVbD(aL=(65on(??nynn~8 z_ICucmiKH^Mt=&~3@m1!l4WZ358%iBVBaiVm0knIZ0m}RuX=Y7Jm$4J7u+xTysa@h z9#dHH`on&KD)5fgM9=*{e~XiteW1si7TDId6-MNK_S*oYM=c&W%KXS~)hixu&kpu3 z)E_-QV*D!Q{rOQ;o!TGwP^YX@o_{d}X4wO^^Vd%UN=>j>xA%u@P2sC*h*}_YtAQl& z&VrlDHw?b-_J_ktV!N!4XtD40`j_tSi)V!o$}4#0DGZ)@h{%V5vta#V`=u~0_MG

GeL3(;UjYqkFlA>ShPJRpi%m>C$bczi#jiOu0L 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%0D*}Ahoi}oFB)`X7e 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 MXU2W2EIIHV??X%MtDQiUh7gcipdAKL@d*tW!M zV*T}^Mj*8|&TVJG*Q@x0n`N-XwO#Ek7Mcsx+Y!_gCl+kxxr#c#4c-yo?%ANJa_TfuFp3nSj7*xXQ>BL2d&)&PfYO{sSi5M#S}3Yk&7l?LytOl zLvpU9+u*|pRw3FK6}vWxVHNyZwvHZ;(jsH~G5l-K9dn<%XA}zt?{=BuinPao1IRyk z!f^!0jFB7>JhferFt2iHe!ew-_7iXz+(u*lQN9ypL-Hdxm78wH!4q;v^HrR(4q?>W zJWAuxdm{$saC)t?h;rg~AMmV8X#ImZ(t2lSXFuE&Jz{CDf)uZ&Yn|24B=N~eoK51} zr+xm5-W)NQaN+EwQXd|zYzy#ESy}7vFVbF`U;xI~V-6?TxwW*$(e=%ylG38Qj9F~* z7XiTnVGCD$N{KjOs%`WUB^)D8HEweaz0soIv45dv2B-d1&UtGe-F+T!!L2@Ye=E^v5#OtM5S>HX*=vTWi$jA_sBt`7NfHjDs8acw_4W z4kmqq!5_XW7GT0kc~IJi%#Eui6?feHe7jujX!axX&}&9Z)3N0@vNvtf$gav<>yfk3 z&49x_NqCrpI=_ieXW$Xdc~q#RPaAu6xW;`UOr(ZFJs%-0TF{?q9l{b5jJel$eDE&Q z9qAnz1A2Y?%WpQ+hVvTPRCo+La&HgN_V$(`zrFOyizj6&-8;2OnAhRWrLGK-u&qXR zlWC>SV>RtlL5*DVVY3g^?r0ZLQ|!tY%6}hOFJ+N!IX2R_Fj{cq!!w~i26B|3%;ajO zJAEf6_C0f>-NU%fkMS{EA0NhE5e|9b2s1>y1UqTotoXibXKxj=q7SupG3lk7&_D5^ ze!n!kMJJ#IdP~w&Bi&mwHP(EseEb!L(!6=9k(%=R+;Pxaz<+VeZP0kK=UMn$t}`GH zRK6ZLSX7|1*8O2i`?Zv3J!i%bub@Gg-X_+1(ep-jl^83oa7emwU0h>=1I!;};b~n6 z>WUJ?99756I?Xd>vtJGw6}v_W!ALE_+8q2;N>s1>Em_T#BUd$J z2A76bqqtF=0k2xSPLjX^j`d)jAGBzCtXzj225He@TsVsRGP7T_O7d6ZhCo|O&8LHl zuEGoGjl-XZLtTd%+Ij5gyGoykbP{?);9|vtRe3evoLCx-jy@lVMs((T6`rECA};bK z@XJtcf{?YJKQqUdZG--s>fho|3l)i6aEHAckIXBh3zx>(hJoJ3Ucvez!+92G>!%?f z)-tmzoh`-+r=eX59u15I!I=t{{7bwIn6M`|v}Z2t4%`hhn1bkH9LDiYqmhraYTRx- z(ZXmX#8$r>vAp|LITXNI46YwN32Z0>a2DOfDasMQr?W6Eim6uXVOg?z?Kuz)0l2VXR!FxF2Sph{4HR>*-Ja z;Z2f3Y1^Av0pm1f$``kNZKa>T>Eiiop1=BKCiV8@zQ!O8w)#c+j0X5XCA3LNU9H&l zinNI9CjLOet$97Nw8qYr4Cx%BMq)hLCf~**BUft()nx5c{xFW@_~M$c3iV=74Ly|! zI#x~zxvS+qvj11;S~t))!(MiF)~LBbrOQCtS>0s zDz<<_scLBaw489T=bQt2ygo1rj^2N9GU$=b=;&(~k3Q+zv&S9z8;EiL$sb9+*7|P5 z(EF=$9Grbx@DlB32=-;4U~R!r3#an5y5=LiiXgno;*e7*IF)7_u^$DNJ1e|%*V&?t zqf0CEyin$37DCUQeCqG(&q+V#$G*#qX;Kzlgcv*hN)j{XUzlu_4Q=i6UGpZ(e|eMQRyHw@(0_Jq%VdV z0%U03*m8Z@e!&m%iG3dKlX8+HySc{M!mt0fyHjpoisRy&7^oP`VSy^T1YLD+AOC4< z`S#Mj#VPdmzW_euD7dut7(d+kmA}RTO|oz0OlEZRvn>n=W*If?%6hhZ<)J52#-fv3 zHnx^Kx+cTs9on^Jg-)ga$x=T1=5Yr!VTuTDjaJLedh~4v^oLlOZ64ZOw(CRkt(mfG z(qW)18D8Dmm^b3F4ssTSVpm=9VTI+}a_CpUa628PX~$WJeI4=$(8zMpPyZqPcanR% zr3gm~pI@lc_mDCk4{5KidV`*lUl<}z2Km`G1_!W!hL0~rRx%uC&cS~HP4hFP_-X%R4%fkq+s;LofqSs_rSFnlt1mmFEfsj(G)A}|QvL=V)(9+Ken2k6n0m$9|c z_Uj+p*0Mjj3)z=$yrkea79IR*4={WN+{a;LPv7D$H-32((?qM7yiKPBv;>qQjMT^m z5BRYW`Q|Vlhh0e-?tBU~amj+g`Z;6_0->^jVc7h*{b@f&=JzLyT|XVT5VkB*TH#>> z@hjDr7Xr22;xOI7X9(7X^m>+LkU5e#qSf$%*i@xJLQR{fI2cDX%xHd~g}DGzB;Yh8 z^`>{r@-xAy^X5e>Ffd-**;#18l~}zz9QIbR1o*DTpZTtP^~}V$#)mT6FlwZ4I0P+h zCL-^c#Fw~JT@k$Fc41iE5$FjPyunZdrnjWCgLh=n?E9fX^Wsy`!4B+Fgb2*LxFqhk zy~u)N=@$IPjFD73a5_S0WAuofQx)1;ZVE9mx}L3`JzfAT*FOlmmc2p_?xFX=1Q>9u z%j_%?dN47NhX+4#jF&}kPm-phYdF^uXL9py&O4AAqP^b+Z2W53Y9$v_v_oWx9>ghA z)K1h7z9c#7Du6Ouz(}K^L-d5VQ2WWh^ynrk9CnI*}?oj>~Lx> zqCEe59gt-2zt`cv*Wtg{;lI)0ztQ2p(cvG1C4A$IgbSCM z6`T;wBk_P2utUi=S>=jddl0R}=(W3(AeQVN3hSK2AuX``K~>2AAqe;eePWrZ1`K*T zt({M$8QW+bZ%Pp3nTM=NTuzrf)M@!plSJ`f}6|Ytn0?W;9%_pRG~c$Q~2yCq6(lk z!FGl-P_MO=$y@lcHm}(|IkMR636`<)LlkxSDG-0tN-_{;WIihlbc*P+P3&LK0%$au zT(d{^q5=TlqqiOO7#RQH9yJPb^WD6>O)*j&aBrdMm&iT4lrZs*p$FhU0&V4ybzzj8 z2Ux^(z#Fb5mX9vHG!$p646+Wtu*r)nkvm$gfBgJ<_?KPa2R{x>hZxkXE)btCconO7 z@fQ5vDvP{*&@BTo({AT?vI7qPAAe6Q8?k%^HkSdrowDUdKubuv)vUwh%$UiojsWn?}E98yC;!coA?-jGh5 zAV;5B&L^>;#~hI7_7-OXy}(rKePort1KL+@65P$ zed69DKOJAN(Y<38d~g*5-D-M2ktQJA#J!)qWkVp9sU7r9WMoevh9FB z$A=^Oml5vgU!ah5KD$m2a+!R(M(1w}WO^-W)^g;;m1N*Xld8CB3scT|k&t9r%D8F6Pfdov_`$JpmM3WAO1)VFa4je#k)L!^DBN`IdSP zLAOArwbdIEBsp>7_Vjh*P#=;@V9@Z*pY42cYS2f1YPS;Ks!1CmT-Y&6PPf~`q-yQo zj7+kRT)8>cbUkBlCo<@aP4f5hCsY$<{ceLP3f@ZsLe!1FObqpBjA9EoGShtE0 zlPCv_>B(&Q4Ow>>SoiQ?x!>TTb-z6f-Sp2~@66WZ2sf^vEaV>893OCrEEJ&2*^SS& zg!xSL;q>ek+K@&gySg=_&H!ET_F2H;_Sw z@jNKIUbV=Zef#7fe`bHqS9pdjX8fQ0$m@tAoA(!4;5WTAcvkq1^JCm0Xn%j~-$EaB z7y`u5^^+fuGuxx2m&YjzI1MRC+&_JigdISpEKmx|$0VXG~C5i_O8S9SRboTv9Er}RA^OyKtyxe*hUIis2^af9?L;< zC-8c#nG?Osdt0Cjb?(J-M9nb5e% z&1?fpMpAIAEfZoSWL4l=gj{qK3=D+3c_-xAW(LM>$OGN^cp6A|b?`u5D(8Qgw|Ew; z^N3|@aV2=5+0_@x@PV!?19_}ZtS=jTbxAZ%Z03xpQiQpBK~?*g>p;Wwa$Y_Fw!L0o z_TrT$iuim1dZji@{U-hw(47>L^luiJ^Sjmetsw;qcbu@W9d{pi-w841?rgx2g2(Ag z^CJ1Q<#v-PPrB!Ud!UID5g)!el8|fo0&ZB?KC3KS;I* z%&mis&H>jTJb8Sk7ZY~TiwQa^J{|*Gp2I!=sB+JJJoDj0*tzo`gGC9eN#!Xo2)*y? zyIvNmDzS+?^RZo9%R&^i|F{>i$I?(D{(93>1>XoS=h|lUP~eaf+yc3*w&=C&%sT-$ zZ2i}8!#*e%@1H!(E`w7}D4UdYmOu4yu$!B`o0~)96C>$7>5e4W`3D?W4Rxkz{X9g> zw4y@MqYU!!NtZ+dBUe+udo%clW{}gGD>qB1K&Tc^AQ_-5b?6+bH*k9|GN^lE0?9dn z4rX$r@Pk)Q^=M7hJS*Q9nuy3X#&J%lpk+JlhlBbk3I^K&3@5qa+yqR9O9ZE#sDVb0 zEjbz4i+XSsOjmF3xC^m^yT1%*z2X)0!?RyHJXrQ_vvX7^z=*ROlhx0VAf@+!;36_a zXBcaN$UBRudP4+&G&-8-94FS2&Oie3*ZCLEL zsAh^sJ4q7 z&?n64+4=7zZ;8#W=T^F@=^{jI9ElS^Zt9{b{H(H_-DZ!?z)i=}TYx@911U-mx3a3} zP5XoNet=sbL=SSJdFcUoQJ1oAN4H)Vj0-uAM*_{7;4+CQ?xS7y@R{#b0Zh#-llk~BivpIMu?`F>U6V10N zwtVKk0Cly*_4E^yV1i8cbVQa1GB;=V`B%maD~@oDwm-3%c%*u(SZC#oC^xi#%Y#x* ztgbrrhYeEG;NzOb#k(gVR@CxH(mS{=u#ZMwSea02=ys!Nmt*O(y!FKFv~84y!>K1+ zH1E-(UsSQ>iyOA&9Kr@u{6Xxs&)_BkHN}Sj*m`|5Ngs@Z7k8hoPi9`P3!$T;P27p0 zgbRLpkQyqze7<7nr|ZPD&Z97OT9RIRJ3yzOSwQ%ONc!5VFI)^h%!4<$Zhv*!MyMSR zfwC{DRxMGex+uZ2m76nU!$4z-W*{N;2?d?t#RPQNkL`G&%uyij*s+QeE^sm&c6xX< zG=|C`Y)yK6=7+w96G&y=lfhLFieJF(^{Tf{-!0pz z0C6*wj-Hq9(?50;u}S=toO)uYksqOMM>g4YE`3Y8v0XzyyZlr-=-NJ%+n9{)zU|y@ z)8ja{`ZiH3&^<`|Pdnt>i{ozJy(ct@C5dpnu_>>@1~sr$WuD>VN*}kQgFJN* ze?|HHfn|=~2l+-7A>L<&M+{32UbwCL0e}Z#Py>!o6A-pXt`cszD!}mL4$3JpAeu9$ zYpwKt6wM`OZqHwLp*(P|%zKcd8*dX@?=!gj^JSseHB2Jfi2+IV!BfHwkB&(2l}vmo z;F8)ybqm@_cBX#J4Hg=yaam10J;4=?w>{PLAH#Kqu!L^6Ldj(M=0u*@hzrWOm$6|l z7Ebp0$dPpc-WlHQQ|yCDUjwRA81&AMz+O{VGt7Y#evcf#?8O2A3P?Ng?izsbPT<-<+fdc{FDO_efx4~l@7>D`APmfo48~`(YdHvxo zD5H5mkl7k3i8^%Xrvb-u1um(_0GNWL7IBLE@#1Oo4Cwx0lU5XEA1W^arH^r2Xse# zOc|>G+BdVaIx`~xd#@$g6~J#9rxkqy_&szOtNtGzM*4bU082oCkdRk)%lf*2B=f`G zA0PKC7O}tRO|CC}#KjV64S>#k^+bz-AHj_8-Ocwex&L#_Ow(BmOt%!d3wy|p*}g1g z_^iA&TJ?tOmTG85V28n2y! zV^sx+;_$Ahx)Y?6v3!S>XkSEdxe}j1{1zu^S}RA6@%pML_)($4%{|gp>(!V9J|_gb zKBF=0$_cBq$HRi6xYj2QB9C;Rz<83O+y4=#-%Cz|USsbq@tE#=0zMB9imG?~7U-VF zj$MBjf85+bCu^YhRMp`@X;XbO!?CA4d@mL6U0S%CH7Ar=v+J0VKgLRPwzOA!O;@l+ z;?mu#olxJacMWyTeTfrMPwTSw9NDSnM?js5?Tt!!Rq!3K#2+v(#2A%&)kwFLpUXlJXp6J zPA5+RN)!p>Z8!lakskUG2LUKCicjhV+lJ5~#oYaruet+k`a{Cb$d}+EZ z8J_$@9uOT3Z@GCtFnL!^U!f*WMw#HZ#ajcpxv!w`gU{&1?ma1IjWY?S%hli`Cgt|) zIOI272$b>9Zwh89yE~f1II7rptSWdHS2{xC{h#Um_~%ROsgAx_=}$B3Q5YbnbyHJtrs>*c)`=BJ2F- zqt9V)G`V5QQqEu`-(B_~?|I#$awq#rRnO~Dhm)NSuP1w830+xY^V=BzqoxOKS|yD) z=p1mySncRBGkSNkEKEO;(Es=f2D$eqT9Bmb$(3(<5+>{B{rk#U*c0Nv{kLZ`Wm_UK z;}rtjC)^z$OQ9XdL3=>8DNGkZeHMX$P1_N&l777rmhmtElx_<%Llu!=kv=o@Zv~5w zoeZvPl0QB?yRJ^0BRYc5KYa6K>XC%GzHO{G%5TkF{y&_32Q=32|94hq$jqi9`<5bP zt7w_oJ4q#bhMOc585JQrl>Wb3?7dg^Z9VS~eaG*2&hwn-|3An1o^O%+bA7Js zde7JU_3A@BdF{fbjE_Y;H7MbYf>;zyqTvI@M#q8TE!&Dj3-@IYy)F08dltX-64r^^ zP!rs?NEMlY7eWgYu1A4vt%2p!mv6Z#MX)5ZYz}Jug$Y$$zlO|xps^05(n=#B7nnxM zy6$T~dH?cl2(kdeKR_0U7y@mT&|!5p9U29XybFJ`LXGj3x_MoVMiPre@2>Qos#jOS zlpg12ie9cn67|dZ$1t7tT6<@!0I=V>G%pC5zu_iM*5; z5`*$y9dFqI4kSBnukG8%XCfEPpDa%48c!30&!f76~iBQRst<+sE&@vQ;S zow9}4d(%z0GpjSX5GWVOz?%sLgY`eH#mHc2vT5nKeN;6v^yn7X$J;-0r_7YEr+KY~ zEjY-&;K{2?4`AJs<@t6g`!qVLE|GO_I_&tYaN$hpyD=!#FFgM*+r9zZ?mu)))n(Tf z*6S3YTn{8*Ls3a!O@qT=UyCtG(5?7uXGNiIJ<(q>(#5YJ)jt@Cz`t~;;RbQ%SBO!F z!0DdSu+U3;E-2075ui&~X)s^l?LK%9V4E_SQ*l8u7~4q0%?I`F^g%yO>hRibu5vtE zOEBK{mfdlf%2gh4Xb~!ceBq+YAut;dN!SbsUMP;i^LlC<>JAvtOC^HbSb(?#sjEXc z+;2#{-dQc(QT%IDrCAYbVA%6Pz;P~#9p0p)y4mC4K)jT+H7O}+!*@|S!S3ThnE?T$fK3oV5dsN|_m zFv`d2dx}AV_%pwcA>kxzYZRO!yLZhnT4aD^Ly%wpW4^}$(e}=6(?|Ck>z=i%)g=6y z2kMXwrS>16lQzokoIZy)-KZK#Ab*K^nAs^tEVWumX9TVH!oA;b4$MybY!dDUtxmeT z`_s}i)BY%qg>TAxW6c+uvjSxbGpT37K1>3<4Ia%8d9)5jxj6LUqqXG^v7Dh`ZG8og zb|J7?_NlZx@@W5|PCL#Gk7hpQqo2>Zm$hTHfjru6cr^2lr4Z(0={-0#KLaYW;NPE$gU2`)Y1z(XO<QAL2#ow4r#XNXK)?j}K*!iPX&v}xkqyZ`K(hW9gRx^NW zMSc6^h}0F}*$(R`f7^>>L{AW4Q=eg+>Qft`1LBOPzy-Su4tpwD*$ZKcurO~jJ}+;{ z@>Ci=X-Xll>KXf5#Pc21@%yLs?%k0ko79X;rsvCQi)1j)yAROn*lQ3bMC$Ht%T8%O zpx#Yk+vPqGg-Q~V)gix}5Ih|RRkWA1D>iZZ4b+t(1D01;03-`Ma%P8k-$cY|>@j~1 z{wK>b1gC*%`)>S0F4+C3HG&8W%6z`yg43cErx)P<84HtB%uzK4QA{K29(42wI#7^n zI%vePu<^v-4~kex0kg zF-td?3-&HOCg9N|Jf%D3eH;@y)elR@+-ux>V=M=! zKmuOMJ3#msXFqUEW!i%_%ytXgaTA1%tZ=VxPdn+YH#wqQYCRFENi)@l=rS?iFC)SG zSg0r%WjV)A{P>Har8IT`!K)19oDzI~3m5Du7#-}}%Gl7Nf!6cf^MSa3)_5F7_=M}f znn^vB!OZIdtQpz_a$t0r(W<6S*ttY)VHdb@rjZO_MSh~Ju66r;8SYOL=Wpp2{g2il z&_3_Xod3JKC@+*}u5PTsdapoWCv9P>Ti?CV_{$}WP2*pzXuTwaz?TFe^_crwvmZe$ zKC2Q$^eM`=p<4U#*WUZapxtyL^T`kMN`#Dlym!A{YER7>IHH&h_GUGG5oMpBt9sTI zc*c!<`MewcSX-c9>b-!fP^Sn-;3?*Uoi7sg~AoAnaimVUbBc@zoP~1fT+<>eZh+%X;8#Dvz@^5rc5wrTrQy zCL|7#!N6$OB}QNavkR?_!ysxO*fB8l7~z5h(9`A!7!4y5r+eBX342+#~b;P5jhr&vh%E3?E8s+RW2Q)Gogyf zUeXetzqe7$)NtsOtq_#!BDTY`wMDN&C*3^&k02-&iNCHc+~NN#szQ$umxe}xt)5Bq zQBZ1bi;Mr*#q3$P!iL?PiAW`VTiw*QI-SO%Py8-^ly~+{R}~yXGj=^%QyVsOe?XTw zWL36T=?aWT*}0;i>sW<_gR52{QDm9SV1*Dgp;G!4-X1v9s;#Dv48xJXKR%5By$ zCoc6{&s)9)cX<;BR7LmierjHvng}y__q)b7T>Kuy5B46BeQP}Ai&4>AmhA0&0LuR|A;$}>gAWwRn_TFmE|X9!Z4=x56N*N!5> zr)3z?kY1=uB(+Z>qep>AU84V3)j3qFda&g2Z%}F9*2_Y7dHxm|APq=aNQa$|O;X$eM)GsN$!o5f>lo~^ybUNgl>yH+-x)YHe5f;&^T zo^Iv618nu)6*He=nVGlB@qG}j3AX(wBt23igi2bCQy`y5Xyv{dSp_^krwlfWx~ZiY zPPBnaX4eQJ)GGqS{Z)LRu#^R4Uf!o37X-1@|AhtUg~LACe1V^YNweN##otixc{(Ck zgyw$={456rTH2dH_e6|Hw)Tsf1dySp<))fN=@UIVQw^v=sc7>#aw0A%G4wx;E!=$SXN ze7zAC{~C9c%TIql`Y9_LhYhU*P@txa0ZDYlD33yrW~uSmt@C)E5F{zK3%7y@xYTO; z&#TV`;P1li=V`V9T`3xg7rMnXqeH^h!=Cuf>zkmECgTj^vZsJZie`VVY~MT@6SF&h zj&{nWJ#vr=jLXjR?QX>{muHg`DnEaU(P3mbxbKaSpw$eOXLV}msxRgEom8q(hlbd?j-yW6^<+#Yc~qvYO4C73xon-@*KWdq zfXg0HTX@fY8hJz+GG_W)sIt%yx7O)+e=3^R5;M^tZ1VupMY160>N9>HOu{c8A88!B z>nwWwi+p}T4w@vfu6&cWblH1U-V~1VRHM9>CM7zq?Yvx(AkIAPczjsHB2Y z>+7WVwx?oQ;9c(gh_>6`MmD6yy9&ZCS)pp{bvPl#R~e}40#8J{pzY)w-A4lomX8(Jq)i_uLsoUx_|rGxwd*SQ%SByv`~5MgB9k|10koH zFdBsE5(os`?xwHqfo7Z47HrVmXv?T1sO`>G7Y@xRI&n|tf#xnP+g?GI+2B%ES?&YeDvFcnL=vPpxJ~zg3bH6`$Zz z(l#?d7%BbD>og3Z6@e52?AZj0Fux(w^+QG17>)_^YtegHA|}%k8wQ96@a^V4y1*Db zU_H|QfQkM%f^dXQgI=P}ksXqV&|(`%oCE{_W`|>5Fw;d7Zt9GVzgvqpW0ohlv&*`@ zTXbJ&aa!bjed!9D>n**{?iwS|!dht&{8H9~CnBX_$S!Rd(+-Kt%*M_Xe6Weu9+*yp zlLSGj&+49TA!>cra9F=M3KWyH$^R%&MeB8n`;3keO+t0jYOD5Asmk*l&_a#%xh>qA zXd5i)GdKifnAB6d9iJqr@0Rbjc$db&XzJ^+^h}$^q0&iWZcc;|;m{hZO)h7V-QI7)KYvXBF z=Bi~Iey74leZTW}ImO-Mjs5w)a_-)BesEEo**pkqx1iE3>Y&#wmI<^arl{14c7Hee ztIstqAc`;|APYnsgeb||rIrUpdcf02`A-EH#=Q`_R#miK%j!;N8RU^G1D9ER^v0%* z_jZ9kkSIcKYZ2@YN}?!6lX^*mx)qm~CjB5>#$Wo%I2Fa3r83lX689HXGUXeV6A`ua z=!%>ligf0Q0+^!j0CPATrmL3 zbg-4i=aNrzE3nv1`lgtje856`7R7MEe}%@}rEmS!4uuSnL?&fi(8o$ue|_z}gC}$Z zL2TR6pmbwdi6}6fG-B3gce8icEaFKEIzHpE-Dv1@d1$-Y&ZK5}cQVq-V0S0Gj+uc} zY&xz%2D6YqR7wz57dk)Yw=qGZDekdV#bS`AcL2sttRDnb4S5s{GYkwC%N}*6EC>6F zCvJ6vv>P|C?$^h6SIai?GQIU3dy}@F=&4BfOgHkm{~U&$a~cu89lSs6MMjFa6@L^# zHLKh1Z`r~c_2nhU{BP6;E|{55v^?M7@eVeu4!(xl(Q#vbSh=e;Nm-tYwpTsbgvxgX z_i&Z7tf3^1q^%AmUd=o>N|PUcS!uw9OmsYWv=M8i@fav6E$XaZ9)61B7gHPTG5`IG z3NwP;In-UOe$xzU_!jOPqY5v445>$XtGgiYFV3)yQUF@ZTs~7wXEGkt|oKFZ| z5s7+!Huqiu>l3}bJt!4>Z<*8f$)>hn>J74q-_uTaGwfWEKPPdqx?Gw>wwK_}NzMa~ zXM*HqJ?9hHFa=AhUTZd{Ylu;tBcat4E*pMEEKAZ~wqRkE%9t4BIZXyTQnPKao}%fE z@Mof)&6~#Ew~w>EirGr?G=wnRywe&K>b$=J8Es80B3f;nn*Q~@f-Q)_JO@qNi@b)V z;!!rWbaV5Y$?_815ZrUA;msV(X6`?-TwgoI8(StZj77$&v4X-`2CADNkKM5mAmiNC z@vZid+8%%F550%>I=+l%=DL@C$kSM7x(=9EG{U|hIS`o@dQP|dSH5M*iWLs0=J%k~ zs=CrT(SRN7DqgR(v5dDh`?|}ki+H=Yxd%3-@n#4wp7hBVL%X2WPhw&F6Nj|eA?ZiA z%ejo-SATAsIkD*V_kq(&JOd-fil{qBlefrD#4RBp$t7#4sdEZLEv4@fUgRqbcxu8N_k|lk!d_==?1hhkSz>w}+9J}_uBTPhB1=eAi8_sh8b+9+CL1q>Nd9K6-Jb2hsj6hHH2N5oh*SUqa$NK9^ny{p|#P(tr-KW(gE)4SgvUMcArCd&an-B1ZDV z1Hv(4ggIP}F43dOgqd=GRqDVleGf=*8aoFX$#-_Yhj`Y0l2~{+;>EISv@#}UP`0;V zRmBncSe21hZVhoo90qYVc>74YXi{>G41-h)7Tu;U)3RY~YcRId+tco?GWdKL78$xk z!@Ni8J&=}7Z5ZAtSs6x5>F!S1fh!V{>ZA?B4wVTFBWg`Ocm4S)WkD9nyo;*)T0evq zna@G=$KpfH9;|E`Uc_a$X*m|66)V9kKK;1V@@sS&NK96GBE&_L`P>w(-&z2q?ZkKZ&26ulo^#%0v+ExzcFzq*Oo|4Ps}{%oMN*hYV6p>kPVc^fMaP=5vV*-PvKF_=3p@ZSw1G?t6$lwoDUGFTUte?dDzGmTBMP$F z*xQW;8#&9UgWsqCDC0}J>+$VFeif~IQi9Zdy;GAmHQCU4#M>NiX3k|Hr;)!VYSa(& zDb^jM6X0JP(VrOSfIs#@ej;@Lj27J9 z{6Q@bk^@BLa)gcSNxjY(i)}p{oBIgs#u8Xpmo11CXc1k+yRnELW6RJmv}D5r zOl>!n6`dq3oTH}cc|rzr?bp=V2x9w_migRvle7W93D<6wqqEFT2r)s2khitdwf7CN zBkN)7;iz)bOH}V`+E*k)3q6?WjYx6$)-PmCBqs0mZz=^gP|>W#OH=#Im){(iTMWqS zN&pTzNrqmR!Q^DsV6ST=Efsr5Q)hu6P?2Y%zI)0QlEDlt>ns_+qH!Bs5#)`v9^%_^zgDk&-no`a2NU}l=o+Qwg6X!WdR!0R#j?Zfy6 z>mCmC^3%JWJBZBK2s`S@^(4{0hsDy!p15d^x8nWMLO*$9LtD`qzuC7-NUo(>j&4;) zfV>QNMJ}jzoPS~{px=RVW^v4>aV?B0Pk#`FYr~2I*Msij^_S5^i4+?7+~^Bo6;SP< z9rasF=nIw4BwC53`U*7-(}1_gmMF#h4|E_~f)v-l6y|@JKJ_#xe*Kgxzub?NmUD3S zTSikxZG^TDy>p4ArRlK5zPp~lF67phC!+#&0YicKfs|R(s=;!~LF0mGj3IsRWFtGM@(Lh?=hshCiJ zts_N9q!rQygcRe?ShKRExn(d~6Mzc7!M5CynPg*l?L}&9UFWn~ZwhezxYXgzrr(IY zaj7qTOeM(WjtJ<4BNZB!K&kyL9j^nVy5ZcF8{{`~SDq{)&<-b+a4+EZ1DkhYHk zP0?0<$$~}AqxBUXf0MwY8xDqAVpBdF%L6{q0Jj*s1osAIK}g0~C+$YZ^Q;6xjKs9SSIR9aXz*IFWagpY^CoQgnVpA_y{kun} z*Ox&jmqQ%$Gl;)5P1$ngCdHC--DSTr=(IiAZL7%mwn)#R?Y0^@L;~E0n&*8BYCKSx z0SyF>ytqX~k720lm@jAR#BAf+Vl|>Kq$}?Q%&_Gstyvg#>V5!8Qwp-5>gg@+et+*tt+)VDPGq5 z!%}0W;QHmgQQ9&Bh>5%9Nc607zH?mVJ8usvq;pCRgEgdqJj-=Y4}hf6_ioHI=Hmz!nX_~c@R-x`Sj@MeO4iyw)E1y2!j0Iu zTlq#&cqC42-N1c&Vq`wIg}-tEiROAhc-uejpq9Z(JbQoZs_)k7)+MaNMvS`4T9Ai% zIUle@j_UAv_2wzwH3Np1W1cj)wgjoV(WTzR738?bc>(b?JQ*p5g&hj5L7wxyFaPcb z9`ig7B{OR!4-^MA5I^CrV(neGY$1r9}46S%vtB0t#!NPu#Bwj?c&kp76LwD3Ae$(o+ybYu*j&O^?Jl=l%2UX>kG)ydft*5*J6JOTLhOzDUrY^L11o#1^X4~*JYlbIxC20|2eu)pJ5;J1Gcx*E$pb&|rDbk;dex2hY-1xvmrmZrNv zSuYv_1|~wEM)8)BGWMdE*Q5OJFng3Ft+`~X_HF@5od1MAxPp)%H)cJ&LHcZs9~=4m z2Unp{#nW{ByB2HBAx85|w!mHy?XR<`hXWlQUq3!u`~2gk1gUO?xGwrTMHI{PFd!qmXh;YT^bk@M0#SS;vo5W39MW+)Pj`$=xi162Dvli9 z9Lc|B0+B}2ya~gPm&ZK0aQpE;mD_P5Y+&$09xpE+`+JKBNR**| z`1JNtMF`N+wq8*~8c(EPHIPY*Z&V7R3M~4zCtkJWd=iZ$Xlwc1U~P$PaN*PM%JOLkr)mD(MmHk00Nn-!k=8xGm^itOL$z=Xv$y2hiWzy<sFCH>d@PkjMS=Zzr4 zvoDU1eT^zr2BpLFp^d{~>KVL4tF1J2*=$Q^zeQ+MoZ!bDbhh-W)SM4BJy z!AQrYZszP0y#JeA9}JE<DfW=K&y4XkfX3vNnKr1_%&f^mw(ptt&*w~&c! zS(468o4&193E5q<{ GB)d=wLv=hIQOH65co=|TE@tAZ^YIIGbcUV#t`+URVqVLP zi{TiSEO3+`z~6E7jwJK6#Dy?y?*7+*(JV>F-GukRzaCI>2c9CS;Rp@z2!>lzYD}lF zh{mZBgBE7gl8YNAy7FN(OLL~^57gr5F5b3p5&cD#h53EYB2_T|2|K;Nv=bcoMXv#U z^fiuF59ADBQ06}WoB@I+;HI;?{ofQerac$g^SOg{gC$3KsrZ9Z+cu3IFt&J@>pVXV zp$nm%Q4UL<^%y)3)$#JUqt{M`$!WCwtznqaC73FxX_rIm$%xmFpX%@fopnfFr=ZAs{R%* zCiR8gBB~!ZtyEmUF0Da4IyT|(n2G4q!c||jyXYAYT&N6(u>#^5kZT9q@!NQym*L3_ zw3Tn>+nq(e(Sc0W;524mNiN{t1K4Hu@GJ~5A!psM)R8GAXq_J*HlsI> z5nG@MTf^+A5?QJ(YR)31*5~B~<+VcHdX%G5HhoCgkhY5OE^F#LsAsp_wsL77jYUd4 zdg%4e(5d{2;|$Lu`^P!V7d${r%6qj%N-E8uL`)9~`6G%>MQQ~*153;x#pUV^$yVm? z!UY9j#Oe&2d!Rnlozm2qK7T#V92VJYUyim$kj8OJ@EXyx9}E97X~5Q{3qan5{bb8x zm=l3<30S@k0+A)kl@X+wz8PHlSSC~&-JcJIYa_I7JVx+hnU=F;S9ks~bT63nS5`DP zz%EJO#~#CGK&q!z#D-gycR7%rR#kh<#+R45E}P$mm|}MNr)Z>t$~>CwVki;S8l)Vl z{tkkQ3zZ-TKecgy4?6Z;d7)^GdH&OM(p;X5xag)y%U>*{I4o7p*>7<>vu@31&X#h4s>*kD~!1Wv_c zOjVGy(ptibGcUZni7L7HxNzd#$Y$9Ay654i=t^y~Xc#0v@VQjXRy@v*`Yb+!)HIFr z2ON1eg4i(7XE0stiFO(k?H?g^B7joNQ_c4_BFx*dTPWsucJ}rL&cVM2MI?kml3e4Eg=D3R2JcBY~j} zmjW@1(v%^=U!;e;*4W(#sAu~g=?rPc#V&Cw40VN?G9rgTi!*EG18oT>$QfF31&7zr zh5m&FD1}Vf7tXAtoe`2JR1NL^7@|7Z2iE0_j1CD-}yz z+rpA5{vGKmkhd`8E4htQ8Uu}Oiktgo3QoMV(x}=zBlXFPm^eRUIJh5wI&D_KABeEI z5Pac(2&$d(0WgpNraxaBril+(UypfS0aOM1uT!S%X9Pl6(S!yWRAtZ&ZA#}Ha=hR} z6T`AjooKc5=mImW-G?Vj*=P)j^#JJPfK*Q^p+{SpqMllL+tT)}^+H~^57Ow;qLa)x zvlh{(?HH#Px z4hY!;2LQL$ct9zVlE2nNE*dC7H%VPnYSV6;V1V!dM-)a~r~ypoR3ph~w!t;4?c zCy8_;Xox{TQ9SSKpA^>K;g)2AHGFFKw+Yn>6$KNR!2-Vj;pR`Y0Q@1aJPnV=6&1O@ z)eLQbKZ|%;ZVf)cr+rTH$DQC(rGbmI@I+^MAqE_o>FYyzF@zcZTx8GlZdEfZUVYGXTk3Mod_Cv7OV=9|_bv__K;1+lTH_W1BxKiew8*vXkxtC0D2hF(s zE50F7gU~u0-Gc4{CJHBIfIN}cUxBcWBS7`O85oxJ=_&l##$)J`ToNZRpd%ZDP2ksB zzet4k?8!Bbc=`$i>xtvRaW7GE_7}2L8Zf1`e>xD|N*v{@D#scm-3kU&zv2Nh{l(xD$ z(HKT6g}8FvTtQ_?>{ZRR04z*RMvdG3ORsLEH;BKIjGUNfl zf)NDo&;t&s3j7W=-0{d)(H4LrgTi8!=v35&ym}<$IJ9YMN)kehuJhRlPKmeq$#lH0 zkI1_KX|ClY6q>7g*mzgS^1QeeHKsU|ELCs{C>QckV0cTn)8y@0qVlpi5!4`*OBi~ zy9$`xKhSI7c_F)@MkyxK0#y^&!QtwU=M-YKan1W%1CwL+hWlnA%GfHhe!wjJz43m`fj5G6Yd zHfsGdLIv?WJ$P)O*6D*{CR+1%Ex6k9as>35Hu6zd7amVI0_P*l?8joa#3NT!`DUD= zkx3UQ$Oej>u70Z34>c;O=ZNv1*CUnO8eX2fRMzXamM1pQ5}jV!-%`qdktbD<3~1tu zv!3n@FK3W%Rv?^9zHG`jt)YI}bux$6)=ZbTIusAj;<7fan>M1@uEsm!* zGLpmw>L+dapDm7vIp9eWEQ8$vu|k0KylL@Dp_6F%eDVNp_c^5MP_ut|sn~7{%Bal3 zActBw25>~oGSYIkOa1wGvz=C=j0tlNwsC*`%i^oF20hKDeKeE|=XK@hTI$eQ2+Syv z7ao^);z{x$wFA6|LueSBIAmn5n;OvD>W8_)k$eV%-hQ@5cL`Mm5!{8x@82L{_h;$o z@@oUEX!SRU9-%QPiSjri4OA8bOj}qp6TR0u;>@=Iwn15nfDCW)7bb4?LSR}2!5ocn zzjakgRZr$QBrLgph9TTXJ%RyhY`l=K$x}MVR`QV){y4v#a(wJbHwu=8sMF z90Zv8`o~bO_b*uY;(l4=z~4_Rf9{|Lc-{V8D0&g>kIc>Wg4=}GJ2)wBZk5(_MS=91Lqpr{1=8#k|bh60u zzYQ#K2N~DxBC&@DnVAqys$k2Ft|w~ndT*tlnduml3`al-FzOEn^PQN_*wL#!dUSGl zzk2xpJ+4eAeEWMkats;3I1T4Rhqs#F9)6_Gl9 z>l>&9D?|%tG@;9lB*X`vuo#E*YQ z9Lkpwm)pH6*`yU*N~V7i9|;10Ig87SgDYDN(tgEl{7V4ELt6jHyS)YAG?;$Sglx|i z@9eiUb|dxsv{!%t1b?UNXD^&7>y6rL{{t#zK{!IXaLBAeU6;KG+sO7Qjv?o-3n&_N z5`>j+BXJOJ?oQNG^$2|uG(_q1H_!FO`tBG3RsLClbO7K0waC9h2q5s^&H@6Go7Z9U zlPr@D30Y_$;~JZMuX6^DZh(N;bwsnZA!o9!wJ8mBQ8x13*x@9as4(dC@(M>VFZvsX2jZS-)op43sMnN!Gi@6DL5i3 zC!W{f)zKT`?vl@>qG` zqaYCMDTA2#8x?Y1|1h{QoHc<@coi9DJOh^>PANQF{T+Z3)FL6T>^vmdEq4@qZxd>v z3%RaOY2PYOY4RuBexeCRTK_wlmEMtMTs;Z3MqU=Se@(iwwuV3wsrIJ1{UcaugaaIb z=0h}oqG0=@0c>I^#oK6l3OFDHZ4Z$rGEzAzF8P1`xOo{qZj(>Z@tKCH;#VOro+h-l zHJ{S`%0;j5Uu4;ECy|m?`@hR9|L@KsL7P*9R6zya41TvQCBj{9c2r5dZ2p7-M;9&n zQkbNO04#pd-t}99Xo15&ZdSui z+?8l+<%QQAkA3<0598s}a&d^u!mj*($7P2N^DdpJCg}v35*W9q z!oqB&21s|qCoUG@RM8EgtwloQ_T>ECk5Kga4acoFww& zxCSgvcY=A>=-HZA8SXLUFbN%PU3y-@swdpGC&X0BD$@0ZKnM2-!p<%ZJD}=W^kS-D zcqdH|57oJ?qYpVW_asUXIXg=%RlS1BLF-jJ#4sL5GMoo*C@zBmSqky6_9AX0%b4Im zgxZ^rT4qjNzcuh_>dhfiIzgZnS_mBWTEKJHiuXDaS^}0#YF37abx;4;Cy0~#<5-ko z{5q{DRH7Zkqm(|;awGG(nQ$i8i%K}UkwF}s7m6y{a5e=)nZW-^8{Ifsn3^#EN>zGk zl(Sbze)7|0U|E8W41@ttuqD z-!Gno;vANo#%2?6MQXYCrE(8i1|!M`?kpS}xZb9dn|xBQr|RdYpx{-wXmQq*^NsQY zPjvG0+JVQrZ%R8+QzSd{xto%%TWQ^mjbl-H z-OKwKxiPtOC8d!P!N&;y{Z$ZfY)>Hn>hrPlvQJN!oV<}HhkaHW`)sfvmb=OgIyQ!7 zQ7peTNwTcQkMgevO|eF-6`tZMl-J?5u|HN$-0c4F!DuSe*;Y7$P=M!x=GD{K{rHq8 zM|TX)!Jf^X9N!uMdbv$g%c;th*Z=vsT1rpd!`E;1e%Qn1Z0le9l$zVnu^1dJ6i{fFk z+L>~6u(>DhJX>(aj-c!PDvj&#tpEDzzXhKenNXEob6Wa!jJen0H_K0A?|v93xbHY> z44)~%C{9KieYynStCsC8Jn>U`!o-_BaSBU6@e&vuQ%(=m1~8a{%0tehPHye&yWaEt zg=#Q}#{F6U+t-dXZ8dt~$DF1OAuE!c&E@L2S(B1`Yihk&#$NXt-`$4#2FH)cOJTE} zsSM2Las?T#O(6P@WVw9}~*bz0Qh zo=wdh2l!AZluU%$wOrO`+0V!al9aeZigo>9e=q6!TaJfJmoA^fLQyJoqa(s1Z03=T z{MXkcK`YsXx&Y0juwz#-YroBwkZ+Qog5^_%E8BfIJA4XD0k7M@)#6v;@j8x%z(239 zyz0+pFMh~Az4MzVv-ot7_-_S0g6-cEZy&aQyx#bZuY}nDjME9v_D@QUFfPK8a4o=3 z>?0P=@%r2r$;b|8E|qiMjb9sj-olW^$6xY{(VQCdUW%{UXCwjXt@*vaUU@+HL8~+o z73c68x%dE!J8E>(WDm1$3Lo(>x)CBqlvU~W$1hex1{_K;jKc3$#_Dc{@#}vGBr`EA zu#S%cAnrpZDP-{!$l__WZJPeQa`^wxC*xS&(MuUbGs7;oS4Ee+f!&oJCRp}Y9hPk- zeEW0(m-U^rz}EO%rN>MDOn+aI@H4^u#$KmO3Z0X7Qts4@01`vaWpk0wr1llz?FkbFxcPFvjytN;~)d?aj5`GGD^!?nOYoq5>E$y#vko zhCZt@KHYpv^$U@LrhZ?{yZJwB3tmR67CcUU^|+^Cvx8KwhpXdL5!tWf6?iACdULKy zOkhnkqRK+x?YH42{B9;MW^F_17hMc-D7_XyZwnKF^>D0AS4L~tTAg#6-V2!*W=TtVJJJf1@lmew;}`|>5xfo#fjC&FUZu#>Br0Bi8@2CBuz`@tJRR@BTPu@ zZR6be)AK69GkJG?m907@AM_^b_mE%3bUYiydtC~+_}OKZXfcOzsOplM#vH&5+4!hG z>K(jTZUPuM%Ojz`_~L+%GmpI@73Ugad$6jSW{|!9*VhYzJpq0k6a`%Cn&hLCGAx5w zfr>br`m@7#v0tAi%x(K7qQyvm`0rry`N#-Fo0^5Px(%0OaTydBycfx7u^KGa22pHE z%I5~JyoX6-E&x*h-LuP2ekUTsQP=bQ(?ElEHP ziG~5mFAo!bJ>v{oPeh?HYp+MDd{e{7b#t2{q9u(B9;e5dCUraA4OM0_XL*(H8zts& zgOzs7?r|ccq??vH&zY^@SEs_}dvncF{92?WtyU)ArYW#wmR&KqJ-K&f z$1!Jz3L{L3V(hQj_t_IREOm?cNPaW1Zb?b+E&ELxxpv_Tv9PcU^WRaMLmp+t+mn%P zrD)d(@h3U6w02$Yn!`fHpHM7r%bs7rP|gdv9ba&hea^<3b_JXH&^iYVj|lvib>=-Q zE!89&{e%CP9;05_K|PJIW(MKM z!TWnV#MM^m(wtTUMR_C)!n`5dv`Zz+mBfDE0cXxe$#JW`gI}v9N>uHK#d!T|Y%UI5emflT7+wFN;GEW%2d{^9LNM!dsRa_4=>(Ol{bW+R$}ujp zT-%UF$eC2C5sNu3re(aOQh570D1780LHJm)vV)BA-Up*!x};{=aMtsO+*7NU>4hE<aVu+MS-S>gF0(WC*E2n?!#h`hxA(z@LbxnPC@}{4gmxkQVkV&is!=w>P(7cQHVc*yEBAS(J-;!6s_NI1|A8_1$pWI?v zXgeW`HX^H`@69&xbvc2rVXa^W7w1t)^(>ioBXSIq%?0G=onD((Jj449Mn5HN<@uWj zN`gN#UglfLDb&UI-Mt@sgTnwLYLrLyzI=1D}mj_TOt$pv)jiBIk9JoP-oo#oa>|0&FVP}Zi}Wke8;$!YG#l8YO^O2 zvxrMSH4G6aKTG-=S6r6$y+Y7|aYNb~Ga;+*^+ShG4!;Yr(cfGndfBk$9t;)OBv7nx zEDkWd+ZLudLGYTqMuk;dj`U!}mnG3{`}b^KkR(Roy|4wn<92iOWjVS!wmtnP6QS{& zY$mdcUcB__tT;>I=S^f)&zF|TKDav5l^*$u>9VkWZ}F2=*$5~3Am;S5chH`3E){sR z$)!49A9E$MWInx}xR#ko#^unNqRy==&AR=PsHOrIDQ7-%fgkuU`IGMM~PyyY4eC^*}%1`uEzOHYn$1Nkq=~i?S)U4 zlD0+7eW#x46KsVZVFvkgHU(XkwutCMka@aIbv%SfDxcN>qkA20PiV-i7M*()@ziM- z7^z-rSTj{yEZg0D`7YEz>g&DdE@+Y!(e^90O}ZY#a^@_u=ue8#_o`oyFh zm2Z%T8ejIS89_SdG^H#$XZul9YKvJ-WNR1u z@-toZTZkjF^U`Lt80w3IaPWeMRxac?Bs`FH&RHKjU+2vB27zs+(C@p$xbiFB+f@$p zA|Y>*?Mf7e;$(0tbY5*pP{(319xH?<=p7ClG?taPjCAAkfK6pGicF3W^Yzzk;)0i5 zKAiux?p~a>hLId2T>rTtlSbK3`~Xi-LeNX@o_wvtJcCY!8S$unx=volNEmeFluD?d z#C=px)tI&O#B9y8X>6qpE91nJdctf9Ki@Z}CDOcfsh+mtCw3819;L%Cu|%Yoq08~v zC3u%DqmIYrwLvO=JoEY55r%v3>(uCj(;4wTY zp38cKe1&^}%>(?{)3HWzOJpmp8%Fc;T2(p~X!oNS|V(2!D3}$)_6jasNv4&I^cK9>e zH}T+^t}$kRT*k#qpT3H5?q3mYjk)NxF$jfd<#qdcFB@9Ip|e4k z*|I%f6myv6(_w)t93K{n0M2&my%@94fe0cNjHS_OX zq!%vuSuO?*o$ouB$pdeOa#KHA1zSx@7<*1BCIoWAx@a%;OW*&(0_1Q=L0U2<=)63f zRrLO1Q1-oh_mVf8UaVo7>VxCwI#X$9@qcrZl6)|lhn(@w-K2Nddlk?nv{AvBcq1uX%+olg+@FiL043gN;Qb_I|Jb-!Ij<+Pr zYxr)gFU~Yd`o+k7*bnYy#($`s6=W2sQ&IZL3y<^lj`9~#j$ipd=GE?xdhZdpiQjv| z_~O`w{!5Q0Amj@Lbd$y&rCssFJKf50M~jyBmTb#`qS?4N`&<4Al2`klq-HO4kP`w=G%R5i5vSM|+{?eJYGp>$lB$!hy&$XJEPVz3V)6rSA)b)06iZFZr1(i$hjJth=$99Nqe58tXTkcol9X5|+|hIeW$7#}~akAA$T z)xWMP6(jg`e%Ep7=C#EziuAY6OD53?SNzt<%kr&;nBS@B>*oFxY?F)f*7B#|(wf^D z`sS2L;ho)_ZMkCa3yd)>j)9*A{2cf;B<_8vV+pB8E0;N*l%F@j*!~de=KRjE)9-VF zp>j~}qXQq$9uyAbdOO)vO)R|P9be$l%9gvsbTnSv(hvP+Uln zVRe@DM zEus)Q-D>**-Pa`Poqd)8<;EP`%fjBZB*CbGS@JkYJ?rx7W-PnpFD%{#>F|AJpNQ>O zEK-td_LPjgsZdDJ+C53eNL9Dwf913UX~D?w2_n*~o|G{?G^ssL9-w{}P3@c=c0>Y2 zyUVnJLH|+QQYd%9UaLwoYoJ*;2URoo+WEs+Q9=63*43AdPz7UE$G%ogem_YmR50_> z&12Z~_b$~FlHZErBwuEYM-Y2&BwQWO72QLU|FgjtJ?#k@9Enq}dky2UVLQH9JEs^$ z@IB#LjV*}+%JsDQ;+Kc*w@ed#ms3sseb)$oUe1x$xLWH%buXwC_N3~H3qik*&;7l; zFhlo3HyG!~eo2kZ)?gNk<~YG1d`Id`yX{+!+Y}iBFLF`E%d*MLSH44S=mykKI@fiC zAE(RaoZf?r6*B$``w9J!%4q1lxdgst84mM%OF`oHaqCInD=_CM5fmb~Yn}$H$sphx z9xalGoXOojrz>R}<4eklMd``TTL}QY> z7fUt`LL&?eKbR(Vv)n1KAn$mo+4}L_OJ?n~zC81(>#vzNKXYEY;$jiw!q2DkB^ZyG zCb@-|bYhyAlwJDTwQa~bsuG_NG)}KVMMqt!zS0w4+yV4AHBMi3DGn@c{Zu-fi@)8g z@N+30!ojaDDep?{mj?9>To;7aDM&l7@Q5sXNwO6z4VLJtpFiCuKlgtad+&Ix+xLGQ z5gN86dnclZ>@64Bva>H#2qCM>E+eu@WQ6P;Wn4x>mz9x`nWF5yLiipp_x=8SKkwf^ z-{0fW<8fcDyX$$$=ig1UT*zQ zH+#38svv)=LtPTNA$C6C1VMNNci)1t_koBP!6~uX@7IM{q;?6l1e@6y7?;BgRuhuw zh3zLFE9V=AO)!f_!(()tSou!qF1`pJK{x;eJ)Q)kiB4AsEvJgL4Wt`?jt=r6%SU+G)g2a`QVmVaQAO-bzK&=oP$93~m<(cU7R~6cx zd3B+l+(BnCOL>*YF|ftnIEQ*ZTci|DHD98{elYI&y`<59%>Apzyd(wTxLV?+0*6@4 z1>>wKI8%yOG=5KJKD|i@Qd{+`ugWYKqf<=BZ8%HMyFx1S66n>Mb%$t$SlY{Ixi+Ev-N#;E4| z1h|}2@+7(!grZydh)&UHr=ZvJU~6<=tJ8D62Y#K8lbDs`C!`8OW2aaT${@rwT7PgD zv%mexiNzSbzqOFZS-~j&;G48ZjTTb$J|Wfqb|vx>1?>{exJ$V@b@*ESE$a7MmTaNy zd{s&M#_^|gRN@7x!#DTTyI!DGrOaQ?@PbN6XI zzaqaRvRCX#Rf0ZAwM*>MrDZ17g^uHO`fpB< zjs&tUVjKpGuU>oWwO=!gX;*J}t(8&g_dRp+is7^$os-bWN`n#c7YKP(8!c=b(1<9= z3k7RVliqKispp2uECgZT^;WV?bnRkg$E%veXPBNIYb!1)7kd1O=&}Y4D)XLQ419(+0REXRNKl}QQ3qR-NWr8-;=1AxB#0k@@+duD+Gm5cNlv>-0 zeoBjxrmiIAq`_UdQTgeH&DuhOQW5YUJ= zuqaB}S*kqT0|JmEf#{%xnB^9gGa7-tQd|9cm#Qu+8EWK*_Mg7WL{M&?qw?BALv&!I z&pr$;zs=`oq-0%L?u*}aShH@NV{9IUK95f=WbyecFDYZ0x7dCw`Z$lht7w;c7VLd- z?V|$b2=^Q7G%CvVN+qJ4Vv9{kp;#qwlVn$idM=yvwNI@s)bkkS{Zh9NXRqU4DL)mu zdS2$yI|)`2N@nA__yY14z4#rZexq2+ChejSTnk}kG~vJfu3REBY{e<8BI&9H!}%O% zbnA`9*m0JvxDuA7jldNrBT2E&z%4tKiVbbGS8MaiJ|w++!JJ{#>B|9B8aXQ4&S?BH zy}W0|Ce@d84CgVAl3VRBnLl(;JZr4Y+l##`6)01=Z{%dm*5{ybZSOYl4B*N|Yc(Ft za9xwxYZ8CUBnK7EzbO_L6x4kooiTvmFs7?Im}S5+>>&Uad zMKy+bm-@1`Hlu>N>mPQ9>=%PY7_R4(>Ko_O;k?d|r!!a>t>wcXdXa{Dt#aZ^NuTYL zAk*XI>&tc$-k`sBCuVcyyG7L5Cja%{U8&(EgZHIknYA{XzZ$*~w`Lhic3%#Da_%%= zY(NLeYGdbrx|RRa0fe^YZ0N4oJDKzg%04W_$$A_JhkTuKl8)=TazB46?lTRu2 zEa6GJ+#Q27>@^c9Yi0tY;zb{b)B03Qgao)vlkNUnGbHo`?1Vy-iWdXQ&y~pe1)o2s zVTAHH(~yp2(l{i73OcK}lH^fJpchu2G$`GFao^fTsWSjkMY~8`fw5%*oV10{{w-<-A zE8BUfgsK;Srz%8y(%@o*?K)9vm&|J%Q!ZR@hi9X2V245aldOtYPfe?%zW7v7Th|@R zO+wlvtds)GFg4>)TFd?MWXei6$l$cE?{)5JNv(zKr6)LIH1cm`hh--f7%dRSm2sa5 zM$~Xxw4?Uv-Z#S6z20k0?+B6PpC>=nX!@gES!kRqhgZ*QaKM;H&WPh#A z7KV7q-m})rl0C|tRrcxsM2+V%Nkp_mvoX_6uG$+WysS)>sKk!-(}MZlp&V$TS!tw; zxhgEph)ol;FujsgD`Yslsn@0aYgW3H*vrBz7O zaQR~1>*zpB7Gu^RIm-Z&&k9J^o8yF|_Hq;3`!;cSE>9zs8*T%BaerBFMgHTB zRu2vH#~(@P&;OJmH2C}MhAJoe9ut$S-|h98ZkBV}Qh_(9H>j0O1aChCEMX4Lt=a~6 z!>XVPf6i(u)!r7*!{xa=rdH|H`|7dJ*$3i;CM56v2!!x2kFXH}W5B;@a?+pi(nmdl z=B@q$y-OdYr;TZ@lo*z!x0__BW3Wo2z)HzChzNL*4}YOF{dnQ~z!h=~3q;$q($#oV zctfeqjmA;L#H2}r7U}K>cNRZKvy@HSbYgyYri8z@`GYAU&p5v<_R9KNEc3$23}Hs@ zK+Yq$bf*dLqI$#vPO&lMS~U612b>am39x&#hvH2)2l_UucJ5N|vPRdb%~-c)dly^` zTUN5G|5IrtzCZjwg-Lh!0Y;v!zb%+MML{m~Zh`#$olrFw%IzSiB0{7^PGrzt7M9$` zZzx-`c`i)WXPNPl`pRa;cQ02IXWvw27wFD8aem|#Oj<5I%NeU7= zl%Z8|YY5uOvCHH2MH$pvc`Oc4pC}R&t=9QziB{H7Esff3^H#0-thezf5;K&qu%3`U zMJ6C$I^;KWcfXDvnBhk*vuCtqd$(==lJ%20{7^mdhpEzI!9ZjX*et)#Kg+34En_Nf zj8&3fFy;e+$9<0GeIZ2i!FJq3`?uGCe+2B<@9*FCyzQXZz-aa*3OUucm7v#fo8}DJ zV?rq9IrVYH95 z|D?bLj)0A=QjTBI?mcwIO~yq=kE8Af!i$dQZ_v(07(}>&Y#%T>L1%y@WEQw8_P-~{ zr84ahzePi7EU&q^`)rKQ3%pZFe6LYP24I@P{%p1wP)P;m~RlVy~GhCqg?PmLX-sNs6bo6sCzMa}C;^$k&5;@>2QOp# z;kWVQNd6uE?dn3H^`kkEkmivA1Mvh8-+ZW;?OaD(_&%Ox~d3=IlH4He6Q4-2b~sI1fbv^Xc=UMI_oe zGYbD4J(m!?rizRQSnJnc%N zt0Qr$azVjb@!SB8z}RYkdnpcxQTH=Z7^Kr5p#5!<9rYwYe|YY#(n8P+dy%4!%5S&WsKUJs-( zsYJK+bWq5N1hPzp(cIk{;>Z@P%*&SB3;CO(9_UD>W8NXf;=P2livPq*`)>D`BJE8H zrTnY!8Dd!2^ncbecf_p6Y34NpUxurNM!u9 zT7A!i2lwdN9&VP&m^J+wqqy!e$kcmG+XkZ@K{S${#Y2~Ksn66K$CPNz2TFea}RNn}j)}x6E?kUs_QPEn|=qI@w=w4L&ygkQqkZko=Ho-V)_#O+0yPA@nQb+ld{oqoS=oBP_@Q1#wG zvA{sltp`6A#W}B21}NbT<0<%{TaNy)h}=tvYwt5=jbr;T`DblP`0NQ{Jb0Z9W&7`x zFRqo&RL33Ra>|D1c@j2!pR8~bsn?wi=zC*_FKERSXlDhr7oQP#1HR+|mPsAxHQ_}P#6-w$zbF?Mi_lhSvFWO`B%J81uPs)`SO2kh~mb>rx0+Pb<&}V7@ zBJg(@9#}h|57hyI+_`FpkLR?mHSgS(nwx~2Dd6ujTb=!I3 zlL&6!X7AVf9d0>GuBFgi7lf1cTD6o^$RAOEn4!jHPBFhW9T3l>Rrvk-JK}zp$V%%t z2z!{H0rY+>*0P_Tvwr-%Z$=@m`F1(jU=_{4Ie85VSaFTCga6Vt%DIq2*Yy4(R?016 z)BG9pXH5jDF|#9G(^Ka{=PwcD`R{8mv#iE-S|m_<-llC&j2%)r6L*>~p&I>nf14#i z!?dPNw(_rHse=p1HI5U3H=g>RfwL2cf@gi{aWkBS}ETB)63_TK2a z9^YOw``X(Tls5zuP_%rgueiB`D{0rvxWgQCscH8&0}wEpuL|#CSm@Vd&Cd7DmYUTI z+1}M$nEY0oOIR$WZavq0IAjDxm_F$8iYp5pxO8(uZ~4yUCO?_Tkipco8>I`|Yi?aY z-$NfXLPtemxS#FEJ*}W}8_oMpUkfljB^z&TZg2eV(lhSUanZgI>S8pe(!8{vxgX}L z#2ND(?k<(E_1XWrx~%vPNCV{whpB54G*IlltF9xzPr?rX`;_CX_!{QZ2YB2s^RbXerVvpW0J1RZ#r{OWiVkxl9qD}~ot zXIW%!+m_fL<1Zdyu3X}3j`mK~p+Y;iam-Q0d$`UhA-m4=a}(J5qo6K&UIKGmV;U;w zbKsZP8mWam(wWd7@p2k0HV)#EWaE2hz}l|(TIHli$>b#N@9xHc9#fD>P$RhsrKi*y z0sW|}OCjjXF1h)FN?||(?aG2LxEQ>g-AWlNXAN2UW@nfP!qxq+AH{5-#k%m!@slxV zv0nb_nm~S&wH(o6m1oU-)Swdc-7bEE-Nzp;zgu+gN8inRIKJTYB%$1!PpZQrw*;~4 zb?Up_-;YlGnezUc^Jut_+gHXjC0ThdH={IWpT$q1i$g1YOlWmZrtfDfcZ%1egC(E2 z!F}G{mDr2{-?ue&s^&h+YYFextoF6D+ZJ@8|#b28{f;_fFpiv*r@u^sHW z+&jImDxtdxrAoBD_2<9~9FtteCe(8?UtaP-3q3-j1yP|C-YR%CQ3Sf)V&f`qJuHZF zAnoi7jPjduq8ESo%IC3&j6w@gwWXB_PuTQ=Rr7>i1~ zwm99Uy{BDhV0S)`n zuWgPx+Y=6NxJ~2k->vVxAn7sxW}aulqyj@BGdBq;KSS#t;H2K$-KudkPHedX5)R%j znqi9T0Kh52Vwfm%En9+gL9@)Y!m;mo=@(?LOZz+{L&-?J23Ub(xN5YCS&v?}j0@Tc zj#MGSuXH zIm6M3h}=~*-sxYtD<>j%W#o)u4D_G)sxeqPnlJD|@<5|Df3McjucE!+YhG?|muE<2 zk$>YfhS%UtIlO>a_sKIKMO6~v3BSwnoh8@|XoIGRES=rmoxOV3-``o>{SPX?YY(M)2Dtt9n&JTZ&68rbVF-=j#+uFL#w)R~%H$xC!ix%=Oq@*j=GVe_TLE9yJ|l#MkC7V!$~FGSt`lIEOt3l2YUH^^mH#zx7pEn@>5~b zF*iE?Se1S9TPx0{_3C8I68u}GO(OGztA`8Jd2Qu7Q~mp&p3>_4eE3Gl=`V`Q&EeMz zhQosSZLiGW&Bej1U%5v1qj#3MUrLT;Rep4M(Ac=%*=F+#B5-~(^q@|JVlO#sV6?DJ z=r1${Mvac|E#(p#U+M5ACNeu^lP4T@pH1|%?=mF#TOa?$70iqdrIqYD%~^-c-E!d^ zaBdEkviQf9V)r^~nCf3`N6DD`+s4oc-0Hc;vZNqYn>jSq{a9#T<)PQ-lFPq_d3^A-w3pV?L*~Snv+HjnzNNkOY!p(1X>zOfNc+Jvy~^HZHymlaOUu4*nu+A3aDl zDRbwtR?Q89aA0`(DcKs2n?Hwa(D9b7*nF>kvCo%HjnSr#R69q@lkl4?>3I(Lt@AvC z|KNL6EQ~(T;IFUCQ5rS5K7CWW;3r~_nu+O-qQQu6)1@zS#N@}*&c)VVVE+^JDFcVA zpw@p&(HGm>csoVcid}l5zHHp7uSQuok?5d`wrF~|g`-~t$J&J6M$2zIB%qb|q>p5M z4+fni2~*~EZZ!Of?9VqaR!iomY%gR1vfXYcx5FUc0a8j~t5eP$Excx_#)H3#9^v${ z%zqDu8&iu%%Z;l8#jf4=s!kKzExIuDv@9)tljGN4^ls)^DUr$f*G`HJM+ZvIweN1w zChq#T``dNwZ+z*R`cb;m{=sZTI4IELP=%F)LlKd4ww`df3tW%OIy6n5Y&{hhy+0;aP*E;~v}T^OK^{FL zVs4Xw2U9CtpM37K$?Xnbj$Q2*dq=*-W^kT!E0qN*mW@psmCph5Qn7ewL z=?mp~uWtMq3Ab{dh)uHhc7_VE=}!X)si-qi8P6#lVgeYT0P|F&5j%Md;_%>_;gbmE z-JuUuW)X}J-IK~5VUQ_rdUJoGQ+rf)d4ey>bfRGX;gZ+eP47R4Im$jI+5aH7#+<`& z^-Ysr`<&>c%l>_DQr6%1^cL>*%w#0gTz1x$O{M(gxwxnEqWW%GslR`_QGx!(ZEl|u z=&_bLk83_WEH}07uxRvp&2~S3^P8~XlaCwK8G;E7-s{h)=4J%jwdsHA#N;v$&u`hn zGjD6MU@R~D>Z$sE|X8|^XgWjar;R)VjDdB!E4GEGf`wt}YiL)vm zj16i5JGSOgw^v&=Vr9IpYRyFQ_T|OP>~Eij=j#{FIb+2GA0GDEj&fQu!Kc9r^i2Rv z@WU11W!72orwAuridd+QU36|*tL$%Df1pTr^u|8p+C9I}!clC8G>D6NOqKVDgeT$( z6ZxJ*oh9&092qJYih*W(#`3&zYbI8tRNcsufMZ#=n?*y9_&gu_7@6(#xkY!Bl-#e>&pBG|_!P%y|3$su zxpp7l_^nmdwZ@wCNCt5u>`DTvY%7X?kuUkn)du$E#czrR{#Z?0&!g=P@&OOA&H%-; z6g_OORFeJ;{h5_tIQFI5JuWXNjLR-10)$t4%D|wqZHw&4`>@jW_j$H%Y)TH0p^^aR=&cNnNctQC@a1m;d9I| zji`A7J0yHwg6UsLNV4G76um+4niSfB*CfnmufSO+J3;Q{Ni%l>;e>7?><=La!`eSn zj#u(#7+^;*)M}a`$bB2rfSszJ`p{eZw3)nq2Nj>>Ss*Vxwk6~JZUOt``L6QY>A)yF!(ZRjeg$ku3 zocz>Y(Tg{UN6fp%0@$1ZDlC-YQCc(cTf9 zVc^WwVc#{fGQI7~BJ@T;`)-dg=2wlW$@x;2{s^PfFzr|J2>eZ~NGAM`Ffij{8rK>m zq5}wjxZcxwb_8_OZ6Fv&8f~tl48nGiR7=3FL~CRFa&LA38Ndk~qH45lYb5;xutR%n zHUy$(V`xI&$;i!N_(g<-6w3g>Z6{)kK0P4lY&Te1IVc$NjllC3CpA)s0Cw(#ty>LcCd!$?M3nI{)cOLasZcK=gZI-{5*Dxm}Y;8V! z@X7dCM4aPI)6QX$SU>AMRpNQeqAd&naHFSBeg=Z@OG`~nUq|{XS2JnR$R2i(7K~@s z7A6;>j^4jky&y~bVTeZR+1ljjh8~Sg#h1TCs%-et2F`t3T zamLuwL6z))$_WiIJC0^h8YFz#Nt2|YD9StTU-(0z;K zfjU%sBJZzP`paLk7@_wjP&doI3qy1YC-`9=jOs@hZUGqV*mlA)L3mBpW03FB5oF1j zg9Hn#ds*PcW*V+g%0em6dM zQR)SlHPh}A2V28)w@R=HnW!7WJuo+b56)Z~HOd6r$o8?A)_~vw&O#=DvGk5W!Z?ne zg|!*<;j1$qy+t1~k{MoHiyUnp`d*qmD&cPEVRGG>`vY-0^@kaOzbIzRI?>j~^$t3< z#s=^ABY|>cv5Z^*m$sTrwgYK!{(eTjF>MTEe*}m9Cu7{}W*&O~j3pk}2aQiN##8ls zI(dlM33?`738XWewBm`{@E^|`dCwL?B+P9`m1*c#ZLqvNrl-1rVQ#cA8J{plkbs%+ z%uCk?u2F^a_8K`&`98EMk_TPt8~r)E4rR5v+;G~T9UM*jpcjuEdn5Bx8sFX@EvSr4 zzG!~y)H$4UM7JQ1X1ndsSaIorVQQ-FYE`tY35!_F+QGKj{8j{QyV{qHFHh^A{CRyb zun{Z@9_($-Q9P@08f^!rLH&pKpC6&No3p)ELz*zwAmKi1nJ?XsU1@Y%Fy@06Ljono zjq`Ofl~lilU_7v=1KNjiC8lpr35{1FHE)0!G}gW;CoNszYA)`)p;}>H2yszdKd50s z0EV-d*gGC_kh-u;zhK4Rp_;^`_}YAkeGFHroAw7M1V_z2I}1N9xKL%WzZ!~>jHUJh zhCde(6fFZ6`~W4&8BKO<=9pFN@IeGI#*ZsbP=hmv({IgNC*#WxiW0dZkL|2OhY1Fw|uHctkI z&CExtbi~(f^XUV#;G%(U&xea_MNQ^(?GvRLxYeu9?cdh)25uHaY~IQ4);nSQ-4%=Xi$3oT-6rCTU2WOvSC>i{ho8}+MZhq zZ`W!s84swx{A=WZW}zA!GW}|YYtFLicNn2Q_5RW-OA3h+ct77dFX5iQIp-!Y*p`G$ zft|Z-Li2DKIwLt=Yd@d7P#BNn>XsIl=ey(fFQE=@} zPxF5;UnJx^s}QOMG5G-Fl$V)|V=}Ov?<#isI%~;&cugi4_;%!1K1FhnokMU3--LPk zWn~{hm2O`fz#Z7 z^~0%UY~RkDe5KuzXI33N)nIbroE_@!f*lzz=b&3<4zA9QA?0St(W%P#9cfxDl65^)m7%b zou65Fv}jrWlA$noO&~>DIfC{wqmPFF#mU~#I@}4S6{^k6@x89TtkGNYin=WoTtwxs;G1 zn}mw4V-R&p4BaD(0VvvaO$&3*=ODFPYEW;-FQc)+%Z{ZRzx?q z_Ch9Jy0k_91mgvx`ujHd^{O_ZZ6bz4qz9vCGN5Oww!iP&0ezCfhZNaQ9d5-+`;v!P zQ!WJrWPPIPQKR@h)0Ijmx(~fdL=37y3G>1))l)?;FOEQ2)&YaLR{2;E47B~<+L)J$LO=?R6yS(uIDp}YK``f`ne6Sng zZ?GHFGIs#-uT{`UAP-xf*_p5<|2AIoQGS{ya(mb=`nA!tQPi@JBPUYpNH49DD+ld3k z_to&?NK94h*<72Q#(6HJ$tL>;r&o!dv(FM;YfOr5RG*9M+f5&}#o?~M|M&nmrnR%c zcKN__|KH<0qA@N1p7FuhEyF>kQF+9J%ylGqED7JEsGs3k@YP0U6`I|9S=LrG2)j$I?Yiqo!%f=6~{eV z84vp;Iaj%aLSig8iq!-Dt7nfp_g4$T?~zR>{a!Hq3IC6=RmbXwAq2dMN^+{SnIYG$yG2@{Q(XytSz){S{HBG^8Pj>v`}*Ab&}vMC zsQ!uRGlEnCgF`vBmdEBVXk=<}_Blko>K^yq=Dm-5W09{d&udocb*H%L=&=3_y}0JY zi@kKIJ#D(V!CJG|Ym1})+BGYG-tZbVEjmjjBaGfUMDc`(!>uSj?bIK^ zuB& zXnjuunj{)P7CAtn!*DKpYZmyhU18h7X~_kj4EoTf2#%E_xQZa(pRD-)6g~Dip{R^6 z*0*x5OSD!mh^m#m7@)R0b$x_+!8=+G$c|s2a-IYm-JL$ZiALtdccF;-P+A6W zIquAmwP;Ve%uqcJo&%)Qgnvtp$KpXH{?(=>D;6Z~A!ZqTh61~wR@8XgcKVoqrUbwq zPO^r%P65H@x>C!yjpeqj=jYJun=b*V_tWoTiI#)?qOZ)%cp@qs-;e`gS!6-Ebao1{ z6Q^~4o*&mlI0%l9Yqf!J7_Tb@+OP(GgmA-S_wm9%D?CR5$Q@rvRGvV9b<#d|g2+oe z&5Z)a zOGED!%J~A5ASaBs1p<>oGr6Yw89alkrf|}|Y*jE(q|TV53}v7RVV`{$yyn1IPW+`D zlDJquEVrq`BntYQl;oX=&GfTO#LMh(rOZH+_Nf}aa=qv^#`B~hP-t`$$sd;)lO(WL z&n)eDI4vdNQw@h5@m)^sI`_MP4z<3KJY$mN2A0!LEqlHvD_A{UN<3Fo0EUo;Yn)8g zoGb-k9)ZN+gd1pWJ=K=htr1=lbRq9g4uuYpz&9RZxBKpuf*A%lJUkBHxK2_=^Vzfg z%=kCMbfn*I!im~mw_O-S3LmDMH3`q5Ui}zp6ii43zmgF~@tp^sGGg;K5$EJtSOu1n z=UE&QXrz$nFr$cr&UUL*qc9KB9@6ZcAhz;y?u`qp$)0n0{ao-{Uw{}sw_PC!|1E_v*fVK14@-I zLC7j^Bdc6c{D>bHFav*M=Qi%P?Bu^A2p?KWcd-wbMtGwSK%o?mOfkRK(mKRb1DPfg zr(czLR|U7+E`9eiqP*kk4D4m9Q```8;pG(I!c(zZ6VV~bmyY=J>#VE$l^T}A#rAOF zHyvly$;HDJ2MuA6txL73$b!O$RY*(w~vJ#fk4~IT*>;aq}u$CaS7A& zXa58A9?d}G6RNYCNc@~FkP_p%Wsmql%BAt`{?`0}EeLZ-7w8KDYTv+AK=C}dv~z;% zk?;fYh2v6=7nY@NHKi=T0lOq{I!xn()wXSFbEUBb1?J1rq$MuCJ<$gxX5 zYc_dunK;%w{^wR@gWju0g{My{V7Z5h<;(L>8S@c8wm4aVeJ}cdv+pPZG9)WqS;cdw zOYtVxV?M5CzJBf-W`Qs~2ooK`_FodfSQz1erXju|C9L{E!@nwblfI*Js}JDB)@bE~ zf$_>dV1;gu*mEF(g(3>*pwiP#NaSi#655ag(ypoES7$L7IEI;|-@g~NpPBlqr6MLk z8dwH9a>JT?()eZJn=e?uPsh0(bq(;ne^eR!mC(1TZHs0u-i&m)$p0|Wo6BNcD&^#B z>~=?Ce2}b(c;kA=KKG9`N>E^X;fX&|fy3rWC@jeqn1JjZ_?jK(UaBkq*Yqsr44l}u z9&0lWLKq3DRJZo}UMZhWk@PHu-sLCv(Y@1G z>Cm}DYT#Egy}#0wtedN5+$Y0;w6g;504j7b`x6CylYPEdkcAMhv@gi+ow3jJ`5`k) zb9Y;jU=G9qm53o%E9pD4oS~;1eu=-Mlx}9!%1n)B-4JlKWr_g5{F`I)iSs(@SaKa^ zDr^ctir>of;CbDMEjyAY7K*Vl9#0%wju5~o+nSaoi(D?mBJH?yDh(?uC8s1t5u_uv zpc|XpL4g16FS-Jq>?d;hLu$RRlx^XXLHIBjZI!kDNHPc6)M#Ja?RP@8!;l)pk;`*C zFyRyfunGr*@QO=`ym~i89lx=HKUY-_x#+PLy%#A*>Q*_R9NG4}1p#vZ>hzhuo51M# z?3(sU?#T09tUL?icPLZ6c?{%P3K(D%W#b__Ei|$;5w6`Kz43P&+5?e2iHe-Vh)?sO zBKlcI(p%0&YlY1a7XsaHAzBy*w_}gmt&u{?9ak^&o{^^Bms}D~IycPEOhlS)t)!;CD!3`y7B7Aff zYI7|81a7e-d(u7OOOl}$QWaS)O(iuJ4 zFCuG9uNt^nr|LMCA;_HwHM(N^q4eZ>^+ST}-{cfR%O7j*uk1-NvZk)PBn2ok(jNSj-5+O@lJ zW8jKmHFY2K+8}KHCRAYNz(|FGVOjKie}UBj)H)i2C8j(OTi=GT?A--%4Oj_;RPSt$ zI(JC#jM=ENI35$@)|8p$E!96f0TeI3BvENSMSuaeut6CASpwm0wSfK1nbA@B~y zK)}Mvpc`_W%LiE_FGObQ%>vru1#oR?2Q{pNu|+63OA@FP+mYUo6Ve+3pyRyz1Fz#` z*Aw_x9w`RAf8wmr7S72Ek$TyT-HU+yXK<4aYq#)etnbvPSnp)$4(+r8NXz?U~lWGp^?@-`qs7GO#Zc@uJot9 z1mjn5^ph;n9RC*%{R8oUI8R?dp3yzX(IwpN+t&yHj3*%7`!hI2a%oOL<27gcU=EZE z-gO>T3~z8Q?t4j35Z0_Hzy>v2WX-h7eOlGQVCuqrPm7d<8>Dv(GpLPCWQ6BchE z5+Ll;Ukx}G`#(D{J;={ctW59-lE~&4zn;P8QQkun`CwXiGs8B*t@FdTq8zqVZ;5O+ zriS=LY(Dv5=c~*?g-zm`h;UqsS%^YyQOsX|``v2)FLn$coD5aSe>Tv*T!7xsL#pqPpA9|f%QHZYURT8 zUJ|PhGFt>?WXhgVm0eVSp?*i4Ob_mVH^{5Qp+TPJV{oeDWc%>}xQQG9#g6b#Y;XYP zESNhR(+#4Gh~Vpz!VGtC3z91QOw0t&IUjCm{>feVNmE9tPL74 z$2TSQU&4CGTqjO>%M9j6p#VZp*<#;53)?Yyh017rK76@H<%@cUuD|tc-=@Y$wlpB) zJCkCI%}7Xi7vuIGS!m4vcpL^~K)Ty;bN?#)79)!0{0JJ+;M1J>NCy-XYrp+# zv%$C4;(a9yLnZshvR*w~UF{RBg7_r$TYSF5eC5EHWm0W8WvH3;mJ?fkf`ek&Y_eAGKkph`m zZD)@ryVm(_2MFcT3XCkIX-Ff9?;nE;FmMIGz?M!;6stC}^_Rx(rYu6B&H)3k2dk4U z<%bLX1sunkQ41NpDW4yY>Cnvq_*v>}F!XD~ZT0=uhogEDssk_uWQAFMTO(oR2pS#Z zmD9AB64W*tl90M3jva&-ytj)N-H;8(1VBvldF>cWxX20H?Nc{KTmrrus?E_zSpS^A z=cZ}!baQRm>D1<&v0}Kjke{mQ=aV=7InWKPy$-=!eMT>%r@u?<=Df}DV-KGojU7L0 zQ=ah#BMtp%u!iBr=Yxy;7U-mZ=Mq$*<3dLa#o+)f(NrU0Ntt66Ebux2rM#Fc(R?Y< z26{^k`F-%iM1$?hIymLDc?_BHAg&WM7qy#jnf402{|21b^SKguF{?5>8(U*p$75B= ze>x0=;Q&)j>748=YMybKvg7kW@$}}I=#Kn?Q6(4EswCX&UFr9SDH)0Em2WB!GkG=TCWOI2}TSqHOJjKgMCz%~fOJnoa zwPjJ0ijSj#ngBD68xv*roiiPhQ1&_gH_HFz&YTd~${I)k*ZTGuIL`)9jW|PFnl7pt zOhIyB23iQ_W!0TM!Ak>r&r_FNqrtl+es&tM+v&tdxpS-hAyj zpLqg~>X2dq^Cv=o_NS&?J_lkpOnBeM{6ZNmyx$wg2rNXgV=?&QTqPO1kMbDrO13mU zqkeOyLe@E>Rfp)vJ^HefHkG@2>_kcIk9R0m1ca2594`?6|CS|kNc_%s$@8crCS#0& zOw<9&72&88L3^{k*<9eid6#JlyleD-|Gi_p4lkkPhxd*rgB0NpTNzez>j&S;llcZiLz;=D?h1WzNN-{jsj|k2zB`c#SSIdd!Mwt%O7#jK9O{0w% zivQAO7kYL$ym%Aj?5143Xa_;nP1awbAMhS3rLkkTZf$Hk@&BPV9^>qFu-WJ{Dv3^5 zJBPrjPcJxQG$FoxRn5R46@^>?R21ae<>LBOE@80XP`Rp9ia?}WfJ_qu(bb`p3uy9^ zFa~HaWz*D$*~eFMqQSclxTjq(@e=YNu3!n0Rq{VpwW8=?WpnJ^e%KpOLfEK84ku%4 zUWl7hT~P_xXWfx^;|nzeisL*Rtc)YU=<`{^;<#}RqPsjfj@MT=*3Yx{DdrDFP+tYB zgw6=wf$Zm#(T!dr@xE_rEzQj(X)JB0c|q>1mms%78*ZLjOZVB)sh{fYjaZqh9D^|W z4jkXglZ!6M9pj|HgLR&uKx@VlG6Lr@VKup^N%;p1MRQ?z;CLok38vxLJ;yzgktuwD z!*+ZXVEEJqb~R}533&i{QXP|cQAYtupC0r56&{R^a5jN%fNCKYVZH)g;B@}IPHt!M zJ1>|pNEKOPi)HDfFE0oe5rMq#E{v^`eBgWmuZquB<7rlp8^10GWSN5RiH+Syb&Qe&oBdB1+PAO>W+ zpH|LA_5X@3_6g1K0+>r6m5g&5tx?7j{^J4(!Sn&RT9O<(DFFsy5iH09X@`Djq%a4auP)WdXqQfg>NW-r1x!IjWs={mc`olWFbDWhG z5sa~%!RgLiLpUQqgl9w~)nWtm*)iycZf8!jONaQJ+o8OpTU2(fbb!avvJ>Sjqghl~ zEbL$L$+zH=J1r z+nDxmP^!~(bmUD^k6yE3mKXR32an%`Wa7(f!pMg-n7n|g^dTpXR^$N#JvbMA&4g$p zVshpLWS}o{wc-?~56R9;NzWvB6AdzSWfwsfvI~YtIEYaCHy+_OE7YKny!Cny!qSWR zr~gp#kggn!AYBoK%TZJb37^Kq7>LcN5gq?yNrfs$2s>>Q|L;;x|6wVVdh+sW`hj&V!vL_ z_4LjctpuJ$>XlI*m>PmlFg5hg&@&3cl5{f3|H`Ob zHz&b9XB`Yf3pzJoB@w>ffdoW3^1&zPwZPgX7u>6LE77WLFD2jZ1qZ3`{HgL>F(1bI zzIFWGXa?OUE~In6_`ON?{yxPF7}W4UPKp8ko>P)`kOv82qX3=C&t7IABMAfv`?EB@ zsvcr=tQ$m_0H_XSqJmkdAnElZi3lNc=#N9RP@2t2O|-b@lLT3xaIRjPhXy5&y>g&) zSpV#mtN zgIKU3ZpFuGc^$&@Lu$KyAdy>u5WZm%0y4vk(L)L<*J*(Zyf(7;%ji`{1sNzk6*U| zl%D}`cn6QF2w^ql&cI$z^{t-5FPfh73KBKa&euAM2=n+R&yb?;z&4={rEWdhE7Czf z+>J6F;doaW$)fpCjT<1-rvXJGidkfM1(?Ax{4oU%PhgW+2L$B`C&gWLFk`pDOI4S&<3 zbB5^94nsmUqeE3yml+c0Vy%$kejo# zG1eq^7I6jeWP5UXs~D*p4@EvRqnb}a058eJi6U1DqAsj6gMyL|9y%w$M@(F^(fCyY zz)p$a(%un7bQ=A=5tFoSnuDUeJJC>!nCoA-e&6x#sADAZ*ZYg1Q|}L_uP!Y_ zn(llW$^}XK+m`J@zQh1@dIHobHr-<7v4sjQ&p$t{mAoenE^XGM0;_Wv+63bPA)l`D znb`+TnNF9yZ9=XVvFpdkVAofYLK18Mpt^ZgEf!LP#SSj*CP8 z+(AIaDXWiqWUk4JvNgg^w%K`C@fxxWq%OkcD53k7V%uIkU37A5yt3zzah2sZ{rwJw zwm3O~Klv__2}=9Dq=4gaxK2Br7q(jk(F<-m-^KS!Q?ji~wgZt8Z z?Jvc897)vi%KOH%x#=gcX^p6~2jcYRhz4Vl6eqm%ZjX;wsymamA zrH>0pzxmyeFS`)qG7s9>fV_(I&IbSW0rVAZf`)a{V9t46TY6=5j%~J!h78MB){tR& zmLVo2k#NKA*?0yZu2+!qr>T-%bPgVPEjOer42n(;E}I-8`??)7M|(J5gRoE0{2Mk$ zi(GxJkcX2zqA{kLR|iJ!*I2J!wWRC1ck~&?JypHnY#Angda@Biln!b>NozD&r<`#g(3g0!Jvjj>zOr2c3J4ZVFyNbUuC7*&~7v+ zodd{2J-BIW)Zn3dMEFI7^oy?j+3%WpI=_Z3iu>7~g@c{qSk;eB^Mb~<8x1ALsp-gG#Ls0)FeBVMbfRqQOziaup zHK@SvA?VZiZES_kWiWzXnPXzt z`~z3~YPAY+kwsa~JYR}>h6nL)!p+dN#)pm69fO9LB7tFy)LGW?D0*;I7Z)%gDx_+Q z3q0-n=w^VOlY4GE%3IMB`oIMV>oj#@n_i_h=MA48`567Pkg#gogR$!~>Vp0LACfx% zlSbUqKS)E$UB{4yl&8^q=oPPB^LhTcsdLLG>tjX|T=1Zm{SnKbDnP_=0u6|BjeN4p zO5pE}tOXvJwVqpoPdDPxNO+Uj*xNKw3hf6%dwj&nBa1vq~Zx~uB za9i&Y*m{HuTn;FF{@GvgZTi*Acq{U;f(f?+X9DF*xf(9|>^Z(v*2@%dF0Q+%`D(M> ztz`_~FBC5Shz((my&HZ0{4P5}S(Gfez~#8TlE902{fawqYfhT>u;Rms>xKjjJeck* zaL{~_ApRZ`!fsL4Xcn;8jEL<;|4%2_JMppN9^=3e-dkn1l zp2&%=p7L=vywiL(N|Yqvbes4L%9HN33qmiKGU2npKFB}$z93rfR2xejJ6K=abOy-w z-a>}22UuZ{5jc=%zlkEs8vmaUJP+}qoHAVg?b4bj4!5yM8Z~phl9Mdv3Cl@RnioXw z@G}J68YdauXt3%tCIh6#0V%>PLHq1h%>hjl!Q$6Ro zY%}do$AuX0*as-+NI~8?1`2}eEJwacZ`#H?2q0j3+OeOW8Em63oov;X#GpfWK~+75 z8!atPFT`SUFX5XWcW30GqSMH6M?*{!%@5FD<1=jHumktf?9CZIispw&wL71?&Mang zwqw^USNjIf^N|QUF7By6Z>l!X_vFi@EpIU8ev4l)Su88n*;I4Q!lYJK!n zde6fcPl!Z6$8O&Y%{nF^K`jyBGe643dg~I>!NvcC)8$7~VQ3TYvF5Lh_H*kH{Z79t>!YC6GKD1ZF)PL}OZ;}XiMAg;#{ zDh|QpH`4TNbg#@Z&X;AU9R6cs6IgGvz;i6~_3JLmV>AJS*s1_*EfE} z8$|BZx?fn(dpEW+^1_iro)uZLXR>7NkH{Xld{CS1w57IPVspVny7|S(G+Esn*Etd> zdIF;B8*NK{CHcjzJpn}jd{Xz+il5)ZRJm|xyPj{fWG+_EUiiIrx zt{KfTq8EY=EGSK`7Y(6fU@^$13%$$Me>^KiCG^r>|D4a`v&UauL3ti}Gyc}XO(pgu zT9Kjp$fp(~<5ewIvhgY(%`8L?Vujn*pRtJbkpmc!v-;uvxi{PnNR_%`OT%C1 z5E4^NA}rIpT(`ZJEnfUl(7pefK7L@sS`;%knDbb3Kerc^Fu->4=|>Gbf00dE>F&GuzLI3wIUlT9F@1S{&da zEY(h7bDlegm?tmfZd@#X{xF1>(0wJa;sVL&MYk_1x|o}=RFK=*QDR!#GuLdx>pdrV zW~u4Y-i5qdldR+y0Vn?vrYAC>C?q`(VFng-h{i!U>1Th+1?W*0aL`_dx7OTP1E)JZ z$1SJx=Frgg`;!d{XNh}pg781^%=BuUW7dhLVhqbWhrCT|7OU_6iPqkC>dOP943|DAOc8f@Mj*kl`1T=&$DBr%iai--ynpCEGnD=v>0YN5ly zPxBDm8%>Ys5WoAob`kHnv7`vlb95<+eC=N~%h|txX4J&(IKYsw zR|95RF5Wgpo=@yb-HJ&?uM_LxP36# zY8O34k9g8OV(d9v8~^1ptp(bz!|GRt_1*cjT=I3Wt7(wu*p$cgqC2A{F@v?^I*z@SXRIG3 z7`*Lw#@F2MA_P1OuyJ=h!J?r{`w{G+a@IlI>|_5x2Ft`L>dOoVMQEwipjxn)HVTU3 z2#V4cKVssbQ9b%Th=UeWT=)s$LQ0qlUWR!Y*+LGq-qM!y>?HvT-NDx4WH=w2d-zPWy)! ztu=O8PUGin9cm(9@AqJfh0TFidgFExw~vb)_$gbL%`l1m@Z0Nd^1WHduX;3pA_h#C z{q+<2dvTUkk>mMn)Sy;EqO*blF=28z=h7TsR{Yfs7IMHh*8)v+AZR_x9K9TJ+@7Fu z)cAXwMY%BsAtDaqO)Xb8?}P;i-B;Yvcaygsfd-lp5qrkuH@m1znkEjdy*JBM+~?dKU{8K&}PHiKm6F?X(+A?AMgc1A|6lKXgX*d zth_y$EQZKUNGzQuE{=(TMMvrl=j-Qund)1zp1}_bCmmAVL{K0?vdF?WMKJUalb

ko1PJ=MPt-JVOAiR06DbK_?Mu^U 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 { env: { account: cdk.Aws.ACCOUNT_ID, region: cdk.Aws.REGION }, }); + const secretCompleteArn = 'arn:aws:secretsmanager:us-east-1:XXXXX:secret:texttosqldbsecret-XXXXXX'; const vpc = new ec2.Vpc(textToSqlTestStack, 'test-vpc', { ipAddresses: ec2.IpAddresses.cidr('10.0.0.0/16'), enableDnsHostnames: true, @@ -57,8 +57,8 @@ describe('Text to SQL Construct', () => { ], }); const props: TextToSqlProps = { - databaseType: DatabaseType.AURORA, dbName: DbName.MYSQL, + databaseSecretARN: secretCompleteArn, metadataSource: MetatdataSource.CONFIG_FILE, stage: 'dev', existingVpc: vpc, @@ -130,9 +130,8 @@ describe('Text to SQL Construct', () => { CONFIG_BUCKET: { Ref: Match.anyValue(), }, - SECRET_ARN: { - Ref: Match.stringLikeRegexp('TextToSqlAurora'), - }, + SECRET_ARN: Match.stringLikeRegexp('arn:aws:secretsmanager:'), + }, }, }); @@ -148,9 +147,8 @@ describe('Text to SQL Construct', () => { CONFIG_BUCKET: { Ref: Match.anyValue(), }, - SECRET_ARN: { - Ref: Match.stringLikeRegexp('TextToSqlAurora'), - }, + SECRET_ARN: Match.stringLikeRegexp('arn:aws:secretsmanager:'), + }, }, }); From 0bd5ec1bfa343fa36486cd3822d62d2dd868b609 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 3 Sep 2024 09:52:15 -0400 Subject: [PATCH 29/31] feat(texttosql): fixed cdk nag warnings and review comments --- .../aws-text-to-sql/workflow_config.json | 2 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 48 +++++++++++++++++-- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/resources/gen-ai/aws-text-to-sql/workflow_config.json b/resources/gen-ai/aws-text-to-sql/workflow_config.json index 3707e1a3..cb25790d 100644 --- a/resources/gen-ai/aws-text-to-sql/workflow_config.json +++ b/resources/gen-ai/aws-text-to-sql/workflow_config.json @@ -26,7 +26,7 @@ "temperature": 0 }, "sql_execution": { - "strategy": "auto" + "strategy": "disabled" }, "sql_synth": { "strategy": "auto", diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 842a2e99..8b5e9c20 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -717,6 +717,20 @@ export class TextToSql extends BaseClass { queueName: feedbackQueueName, visibilityTimeout: Duration.seconds(3600), }); + + queue.addToResourcePolicy( + new iam.PolicyStatement({ + effect: iam.Effect.DENY, + principals: [new iam.AnyPrincipal()], + actions: ['sqs:*'], + resources: [queue.queueArn], + conditions: { + Bool: { + 'aws:SecureTransport': 'false', + }, + }, + }), + ); this.feedbackQueue = queue; const outputQueueName = generatePhysicalNameV2( @@ -729,16 +743,27 @@ export class TextToSql extends BaseClass { queueName: outputQueueName, visibilityTimeout: Duration.seconds(3600), }); + + outputQueue.addToResourcePolicy( + new iam.PolicyStatement({ + effect: iam.Effect.DENY, + principals: [new iam.AnyPrincipal()], + actions: ['sqs:*'], + resources: [outputQueue.queueArn], + conditions: { + Bool: { + 'aws:SecureTransport': 'false', + }, + }, + }), + ); this.outputQueue = outputQueue; + const dbsecret =secretsmanager.Secret.fromSecretCompleteArn(this, 'dbsecret', props.databaseSecretARN); dbsecret.grantRead(queryGeneratorFunction); dbsecret.grantRead(queryExecutorFunction); - // STEP FUNCTION - //const completedState = new stepfunctions.Pass(this, 'Done'); - - //const endState = new stepfunctions.Pass(this, 'EndState'); const reformulateQuestionState = new tasks.LambdaInvoke( this, @@ -787,11 +812,17 @@ export class TextToSql extends BaseClass { }, ); + // SF loggroup + const sflogGroup = new logs.LogGroup(this, 'TextToSqlStepFunctionLogGroup', { + logGroupName: '/aws/vendedlogs/states/TextToSqlStepFunction', + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); + + const autocorrectChoiceState = new stepfunctions.Choice( this, 'is_autocorrect_required?', { - //inputPath: '$.queryConfig.Payload', }, ); @@ -1018,8 +1049,15 @@ export class TextToSql extends BaseClass { ) .otherwise(queryGeneratorState), ), + logs: { + destination: sflogGroup, + level: stepfunctions.LogLevel.ALL, + }, + tracingEnabled: true, timeout: Duration.days(90), + }, + ); From 8a19715d2deda8af181dcc38f7dc51be2acde683 Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 3 Sep 2024 11:56:17 -0400 Subject: [PATCH 30/31] feat(texttosql): changed default port --- src/patterns/gen-ai/aws-text-to-sql/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index 8b5e9c20..f9aaceae 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -119,7 +119,7 @@ export interface TextToSqlProps { /** * Optional. db port number. - * @default -3306 + * @default -1534 */ readonly dbPort?: number; @@ -294,7 +294,7 @@ export class TextToSql extends BaseClass { ); vpcHelper.AddAwsServiceEndpoint(this, this.vpc, ServiceEndpointTypeEnum.S3); - const dbPort = props.dbPort ? props.dbPort : 3306; + const dbPort = props.dbPort ? props.dbPort : 1534; // Security group if (props?.existingLambdaSecurityGroup) { From 2c9d78b00c37a8331ec10f5b00f64778530419ef Mon Sep 17 00:00:00 2001 From: Dinesh Sajwan Date: Tue, 3 Sep 2024 12:20:36 -0400 Subject: [PATCH 31/31] feat(texttosql): fix build issues --- apidocs/interfaces/TextToSqlProps.md | 2 +- src/patterns/gen-ai/aws-text-to-sql/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apidocs/interfaces/TextToSqlProps.md b/apidocs/interfaces/TextToSqlProps.md index bc1146b4..c9c1838b 100644 --- a/apidocs/interfaces/TextToSqlProps.md +++ b/apidocs/interfaces/TextToSqlProps.md @@ -74,7 +74,7 @@ Optional. db port number. #### Default ```ts --3306 +-1534 ``` *** diff --git a/src/patterns/gen-ai/aws-text-to-sql/index.ts b/src/patterns/gen-ai/aws-text-to-sql/index.ts index f9aaceae..4d815fe0 100644 --- a/src/patterns/gen-ai/aws-text-to-sql/index.ts +++ b/src/patterns/gen-ai/aws-text-to-sql/index.ts @@ -760,7 +760,7 @@ export class TextToSql extends BaseClass { this.outputQueue = outputQueue; - const dbsecret =secretsmanager.Secret.fromSecretCompleteArn(this, 'dbsecret', props.databaseSecretARN); + const dbsecret = secretsmanager.Secret.fromSecretCompleteArn(this, 'dbsecret', props.databaseSecretARN); dbsecret.grantRead(queryGeneratorFunction); dbsecret.grantRead(queryExecutorFunction);