From 1c3d84c8dec86f1c2ac65413677e29adb846f06a Mon Sep 17 00:00:00 2001 From: Rupinder Singh Grewal Date: Wed, 19 Jul 2023 09:28:40 -0700 Subject: [PATCH] BedRock Workshop comit of the files --- .DS_Store | Bin 0 -> 8196 bytes 00_Intro/README.md | 118 ++ 00_Intro/bedrock_boto3_setup.ipynb | 1307 +++++++++++++++ 01_Generation/00_generate_w_bedrock.ipynb | 922 +++++++++++ 01_Generation/01_zero_shot_generation.ipynb | 836 ++++++++++ 01_Generation/02_contextual_generation.ipynb | 897 +++++++++++ 01_Generation/README.md | 26 + 01_Generation/images/bedrock.jpg | Bin 0 -> 22850 bytes 01_Generation/images/bedrock_langchain.jpg | Bin 0 -> 30367 bytes 02_Summarization/.DS_Store | Bin 0 -> 6148 bytes .../01.small-text-summarization-claude.ipynb | 923 +++++++++++ .../01.small-text-summarization-titan.ipynb | 928 +++++++++++ .../02.long-text-summarization-titan.ipynb | 883 ++++++++++ 02_Summarization/README.md | 53 + 02_Summarization/images/41-text-simple-1.png | Bin 0 -> 47184 bytes .../images/42-text-summarization-2.png | Bin 0 -> 118413 bytes 02_Summarization/letters/2022-letter.txt | 61 + .../00_qa_w_bedrock_titan.ipynb | 432 +++++ 03_QuestionAnswering/01_qa_w_rag_claude.ipynb | 535 ++++++ 03_QuestionAnswering/README.md | 55 + 03_QuestionAnswering/images/51-simple-rag.png | Bin 0 -> 83057 bytes .../images/52-rag-with-external-data.png | Bin 0 -> 145508 bytes 03_QuestionAnswering/images/Chatbot_lang.png | Bin 0 -> 14212 bytes .../images/Embeddings_lang.png | Bin 0 -> 8050 bytes 04_Chatbot/00_Chatbot_Claude.ipynb | 1434 +++++++++++++++++ 04_Chatbot/00_Chatbot_Titan.ipynb | 1277 +++++++++++++++ 04_Chatbot/README.md | 49 + 04_Chatbot/images/chatbot_bedrock.png | Bin 0 -> 169782 bytes 04_Chatbot/images/chatbot_lang.png | Bin 0 -> 14212 bytes 04_Chatbot/images/context-aware-chatbot.png | Bin 0 -> 270369 bytes 04_Chatbot/images/embeddings_lang.png | Bin 0 -> 8050 bytes 05_Image/Bedrock Stable Diffusion XL.ipynb | 314 ++++ 05_Image/README.md | 45 + 05_Image/images/71-txt-2-img.png | Bin 0 -> 71186 bytes 05_Image/images/72-img-2-img.png | Bin 0 -> 94535 bytes 05_Image/images/sd.png | Bin 0 -> 333163 bytes 10-overview.png | Bin 0 -> 31144 bytes CODE_OF_CONDUCT.md | 4 + CONTRIBUTING.md | 59 + LICENSE | 17 + README.md | 126 ++ download-dependencies.sh | 10 + utils/__init__.py | 23 + utils/bedrock.py | 185 +++ 44 files changed, 11519 insertions(+) create mode 100644 .DS_Store create mode 100644 00_Intro/README.md create mode 100644 00_Intro/bedrock_boto3_setup.ipynb create mode 100644 01_Generation/00_generate_w_bedrock.ipynb create mode 100644 01_Generation/01_zero_shot_generation.ipynb create mode 100644 01_Generation/02_contextual_generation.ipynb create mode 100644 01_Generation/README.md create mode 100644 01_Generation/images/bedrock.jpg create mode 100644 01_Generation/images/bedrock_langchain.jpg create mode 100644 02_Summarization/.DS_Store create mode 100644 02_Summarization/01.small-text-summarization-claude.ipynb create mode 100644 02_Summarization/01.small-text-summarization-titan.ipynb create mode 100644 02_Summarization/02.long-text-summarization-titan.ipynb create mode 100644 02_Summarization/README.md create mode 100644 02_Summarization/images/41-text-simple-1.png create mode 100644 02_Summarization/images/42-text-summarization-2.png create mode 100644 02_Summarization/letters/2022-letter.txt create mode 100644 03_QuestionAnswering/00_qa_w_bedrock_titan.ipynb create mode 100644 03_QuestionAnswering/01_qa_w_rag_claude.ipynb create mode 100644 03_QuestionAnswering/README.md create mode 100644 03_QuestionAnswering/images/51-simple-rag.png create mode 100644 03_QuestionAnswering/images/52-rag-with-external-data.png create mode 100644 03_QuestionAnswering/images/Chatbot_lang.png create mode 100644 03_QuestionAnswering/images/Embeddings_lang.png create mode 100644 04_Chatbot/00_Chatbot_Claude.ipynb create mode 100644 04_Chatbot/00_Chatbot_Titan.ipynb create mode 100644 04_Chatbot/README.md create mode 100644 04_Chatbot/images/chatbot_bedrock.png create mode 100644 04_Chatbot/images/chatbot_lang.png create mode 100644 04_Chatbot/images/context-aware-chatbot.png create mode 100644 04_Chatbot/images/embeddings_lang.png create mode 100644 05_Image/Bedrock Stable Diffusion XL.ipynb create mode 100644 05_Image/README.md create mode 100644 05_Image/images/71-txt-2-img.png create mode 100644 05_Image/images/72-img-2-img.png create mode 100644 05_Image/images/sd.png create mode 100644 10-overview.png create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 download-dependencies.sh create mode 100644 utils/__init__.py create mode 100644 utils/bedrock.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5709ef14f63fc6d43b7b81a8acca9665dde3e3ac GIT binary patch literal 8196 zcmeHMzi$&U6n-uTJpnBY9V*e`29|F50V8l}gHXhTZeS!0jnYU-uWA}qg5{P@W#Jz| z?44O*Vdf8Dt-3Jvd$yCab(b_{KnR{A`?JpPoxk__e5dCSk=h#XR*BY$C`4tve+NxT z;c>2ovShDp02Ta+_UVWYDIN5xNx@n!hytR3C?E=m0;0g*pa8zvT*4XOeKRVpC?E>_ zmkRLvAwp%0EoKJws{@Tr0e}H6>w-S=0PPc5j4fscwJYvvvIk{dl}#~}amRSX=D^ru zX3)5kGVY}8%*tjcO3x0zNSl+24N5Bthyq0gICl@Jg5Mizx%vCsba-f5H(vRty zEj+gy@9+5gaewBxZzJwUhYL?`Tz6T=l{8b^h5zs;Ga`K1 Python version >= 3.9 + +Next, you need to install boto3 (and botocore) [AWS SDK for Python (Boto3)](https://aws.amazon.com/sdk-for-python/) libraries. Both libraries contain required dependencies related with Bedrock APIs. + +This can be downloaded using the script on the root of this repository + +```sh +bash download-dependencies.sh +``` + +To install it, run the following commands: + + +```python +%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl +%pip install ../dependencies/boto3-1.26.162-py3-none-any.whl +%pip install ../dependencies/awscli-1.27.162-py3-none-any.whl +``` + +> `boto3` version must be >= 1.26.162 and `botocore` version must be >= 1.29.162 + +## AWS Credentials (optional) + +If you are running this workshop in your local computer, such as Microsoft VS Code, PyCharm, etc., you should run the following snippet, which will configure your credentials (to be able to run AWS API calls): + +```python +import sys, os +module_path = "../utils" +sys.path.append(os.path.abspath(module_path)) +import bedrock as util_w + +os.environ['LANGCHAIN_ASSUME_ROLE'] = '' +boto3_bedrock = util_w.get_bedrock_client(os.environ['LANGCHAIN_ASSUME_ROLE']) +``` + +## LangChain installation + +It's also necessary to install [LangChain](https://python.langchain.com/en/latest/index.html). LangChain is a framework for developing applications powered by language models. + +```python +%pip install langchain==0.0.190 --quiet +``` + +> `LangChain` version must be >= `0.0.190` + +## Explanation of Bedrock API + +First, you instantiate a client session on `boto3` to make calls on Bedrock API: + +```python +bedrock = boto3.client(service_name='bedrock', + region_name='us-east-1', + endpoint_url='https://bedrock.us-east-1.amazonaws.com') +``` + +Next, you call `InvokeModel` API for sending requests to a foundation model. +Following is an example of API request to send a text to Amazon Titan Model. + +```python +response = bedrock.invoke_model(body={ + "inputText": "this is where you place your input text", + "textGenerationConfig": { + "maxTokenCount": 4096, + "stopSequences": [], + "temperature":0, + "topP":1 + }, + }, + modelId="amazon.titan-tg1-large", + accept=accept, + contentType=contentType) + +``` + +Where: + +* **inputText**: Text prompt to be send to the Bedrock API. +* **textGenerationConfig**: Model specific parameters (varies for each model) to be considered during inference time. + +## Conclusion + +**Congratulations!** In this section, you installed all prerequisite and understood Bedrock API. + +**Now, you can start the workshop**. \ No newline at end of file diff --git a/00_Intro/bedrock_boto3_setup.ipynb b/00_Intro/bedrock_boto3_setup.ipynb new file mode 100644 index 00000000..bd5ba526 --- /dev/null +++ b/00_Intro/bedrock_boto3_setup.ipynb @@ -0,0 +1,1307 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "d0916a3a-e402-48b7-a775-ce739e4aeaf4", + "metadata": {}, + "source": [ + "# Bedrock boto3 Setup" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "bbab02f1-3eac-4274-b06b-d51ce586df2c", + "metadata": { + "tags": [] + }, + "source": [ + "--- \n", + "\n", + "In this demo notebook, we demonstrate how to use the `boto3` Python SDK to work with [Bedrock](https://aws.amazon.com/bedrock/) Foundational Models.\n", + "\n", + "---" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4c1fda97-9150-484a-8cfa-86ec9568fc61", + "metadata": {}, + "source": [ + "## Prerequisites" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "27a83a8d-9527-48b4-92ff-fce963fbe3b5", + "metadata": {}, + "source": [ + "---\n", + "Before executing any of the notebook in this workshop, execute the following cells to add Bedrock extensions to the `boto3` Python SDK\n", + "\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "108c611c-7246-45c4-9f1e-76888b5076eb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3f1c8940", + "metadata": {}, + "source": [ + "You also need to install [langchain](https://github.com/hwchase17/langchain)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e692c0d3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "be703e81", + "metadata": {}, + "source": [ + "## Create the boto3 client\n", + "\n", + "Interaction with the Bedrock API is done via boto3 SDK. To create a the Bedrock client, we are providing an utility method that supports different options for passing credentials to boto3. \n", + "If you are running these notebooks from your own computer, make sure you have [installed the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) before proceeding.\n", + "\n", + "\n", + "#### Use default credential chain\n", + "\n", + "If you are running this notebook from a Sagemaker Studio notebook and your Sagemaker Studio role has permissions to access Bedrock you can just run the cells below as-is. This is also the case if you are running these notebooks from a computer whose default credentials have access to Bedrock\n", + "\n", + "#### Use a different role\n", + "\n", + "In case you or your company has setup a specific role to access Bedrock, you can specify such role by uncommenting the line `#os.environ['BEDROCK_ASSUME_ROLE'] = ''` in the cell below before executing it. Ensure that your current user or role have permissions to assume such role.\n", + "\n", + "#### Use a specific profile\n", + "\n", + "In case you are running this notebooks from your own computer and you have setup the AWS CLI with multiple profiles and the profile which has access to Bedrock is not the default one, you can uncomment the line `#os.environ['AWS_PROFILE'] = ''` and specify the profile to use.\n", + "\n", + "#### Note about `langchain`\n", + "\n", + "The Bedrock classes provided by `langchain` create a default Bedrock boto3 client. We recommend to explicitly create the Bedrock client using the instructions below, and pass it to the class instantiation methods using `client=boto3_bedrock`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b031c34a", + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89bfd1e4", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import sys\n", + "import json\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "if('BEDROCK_ASSUME_ROLE' in os.environ):\n", + " boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))\n", + "else:\n", + " boto3_bedrock = bedrock.get_bedrock_client()\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9e9174c4-326a-463e-92e1-8c7e47111269", + "metadata": {}, + "source": [ + "#### We can validate our connection by testing out the `list_foundation_models()` method, which will tell us all the models available for us to use " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f67b4466-12ff-4975-9811-7a19c6206604", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "boto3_bedrock.list_foundation_models()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "be9044d4-9d04-47c3-86ca-5b206585b784", + "metadata": {}, + "source": [ + "#### In this Notebook we will be using the `invoke_model()` method of Amazon Bedrock. This will be the primary method we use for most of our Text Generation and Processing tasks. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "881928fb-4daf-47e5-a2b6-b2292a679a81", + "metadata": {}, + "source": [ + "# `InvokeModel` body and output\n", + "\n", + "#### We provide the details about the format for the input and output format of `invoke_model()` for the different foundation models\n", + "\n", + "## Titan Large\n", + "\n", + "#### Input\n", + "```json\n", + "{ \n", + " \"inputText\": \"\",\n", + " \"textGenerationConfig\" : { \n", + " \"maxTokenCount\": 512,\n", + " \"stopSequences\": [],\n", + " \"temperature\":0.1, \n", + " \"topP\":0.9\n", + " }\n", + "}\n", + "```\n", + "\n", + "#### Output\n", + "\n", + "```json\n", + "{\n", + " \"inputTextTokenCount\": 613,\n", + " \"results\": [{\n", + " \"tokenCount\": 219,\n", + " \"outputText\": \"\"\n", + " }]\n", + "}\n", + "```\n", + "\n", + "## Jurassic Grande and Jumbo \n", + "\n", + "#### Input\n", + "\n", + "```json\n", + "{\n", + " \"prompt\": \"\",\n", + " \"maxTokens\": 200,\n", + " \"temperature\": 0.5,\n", + " \"topP\": 0.5,\n", + " \"stopSequences\": [],\n", + " \"countPenalty\": {\n", + " \"scale\": 0\n", + " },\n", + " \"presencePenalty\": {\n", + " \"scale\": 0\n", + " },\n", + " \"frequencyPenalty\": {\n", + " \"scale\": 0\n", + " }\n", + "}\n", + "```\n", + "\n", + "#### Output\n", + "\n", + "```json\n", + "{\n", + " \"id\": 1234,\n", + " \"prompt\": {\n", + " \"text\": \"\",\n", + " \"tokens\": [\n", + " {\n", + " \"generatedToken\": {\n", + " \"token\": \"\\u2581who\\u2581is\",\n", + " \"logprob\": -12.980147361755371,\n", + " \"raw_logprob\": -12.980147361755371\n", + " },\n", + " \"topTokens\": null,\n", + " \"textRange\": {\n", + " \"start\": 0,\n", + " \"end\": 6\n", + " }\n", + " },\n", + " ...\n", + " ]\n", + " },\n", + " \"completions\": [\n", + " {\n", + " \"data\": {\n", + " \"text\": \"\",\n", + " \"tokens\": [\n", + " {\n", + " \"generatedToken\": {\n", + " \"token\": \"<|newline|>\",\n", + " \"logprob\": 0.0,\n", + " \"raw_logprob\": -0.01293118204921484\n", + " },\n", + " \"topTokens\": null,\n", + " \"textRange\": {\n", + " \"start\": 0,\n", + " \"end\": 1\n", + " }\n", + " },\n", + " ...\n", + " ]\n", + " },\n", + " \"finishReason\": {\n", + " \"reason\": \"endoftext\"\n", + " }\n", + " }\n", + " ]\n", + "}\n", + "```\n", + "\n", + "## Claude\n", + "\n", + "#### Input\n", + "\n", + "```json\n", + "{\n", + " \"prompt\": \"\\n\\nHuman:\\n\\nAnswer:\",\n", + " \"max_tokens_to_sample\": 300,\n", + " \"temperature\": 0.5,\n", + " \"top_k\": 250,\n", + " \"top_p\": 1,\n", + " \"stop_sequences\": [\n", + " \"\\n\\nHuman:\"\n", + " ]\n", + "}\n", + "```\n", + "\n", + "#### Output\n", + "\n", + "```json\n", + "{\n", + " \"completion\": \" \",\n", + " \"stop_reason\": \"stop_sequence\"\n", + "}\n", + "```\n", + "\n", + "## Stable Diffusion XL\n", + "\n", + "### Input\n", + "\n", + "```json\n", + "{\n", + " \"text_prompts\": [\n", + " { \n", + " \"text\": \"this is where you place your input text\" \n", + " }\n", + " ],\n", + " \"cfg_scale\":10,\n", + " \"seed\":0,\n", + " \"steps\":50\n", + "}\n", + "```\n", + "\n", + "### Output\n", + "\n", + "```json\n", + "{ \n", + " \"result\": \"success\", \n", + " \"artifacts\": [\n", + " {\n", + " \"seed\": 123, \n", + " \"base64\": \"\",\n", + " \"finishReason\": \"SUCCESS\"\n", + " }\n", + "}\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "80f4adca-cfc4-439b-84b7-e528398684e3", + "metadata": {}, + "source": [ + "# Common inference parameter definitions\n", + "\n", + "## Randomness and Diversity\n", + "\n", + "Foundation models support the following parameters to control randomness and diversity in the \n", + "response.\n", + "\n", + "**Temperature** – Large language models use probability to construct the words in a sequence. For any \n", + "given next word, there is a probability distribution of options for the next word in the sequence. When \n", + "you set the temperature closer to zero, the model tends to select the higher-probability words. When \n", + "you set the temperature further away from zero, the model may select a lower-probability word.\n", + "\n", + "In technical terms, the temperature modulates the probability density function for the next tokens, \n", + "implementing the temperature sampling technique. This parameter can deepen or flatten the density \n", + "function curve. A lower value results in a steeper curve with more deterministic responses, and a higher \n", + "value results in a flatter curve with more random responses.\n", + "\n", + "**Top K** – Temperature defines the probability distribution of potential words, and Top K defines the cut \n", + "off where the model no longer selects the words. For example, if K=50, the model selects from 50 of the \n", + "most probable words that could be next in a given sequence. This reduces the probability that an unusual \n", + "word gets selected next in a sequence.\n", + "In technical terms, Top K is the number of the highest-probability vocabulary tokens to keep for Top-\n", + "K-filtering - This limits the distribution of probable tokens, so the model chooses one of the highest-\n", + "probability tokens.\n", + "\n", + "**Top P** – Top P defines a cut off based on the sum of probabilities of the potential choices. If you set Top \n", + "P below 1.0, the model considers the most probable options and ignores less probable ones. Top P is \n", + "similar to Top K, but instead of capping the number of choices, it caps choices based on the sum of their \n", + "probabilities.\n", + "For the example prompt \"I hear the hoof beats of ,\" you may want the model to provide \"horses,\" \n", + "\"zebras\" or \"unicorns\" as the next word. If you set the temperature to its maximum, without capping \n", + "Top K or Top P, you increase the probability of getting unusual results such as \"unicorns.\" If you set the \n", + "temperature to 0, you increase the probability of \"horses.\" If you set a high temperature and set Top K or \n", + "Top P to the maximum, you increase the probability of \"horses\" or \"zebras,\" and decrease the probability \n", + "of \"unicorns.\"\n", + "\n", + "## Length\n", + "\n", + "The following parameters control the length of the generated response.\n", + "\n", + "**Response length** – Configures the minimum and maximum number of tokens to use in the generated \n", + "response.\n", + "\n", + "**Length penalty** – Length penalty optimizes the model to be more concise in its output by penalizing \n", + "longer responses. Length penalty differs from response length as the response length is a hard cut off for \n", + "the minimum or maximum response length.\n", + "\n", + "In technical terms, the length penalty penalizes the model exponentially for lengthy responses. 0.0 \n", + "means no penalty. Set a value less than 0.0 for the model to generate longer sequences, or set a value \n", + "greater than 0.0 for the model to produce shorter sequences.\n", + "\n", + "## Repetitions\n", + "\n", + "The following parameters help control repetition in the generated response.\n", + "\n", + "**Repetition penalty (presence penalty)** – Prevents repetitions of the same words (tokens) in responses. \n", + "1.0 means no penalty. Greater than 1.0 decreases repetition." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "722bf913-3957-457f-804a-89900dd85c79", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "prompt_data = \"\"\"Command: Write me a blog about making strong business decisions as a leader.\\nBlog:\"\"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ce22c308-ebbf-4ef5-a823-832b7c236e31", + "metadata": {}, + "source": [ + "## 2. Accessing Bedrock Foundation Models" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "893872fe-04fa-4f09-9736-6c6173ec1fc2", + "metadata": { + "tags": [] + }, + "source": [ + "### Let's try the prompt with the Titan Model on Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7df55eed-a3cf-426c-95ea-ec60dade6477", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "prompt_data = \"\"\"Command: Write me a blog about making strong business decisions as a leader.\\nBlog:\"\"\" # If you'd like to try your own prompt, edit this parameter!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd2bb671-6b10-4948-9e5e-95d6ced3b86f", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = json.dumps({\"inputText\": prompt_data})\n", + "modelId = \"amazon.titan-tg1-large\" \n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "\n", + "print(response_body.get(\"results\")[0].get(\"outputText\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3d7c0fe6-576a-4380-89aa-726bab5d65ff", + "metadata": {}, + "source": [ + "### Let's try the prompt with the Anthropic Claude Instant Model on Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ba33ac0-fa16-4c4f-b882-e838d0cb5830", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = json.dumps({\"prompt\": prompt_data, \"max_tokens_to_sample\": 500})\n", + "modelId = \"anthropic.claude-instant-v1\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "\n", + "print(response_body.get(\"completion\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ed0e3144-c6df-400d-aab1-1540614dbbde", + "metadata": {}, + "source": [ + "### Let's try the prompt with the Jurassic Grande Model on Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c02d1585-945e-45d1-99d2-171e956138f8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = json.dumps({\"prompt\": prompt_data, \"maxTokens\": 200})\n", + "modelId = \"ai21.j2-grande-instruct\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "\n", + "print(response_body.get(\"completions\")[0].get(\"data\").get(\"text\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4b3619b5", + "metadata": {}, + "source": [ + "### Let's try the streaming output from Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c69627e3", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import display, display_markdown, Markdown, clear_output\n", + "\n", + "body = json.dumps({\"prompt\": prompt_data, \"max_tokens_to_sample\": 200})\n", + "modelId = \"anthropic.claude-instant-v1\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model_with_response_stream(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "stream = response.get('body')\n", + "output = []\n", + "\n", + "if stream:\n", + " for event in stream:\n", + " chunk = event.get('chunk')\n", + " if chunk:\n", + " chunk_obj = json.loads(chunk.get('bytes').decode())\n", + " text = chunk_obj['completion']\n", + " clear_output(wait=True)\n", + " output.append(text)\n", + " display_markdown(Markdown(''.join(output)))\n", + " " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "bc498bea", + "metadata": {}, + "source": [ + "### Let's try the prompt with the Stable Diffusion XL on Bedrock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "173e51a2", + "metadata": {}, + "outputs": [], + "source": [ + "prompt_data = \"a fine image of an astronaut riding a horse on Mars\"\n", + "body = json.dumps({\n", + " \"text_prompts\": [\n", + " { \n", + " \"text\": prompt_data \n", + " }\n", + " ],\n", + " \"cfg_scale\":10,\n", + " \"seed\":20,\n", + " \"steps\":50\n", + "})\n", + "modelId = \"stability.stable-diffusion-xl\" \n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "\n", + "print(response_body['result'])\n", + "print(f'{response_body.get(\"artifacts\")[0].get(\"base64\")[0:80]}...')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "2a00bb66", + "metadata": {}, + "source": [ + "The output is a base64 encoded string of the image. You can use ans image processing library such as Pillow to decode the image as in the example below:\n", + "\n", + "```python\n", + "base_64_img_str = response_body.get(\"artifacts\")[0].get(\"base64\")\n", + "image = Image.open(io.BytesIO(base64.decodebytes(bytes(base_64_img_str, \"utf-8\"))))\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "1ef3451d-b66a-4b11-a1ed-734bf9e7bbec", + "metadata": {}, + "source": [ + "# Embeddings\n", + "\n", + "Use text embeddings to convert text into meaningful vector representations. You input a body of text \n", + "and the output is a (1 x n) vector. You can use embedding vectors for a wide variety of applications. \n", + "Bedrock currently offers one model for text embedding that supports text similarity (finding the \n", + "semantic similarity between bodies of text) and text retrieval (such as search).\n", + "For the text embeddings model, the input text size is 512 tokens and the output vector length is 4096.\n", + "To use a text embeddings model, use the InvokeModel API operation or the Python SDK.\n", + "Use InvokeModel to retrieve the vector representation of the input text from the specified model.\n", + "\n", + "At the time of writing you can only use `amazon.titan-e1t-medium` as embedding model via the API.\n", + "\n", + "#### Input\n", + "\n", + "```json\n", + "{\n", + " \"inputText\": \"\"\n", + "}\n", + "```\n", + "\n", + "#### Output\n", + "\n", + "```json\n", + "{\n", + " \"embedding\": []\n", + "}\n", + "```\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9645dbd8", + "metadata": {}, + "source": [ + "Let's see how to generate embeddings of some text:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1085cc56", + "metadata": {}, + "outputs": [], + "source": [ + "prompt_data = \"Amazon Bedrock supports foundation models from industry-leading providers such as \\\n", + "AI21 Labs, Anthropic, Stability AI, and Amazon. Choose the model that is best suited to achieving your unique goals.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c54b424", + "metadata": {}, + "outputs": [], + "source": [ + "body = json.dumps({\"inputText\": prompt_data})\n", + "modelId = \"amazon.titan-e1t-medium\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "\n", + "embedding = response_body.get(\"embedding\")\n", + "print(f\"The embedding vector has {len(embedding)} values\\n{embedding[0:3]+['...']+embedding[-3:]}\")" + ] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/01_Generation/00_generate_w_bedrock.ipynb b/01_Generation/00_generate_w_bedrock.ipynb new file mode 100644 index 00000000..dd2d9e4a --- /dev/null +++ b/01_Generation/00_generate_w_bedrock.ipynb @@ -0,0 +1,922 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "dc40c48b-0c95-4757-a067-563cfccd51a5", + "metadata": { + "tags": [] + }, + "source": [ + "# Invoke Bedrock model for text generation using zero-shot prompt" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c9a413e2-3c34-4073-9000-d8556537bb6a", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "In this notebook we show you how to use a LLM to generate an email response to a customer who provided negative feedback on the quality of customer service that they received from the support engineer. \n", + "\n", + "We will use Bedrock's Amazon Titan Text large model using the Boto3 API. \n", + "\n", + "The prompt used in this example is called a zero-shot prompt because we are not providing any examples of text alongside their classification other than the prompt.\n", + "\n", + "**Note:** *This notebook can be run within or outside of AWS environment.*\n", + "\n", + "#### Context\n", + "To demonstrate the text generation capability of Amazon Bedrock, we will explore the use of Boto3 client to communicate with Amazon Bedrock API. We will demonstrate different configurations available as well as how simple input can lead to desired outputs.\n", + "\n", + "#### Pattern\n", + "We will simply provide the Amazon Bedrock API with an input consisting of a task, an instruction and an input for the model under the hood to generate an output without providing any additional example. The purpose here is to demonstrate how the powerful LLMs easily understand the task at hand and generate compelling outputs.\n", + "\n", + "![](./images/bedrock.jpg)\n", + "\n", + "#### Use case\n", + "To demonstrate the generation capability of models in Amazon Bedrock, let's take the use case of email generation.\n", + "\n", + "#### Persona\n", + "You are Bob a Customer Service Manager at AnyCompany and some of your customers are not happy with the customer service and are providing negative feedbacks on the service provided by customer support engineers. Now, you would like to respond to those customers humbly aplogizing for the poor service and regain trust. You need the help of an LLM to generate a bulk of emails for you which are human friendly and personalized to the customer's sentiment from previous email correspondence.\n", + "\n", + "#### Implementation\n", + "To fulfill this use case, in this notebook we will show how to generate an email with a thank you note based on the customer's previous email.We will use the Amazon Titan Text Large model using the Amazon Bedrock API with Boto3 client. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "64baae27-2660-4a1e-b2e5-3de49d069362", + "metadata": {}, + "source": [ + "## Setup" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "37115f13", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38b791ad-e6c5-4da5-96af-5c356a36e19d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "776fd083", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "568a6d26-e3ee-4b0c-a1eb-efc4bff99994", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4f634211-3de1-4390-8c3f-367af5554c39", + "metadata": {}, + "source": [ + "## Generate text\n", + "\n", + "Following on the use case explained above, let's prepare an input for the Amazon Bedrock service to generate an email" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45ee2bae-6415-4dba-af98-a19028305c98", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# create the prompt\n", + "prompt_data = \"\"\"\n", + "Command: Write an email from Bob, Customer Service Manager, to the customer \"John Doe\" \n", + "who provided negative feedback on the service provided by our customer support \n", + "engineer\"\"\"\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "cc9784e5-5e9d-472d-8ef1-34108ee4968b", + "metadata": {}, + "source": [ + "Let's start by using the Amazon Titan Large model. Amazon Titan Large supports a context window of ~4k tokens and accepts the following parameters:\n", + "- `inputText`: Prompt to the LLM\n", + "- `textGenerationConfig`: These are the parameters that model will take into account while generating the output." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8af670eb-ad02-40df-a19c-3ed835fac8d9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = json.dumps({\n", + " \"inputText\": prompt_data, \n", + " \"textGenerationConfig\":{\n", + " \"maxTokenCount\":4096,\n", + " \"stopSequences\":[],\n", + " \"temperature\":0,\n", + " \"topP\":0.9\n", + " }\n", + " }) " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c4ca6751", + "metadata": {}, + "source": [ + "The Amazon Bedrock API provides you with an API `invoke_model` which accepts the following:\n", + "- `modelId`: This is the model ARN for the various foundation models available under Amazon Bedrock\n", + "- `accept`: The type of input request\n", + "- `contentType`: The content type of the output\n", + "- `body`: A json string consisting of the prompt and the configurations\n", + "\n", + "Available text generation models under Amazon Bedrock have the following IDs:\n", + "- `amazon.titan-tg1-large`\n", + "- `ai21.j2-grande-instruct`\n", + "- `ai21.j2-jumbo-instruct`\n", + "- `anthropic.claude-instant-v1`\n", + "- `anthropic.claude-v1`" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "088cf6bf-dd73-4710-a0cc-6c11d220c431", + "metadata": {}, + "source": [ + "#### Invoke the Amazon Titan Large language model" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "379498f2", + "metadata": {}, + "source": [ + "First, we explore how the model generates an output based on the prompt created earlier.\n", + "\n", + "##### Complete Output Generation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ecaceef1-0f7f-4ae5-8007-ff7c25335251", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "modelId = 'amazon.titan-tg1-large' # change this to use a different version from the model provider\n", + "accept = 'application/json'\n", + "contentType = 'application/json'\n", + "\n", + "response = boto3_bedrock.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "response_body = json.loads(response.get('body').read())\n", + "\n", + "outputText = response_body.get('results')[0].get('outputText')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3748383a-c140-407f-a7f6-8f140ad57680", + "metadata": {}, + "outputs": [], + "source": [ + "# The relevant portion of the response begins after the first newline character\n", + "# Below we print the response beginning after the first occurence of '\\n'.\n", + "\n", + "email = outputText[outputText.index('\\n')+1:]\n", + "print_ww(email)\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "2d69e1a0", + "metadata": {}, + "source": [ + "##### Streaming Output Generation\n", + "Above is an example email generated by the Amazon Titan Large model by understanding the input request and using its inherent understanding of the different modalities. This request to the API is synchronous and waits for the entire output to be generated by the model.\n", + "\n", + "Bedrock also supports that the output can be streamed as it is generated by the model in form of chunks. Below is an example of invoking the model with streaming option. `invoke_model_with_response_stream` returns a `ResponseStream` which you can read from." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad073290", + "metadata": {}, + "outputs": [], + "source": [ + "response = boto3_bedrock.invoke_model_with_response_stream(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "stream = response.get('body')\n", + "output = []\n", + "i = 1\n", + "if stream:\n", + " for event in stream:\n", + " chunk = event.get('chunk')\n", + " if chunk:\n", + " chunk_obj = json.loads(chunk.get('bytes').decode())\n", + " text = chunk_obj['outputText']\n", + " output.append(text)\n", + " print(f'\\t\\t\\x1b[31m**Chunk {i}**\\x1b[0m\\n{text}\\n')\n", + " i+=1" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9a788be5", + "metadata": {}, + "source": [ + "The above helps to quickly get output of the model and let the service complete it as you read. This assists in use-cases where there are longer pieces of text that you request the model to generate. You can later combine all the chunks generated to form the complete output and use it for your use-case" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02d48c73", + "metadata": {}, + "outputs": [], + "source": [ + "print('\\t\\t\\x1b[31m**COMPLETE OUTPUT**\\x1b[0m\\n')\n", + "complete_output = ''.join(output)\n", + "print(complete_output)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "64b08b3b", + "metadata": {}, + "source": [ + "## Conclusion\n", + "You have now experimented with using `boto3` SDK which provides a vanilla exposure to Amazon Bedrock API. Using this API you have seen the use case of generating an email responding to a customer due to their negative feedback.\n", + "\n", + "### Take aways\n", + "- Adapt this notebook to experiment with different models available through Amazon Bedrock such as Anthropic Claude and AI21 Labs Jurassic models.\n", + "- Change the prompts to your specific usecase and evaluate the output of different models.\n", + "- Play with the token length to understand the latency and responsiveness of the service.\n", + "- Apply different prompt engineering principles to get better outputs.\n", + "\n", + "## Thank You" + ] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "tmp-bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/01_Generation/01_zero_shot_generation.ipynb b/01_Generation/01_zero_shot_generation.ipynb new file mode 100644 index 00000000..aad69b2b --- /dev/null +++ b/01_Generation/01_zero_shot_generation.ipynb @@ -0,0 +1,836 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "497d5095-1305-4435-8970-f7fc40e2635b", + "metadata": {}, + "source": [ + "# Invoke Bedrock model using LangChain and a zero-shot prompt" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "406280e0-6c82-48e7-af07-4c18282f1b9d", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "In this notebook we show how to use a LLM to generate an email response to a customer who provided negative feedback on the quality of customer service that they received from the support engineer. \n", + "\n", + "We will use Anthropic's Claude model provided by Bedrock in this example. We will use the Bedrock version that is integrated with [LangChain](https://python.langchain.com/docs/get_started/introduction.html). LangChain is a framework for developing applications powered by language models. The key aspects of this framework allow us to augment the Large Language Models by chaining together various components to create advanced use cases.\n", + "\n", + "In this notebook we will use the Bedrock API provided by LangChain. The prompt used in this example is called a zero-shot prompt because we are not providing any additional context other than the prompt.\n", + "\n", + "**Note:** *This notebook can be run within or outside of AWS environment*.\n", + "\n", + "#### Context\n", + "In the previous example `00_generate_w_bedrock.ipynb`, we explored how to use Boto3 client to communicate with Amazon Bedrock API. In this notebook, we will try to add a bit more complexity to leverage the LangChain framework for the similar use case. We will explore the use of Amazon Bedrock integration within LangChain framework and how it could be used to generate text with the help of `PromptTemplate`.\n", + "\n", + "#### Pattern\n", + "We will simply provide the LangChain implementation of Amazon Bedrock API with an input consisting of a task, an instruction and an input for the model under the hood to generate an output without providing any additional example. The purpose here is to demonstrate how the powerful LLMs easily understand the task at hand and generate compelling outputs.\n", + "\n", + "![](./images/bedrock_langchain.jpg)\n", + "\n", + "#### Useccase\n", + "To demonstrate the generation capability of models in Amazon Bedrock, let's take the use case of email generation.\n", + "\n", + "#### Persona\n", + "You are Bob a Customer Service Manager at AnyCompany and some of your customers are not happy with the customer service and are providing negative feedbacks on the service provided by customer support engineers. Now, you would like to respond to those customers humbly aplogizing for the poor service and regain trust. You need the help of an LLM to generate a bulk of emails for you which are human friendly and personalized to the customer's sentiment from previous email correspondence.\n", + "\n", + "#### Implementation\n", + "To fulfill this use case, in this notebook we will show how to generate an email with a thank you note based on the customer's previous email. We will use the Amazon Titan Text Large model using the Amazon Bedrock LangChain integration. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b7daa1a8-d21a-410c-adbf-b253c2dabf80", + "metadata": { + "tags": [] + }, + "source": [ + "## Invoke the Bedrock client using LangChain Integration\n", + "\n", + "Lets begin with creating an instance of Bedrock class from llms. This expects a `model_id` of the model available in Amazon Bedrock. \n", + "\n", + "Optionally you can pass on a previously created boto3 client as well as some `model_kwargs` which can hold parameters such as `temperature`, `topP`, `maxTokenCount` or `stopSequences` (more on parameters can be explored in Amazon Bedrock console).\n", + "\n", + "Available text generation models under Amazon Bedrock have the following IDs:\n", + "\n", + "- amazon.titan-tg1-large\n", + "- ai21.j2-grande-instruct\n", + "- ai21.j2-jumbo-instruct\n", + "- anthropic.claude-instant-v1\n", + "- anthropic.claude-v1" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "de0361e7-168f-46a3-be55-7071c4f0500e", + "metadata": {}, + "source": [ + "## Setup " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d5f12f5d", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49e2c0a9-4838-4f2b-bb36-61c0cbcd62af", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee2be60b-480a-4524-8a1d-3529ebcb812d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fef011e8", + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f26378e7", + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "66824ae7", + "metadata": {}, + "source": [ + "Amazon Bedrock API can be used with these parameters below:\n", + "- `inputTextTokenCount`: The size of the input prompt\n", + "- `tokenCount`: The number of tokens of the entire prompt + the output\n", + "\n", + "It will return the results as below:\n", + "- `outputText`: The text generated by the model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13f75ea1-dce1-4794-84bf-68d9c22a2d97", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.llms.bedrock import Bedrock\n", + "\n", + "inference_modifier = {'max_tokens_to_sample':4096, \n", + " \"temperature\":0.5,\n", + " \"top_k\":250,\n", + " \"top_p\":1,\n", + " \"stop_sequences\": [\"\\n\\nHuman\"]\n", + " }\n", + "\n", + "textgen_llm = Bedrock(model_id = \"anthropic.claude-v1\",\n", + " client = boto3_bedrock, \n", + " model_kwargs = inference_modifier \n", + " )" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c9fc4301", + "metadata": {}, + "source": [ + "LangChain has abstracted away the Amazon Bedrock API and made it easy to build use cases. You can pass in your prompt and it is automatically routed to the appropriate API to generate the response. You simply get the text output as-is and don't have to extract the results out of the response body.\n", + "\n", + "Let's prepare the prompt to generate an email for the Customer Service Manager to send to the customer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4e3304c", + "metadata": {}, + "outputs": [], + "source": [ + "response = textgen_llm(\"\"\"Write an email from Bob, Customer Service Manager, \n", + "to the customer \"John Doe\" that provided negative feedback on the service \n", + "provided by our customer support engineer.\\n\\nHuman:\"\"\")\n", + "\n", + "print_ww(response)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "f8ed23ea", + "metadata": {}, + "source": [ + "## Conclusion\n", + "You have now experimented with using `LangChain` framework which provides an abstraction layer on Amazon Bedrock API. Using this framework you have seen the usecase of generating an email responding to a customer due to their negative feedback.\n", + "\n", + "### Take aways\n", + "- Adapt this notebook to experiment with different models available through Amazon Bedrock such as Anthropic Claude and AI21 Labs Jurassic models.\n", + "- Change the prompts to your specific usecase and evaluate the output of different models.\n", + "- Play with the different parameters to understand the latency and responsiveness of the service.\n", + "- Apply different prompt engineering principles to get better outputs.\n", + "\n", + "## Thank You" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b604d5da-3a28-476c-b1ff-20aedf46c898", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/01_Generation/02_contextual_generation.ipynb b/01_Generation/02_contextual_generation.ipynb new file mode 100644 index 00000000..716fe3ee --- /dev/null +++ b/01_Generation/02_contextual_generation.ipynb @@ -0,0 +1,897 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "af3f88dd-0f5e-427e-84ee-8934982300d1", + "metadata": { + "tags": [] + }, + "source": [ + "# Bedrock with LangChain using a Prompt that includes Context" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b920ca4a-a71d-4630-a6e4-577d95192ad1", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "In this notebook we show you how to generate an email response to a customer who was not happy with the quality of customer service that they received from the customer support engineer. We will provide additional context to the model by providing the contents of the actual email that was received from the unhappy customer.\n", + "\n", + "Because of additional context in the prompt, the text produced by the Amazon Titan Large language model in this notebook is of much better quality and relevance than the content produced earlier through zero-shot prompts.\n", + "\n", + "[LangChain](https://python.langchain.com/docs/get_started/introduction.html) is a framework for developing applications powered by language models. The key aspects of this framework allow us to augment the Large Language Models by chaining together various components to create advanced use cases.\n", + "\n", + "In this notebook we will use the Bedrock API provided by LangChain. The prompt used in this example creates a custom LangChain prompt template for adding context to the text generation request. \n", + "\n", + "**Note:** *This notebook can be run within or outside of AWS environment.*\n", + "\n", + "#### Context\n", + "In the previous example `01_zero_shot_generation.ipynb`, we explored how to use LangChain framework to communicate with Amazon Bedrock API. In this notebook we will try to add a bit more complexity with the help of `PromptTemplates` to leverage the LangChain framework for the similar use case. `PrompTemplates` allow you to create generic shells which can be populated with information later and get model outputs based on different scenarios.\n", + "\n", + "As part of this notebook we will explore the use of Amazon Bedrock integration within LangChain framework and how it could be used to generate text with the help of `PromptTemplate`.\n", + "\n", + "#### Pattern\n", + "We will simply provide the LangChain implementation of Amazon Bedrock API with an input consisting of a task, an instruction and an input for the model under the hood to generate an output without providing any additional example. The purpose here is to demonstrate how the powerful LLMs easily understand the task at hand and generate compelling outputs.\n", + "\n", + "![](./images/bedrock_langchain.jpg)\n", + "\n", + "#### Use case\n", + "To demonstrate the generation capability of models in Amazon Bedrock, let's take the use case of email generation.\n", + "\n", + "#### Persona\n", + "You are Bob a Customer Service Manager at AnyCompany and some of your customers are not happy with the customer service and are providing negative feedbacks on the service provided by customer support engineers. Now, you would like to respond to those customers humbly aplogizing for the poor service and regain trust. You need the help of an LLM to generate a bulk of emails for you which are human friendly and personalized to the customer's sentiment from previous email correspondence.\n", + "\n", + "#### Implementation\n", + "To fulfill this use case, we will show you how to generate an email with a thank you note based on the customer's previous email. We will use the Amazon Titan Text Large model using the Amazon Bedrock LangChain integration. \n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "aa11828a-243d-4808-9c92-e8caf4cebd37", + "metadata": {}, + "source": [ + "## Setup\n", + "Before we get started with the implementation we have to make sure that the required boto3 and botocore packages are installed. These will be used to leverage the Amazon Bedrock API client." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49e2c0a9-4838-4f2b-bb36-61c0cbcd62af", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ac4dc1bc", + "metadata": {}, + "source": [ + "Let's begin with creating an instance of Bedrock class from llms. This expects a `model_id` which is the ARN of the model available in Amazon Bedrock. \n", + "\n", + "Optionally you can pass on a previously created boto3 client as well as some `model_kwargs` which can hold parameters such as `temperature`, `topP`, `maxTokenCount` or `stopSequences` (more on parameters can be explored in Amazon Bedrock console).\n", + "\n", + "Available text generation models under Amazon Bedrock have the following IDs:\n", + "\n", + "- amazon.titan-tg1-large\n", + "- ai21.j2-grande-instruct\n", + "- ai21.j2-jumbo-instruct\n", + "- anthropic.claude-instant-v1\n", + "- anthropic.claude-v1" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b8365753", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "827b80d8", + "metadata": {}, + "source": [ + "For this notebook we also need langchain version >= 0.0.190 which has Amazon Bedrock class implemented under llms module. Also we are installing the transformers framework from HuggingFace, which we will use to quickly count the number of tokens in the input prompt." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f84b2e23", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install langchain==0.0.190 --quiet\n", + "%pip install transformers==4.24.0 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e0a377a2", + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cb5fe2d", + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b7daa1a8-d21a-410c-adbf-b253c2dabf80", + "metadata": { + "tags": [] + }, + "source": [ + "## Invoke the Bedrock LLM Model\n", + "\n", + "For more details for the parameters please refer to the Bedrock API page." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ffa1250-56cd-4b6d-b3d8-c62baac143ce", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.llms.bedrock import Bedrock\n", + "\n", + "inference_modifier = {'max_tokens_to_sample':4096, \n", + " \"temperature\":0.5,\n", + " \"top_k\":250,\n", + " \"top_p\":1,\n", + " \"stop_sequences\": [\"\\n\\nHuman\"]\n", + " }\n", + "\n", + "textgen_llm = Bedrock(model_id = \"anthropic.claude-v1\",\n", + " client = boto3_bedrock, \n", + " model_kwargs = inference_modifier \n", + " )\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "de2678ed-f0d6-444f-9a57-5170dd1952f7", + "metadata": {}, + "source": [ + "## Create a LangChain custom prompt template\n", + "\n", + "By creating a template for the prompt we can pass it different input variables to it on every run. This is useful when you have to generate content with different input variables that you may be fetching from a database.\n", + "\n", + "Previously we hardcoded the prompt, it might be the case that you have multiple customers sending similar negative feedback and you now want to use each of those customer's emails and respond to them with an apology but you also want to keep the response a bit personalized. In the following cell we are exploring how you can create a `PromptTemplate` to achieve this pattern." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbec103a-97ae-4e9e-9d80-dc20f354a228", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain import PromptTemplate\n", + "\n", + "# Create a prompt template that has multiple input variables\n", + "multi_var_prompt = PromptTemplate(\n", + " input_variables=[\"customerServiceManager\", \"customerName\", \"feedbackFromCustomer\"], \n", + " template=\"\"\"Create an apology email from the Service Manager {customerServiceManager} to {customerName}. \n", + " in response to the following feedback that was received from the customer: {feedbackFromCustomer}.\n", + " \"\"\"\n", + " \n", + ")\n", + "\n", + "# Pass in values to the input variables\n", + "prompt = multi_var_prompt.format(customerServiceManager=\"Bob\", \n", + " customerName=\"John Doe\", \n", + " feedbackFromCustomer=\"\"\"Hello Bob,\n", + " I am very disappointed with the recent experience I had when I called your customer support.\n", + " I was expecting an immediate call back but it took three days for us to get a call back.\n", + " The first suggestion to fix the problem was incorrect. Ultimately the problem was fixed after three days.\n", + " We are very unhappy with the response provided and may consider taking our business elsewhere.\n", + " \"\"\"\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e45bdfd5-ce76-42e9-81cd-b0892337d163", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "num_tokens = textgen_llm.get_num_tokens(prompt)\n", + "print(f\"Our prompt has {num_tokens} tokens\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a1bf31e9-56c0-408f-a652-9e23de446aef", + "metadata": {}, + "source": [ + "## Invoke again\n", + "\n", + "invoke using the prompt template and expect to see a curated response back" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1064c57-27a4-48c5-911b-e4f1dfeff122", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "response = textgen_llm(prompt)\n", + "\n", + "email = response[response.index('\\n')+1:] \n", + "\n", + "print_ww(email)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9e9abc40", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "To conclude we learnt that invoking the LLM without any context might not yield the desired results. By adding context and further using the the prompt template to constrain the output from the LLM we are able to successfully get our desired output" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "0403c457", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/01_Generation/README.md b/01_Generation/README.md new file mode 100644 index 00000000..f2153131 --- /dev/null +++ b/01_Generation/README.md @@ -0,0 +1,26 @@ +## Overview + +In this lab, you will learn how to generate text using LLMs on Amazon Bedrock. We will demonstrate the use of LLMs using the Bedrock API as well as how to utilize the LangChain framework that integrates with Bedrock. + +We will first generate text using a zero-shot prompt. The zero-shot prompt provides instruction to generate text content without providing a detailed context. We will explore zero-shot email generation using two approaches: Bedrock API (BoTo3) and Bedrock integration with LangChain. Then we will show how to improve the quality of the generated text by providing additional context in the prompt. + +## Audience + +Architects and developer who want to learn how to use Amazon Bedrock LLMs to generate text. +Some of the business use cases for text generation include: + +- Generating product descriptions based on product features and benefits for marketing teams +- Generation of media articles and marketing campaigns +- Email and reports generation + +## Workshop Notebooks + +We will generate an email response to a customer where the customer had provided negative feedback on service received from a customer support engineer. The text generation workshop includes the following three notebooks. +1. [Generate Email with Amazon Titan](./00_generate_w_bedrock.ipynb) - Invokes Amazon Titan large text model using Bedrock API to generate an email response to a customer. It uses a zero-shot prompt without context as instruction to the model. +2. [Zero-shot Text Generation with Anthropic Claude](01_zero_shot_generation.ipynb) - Invokes Anthropic's Claude Text model using the LangChain framework integration with Bedrock to generate an email to a customer. It uses a zero-shot prompt without context as instruction to the model. +3. [Contextual Text Generation using LangChain](./02_contextual_generation.ipynb) - We provide additional context in the prompt which includes the original email from the customer that we would like the model to generate a response for. The example includes a custom prompt template in LangChain, so that variable values can be substitued in the prompt at runtime. + +## Architecture + +![Bedrock](./images/bedrock.jpg) +![Bedrock](./images/bedrock_langchain.jpg) \ No newline at end of file diff --git a/01_Generation/images/bedrock.jpg b/01_Generation/images/bedrock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..661f05a07f58ff9aa61bdd9f60c96bf3a65d46a3 GIT binary patch literal 22850 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 j|l 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 K@9_0}>i-i=D$9-l literal 0 HcmV?d00001 diff --git a/01_Generation/images/bedrock_langchain.jpg b/01_Generation/images/bedrock_langchain.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0d08a033109d9eefeef3a136cd0135058bb0f34 GIT binary patch literal 30367 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­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 tag. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ece0c069", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "prompt = \"\"\"\n", + "Please provide a summary of the following text. Do not add any information that is not mentioned in the text below.\n", + "\n", + "\n", + "AWS took all of that feedback from customers, and today we are excited to announce Amazon Bedrock, \\\n", + "a new service that makes FMs from AI21 Labs, Anthropic, Stability AI, and Amazon accessible via an API. \\\n", + "Bedrock is the easiest way for customers to build and scale generative AI-based applications using FMs, \\\n", + "democratizing access for all builders. Bedrock will offer the ability to access a range of powerful FMs \\\n", + "for text and images—including Amazons Titan FMs, which consist of two new LLMs we’re also announcing \\\n", + "today—through a scalable, reliable, and secure AWS managed service. With Bedrock’s serverless experience, \\\n", + "customers can easily find the right model for what they’re trying to get done, get started quickly, privately \\\n", + "customize FMs with their own data, and easily integrate and deploy them into their applications using the AWS \\\n", + "tools and capabilities they are familiar with, without having to manage any infrastructure (including integrations \\\n", + "with Amazon SageMaker ML features like Experiments to test different models and Pipelines to manage their FMs at scale).\n", + "\n", + "\n", + "\"\"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3efddbb0", + "metadata": {}, + "source": [ + "## Creating request body with prompt and inference parameters \n", + "\n", + "Following the request syntax of `invoke_model`, you create request body with the above prompt and inference parameters." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60d191eb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = json.dumps({\"inputText\": prompt, \n", + " \"textGenerationConfig\":{\n", + " \"maxTokenCount\":4096,\n", + " \"stopSequences\":[],\n", + " \"temperature\":0,\n", + " \"topP\":1\n", + " },\n", + " }) " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "cc9f3326", + "metadata": {}, + "source": [ + "## Invoke foundation model via Boto3\n", + "\n", + "Here sends the API request to Amazon Bedrock with specifying request parameters `modelId`, `accept`, and `contentType`. Following the prompt, the foundation model in Amazon Bedrock sumamrizes the text." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f400d76", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "modelId = 'amazon.titan-tg1-large' # change this to use a different version from the model provider\n", + "accept = 'application/json'\n", + "contentType = 'application/json'\n", + "\n", + "response = boto3_bedrock.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "response_body = json.loads(response.get('body').read())\n", + "\n", + "print_ww(response_body.get('results')[0].get('outputText'))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "3c527882", + "metadata": {}, + "source": [ + "In the above the Bedrock service generates the entire summary for the given prompt in a single output, this can be slow if the output contains large amount of tokens. \n", + "\n", + "Below we explore the option how we can use Bedrock to stream the output such that the user could start consuming it as it is being generated by the model. For this Bedrock supports `invoke_model_with_response_stream` API providing `ResponseStream` that streams the output in form of chunks." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62787950", + "metadata": {}, + "outputs": [], + "source": [ + "response = boto3_bedrock.invoke_model_with_response_stream(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "stream = response.get('body')\n", + "output = list(stream)\n", + "output" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "2ec4a584", + "metadata": {}, + "source": [ + "Instead of generating the entire output, Bedrock sends smaller chunks from the model. This can be displayed in a consumable manner as well." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffc08b2e", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import display_markdown, Markdown, clear_output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06b84ff2", + "metadata": {}, + "outputs": [], + "source": [ + "response = boto3_bedrock.invoke_model_with_response_stream(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "stream = response.get('body')\n", + "output = []\n", + "i = 1\n", + "if stream:\n", + " for event in stream:\n", + " chunk = event.get('chunk')\n", + " if chunk:\n", + " chunk_obj = json.loads(chunk.get('bytes').decode())\n", + " text = chunk_obj['outputText']\n", + " clear_output(wait=True)\n", + " output.append(text)\n", + " display_markdown(Markdown(''.join(output)))\n", + " i+=1\n", + "\n", + "clear_output(wait=True)\n", + "print_ww(''.join(output))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "62a93aeb", + "metadata": {}, + "source": [ + "## Conclusion\n", + "You have now experimented with using `boto3` SDK which provides a vanilla exposure to Amazon Bedrock API. Using this API you have seen the use case of generating a summary of AWS news about Amazon Bedrock in 2 different ways: entire output and streaming output generation.\n", + "\n", + "### Take aways\n", + "- Adapt this notebook to experiment with different models available through Amazon Bedrock such as Anthropic Claude and AI21 Labs Jurassic models.\n", + "- Change the prompts to your specific usecase and evaluate the output of different models.\n", + "- Play with the token length to understand the latency and responsiveness of the service.\n", + "- Apply different prompt engineering principles to get better outputs.\n", + "\n", + "## Thank You" + ] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "tmp-bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/02_Summarization/02.long-text-summarization-titan.ipynb b/02_Summarization/02.long-text-summarization-titan.ipynb new file mode 100644 index 00000000..1532304f --- /dev/null +++ b/02_Summarization/02.long-text-summarization-titan.ipynb @@ -0,0 +1,883 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "fded102b", + "metadata": {}, + "source": [ + "# Abstractive Text Summarization with Amazon Titan" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "fab8b2cf", + "metadata": {}, + "source": [ + "## Overview\n", + "When we work with large documents, we can face some challenges as the input text might not fit into the model context length, or the model hallucinates with large documents, or, out of memory errors, etc.\n", + "\n", + "To solve those problems, we are going to show an architecture that is based on the concept of chunking and chaining prompts. This architecture is leveraging [LangChain](https://python.langchain.com/docs/get_started/introduction.html) which is a popular framework for developing applications powered by language models.\n", + "\n", + "### Architecture\n", + "\n", + "![](./images/42-text-summarization-2.png)\n", + "\n", + "In this architecture:\n", + "\n", + "1. A large document (or a giant file appending small ones) is loaded\n", + "1. Langchain utility is used to split it into multiple smaller chunks (chunking)\n", + "1. First chunk is sent to the model; Model returns the corresponding summary\n", + "1. Langchain gets next chunk and appends it to the returned summary and sends the combined text as a new request to the model; the process repeats until all chunks are processed\n", + "1. In the end, you have final summary based on entire content\n", + "\n", + "### Use case\n", + "This approach can be used to summarize call transcripts, meetings transcripts, books, articles, blog posts, and other relevant content.\n", + "\n", + "## Setup" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "fcc7dfe4", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a8925f3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install transformers==4.24.0 --quiet\n", + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f0f9067", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5315afb7", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "49ae9a41", + "metadata": {}, + "source": [ + "## Summarize long text \n", + "\n", + "### Configuring LangChain with Boto3\n", + "\n", + "LangChain allows you to access Bedrock once you pass boto3 session information to LangChain. If you pass None as the boto3 session information to LangChain, LangChain tries to get session information from your environment.\n", + "In order to ensure the right client is used we are going to instantiate one thanks to a utility method.\n", + "\n", + "You need to specify LLM for LangChain Bedrock class, and can pass arguments for inference. Here you specify Amazon Titan Text Large in `model_id` and pass Titan's inference parameter in `textGenerationConfig`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93df2442", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.llms.bedrock import Bedrock\n", + "\n", + "llm = Bedrock(model_id=\"amazon.titan-tg1-large\", \n", + " model_kwargs ={\n", + " \"textGenerationConfig\": {\n", + " \"maxTokenCount\": 4096,\n", + " \"stopSequences\": [],\n", + " \"temperature\":0,\n", + " \"topP\":1\n", + " },\n", + " },\n", + " client=boto3_bedrock)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "31223056", + "metadata": {}, + "source": [ + "### Loading a text file with many tokens\n", + "\n", + "In `letters` directory, you can find a text file of [Amazon's CEO letter to shareholders in 2022](https://www.aboutamazon.com/news/company-news/amazon-ceo-andy-jassy-2022-letter-to-shareholders). The following cell loads the text file and counts the number of tokens in the file. \n", + "\n", + "You will see warning indicating the number of tokens in the text file exceeeds the maximum number of tokens fot his model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c70352ae", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "shareholder_letter = \"./letters/2022-letter.txt\"\n", + "\n", + "with open(shareholder_letter, \"r\") as file:\n", + " letter = file.read()\n", + " \n", + "llm.get_num_tokens(letter)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "dc8ec39d", + "metadata": {}, + "source": [ + "### Splitting the long text into chunks\n", + "\n", + "The text is too long to fit in the prompt, so we will split it into smaller chunks.\n", + "`RecursiveCharacterTextSplitter` in LangChain supports splitting long text into chunks recursively until size of each chunk becomes smaller than `chunk_size`. A text is separated with `separators=[\"\\n\\n\", \"\\n\"]` into chunks, which avoids splitting each paragraph into multiple chunks.\n", + "\n", + "Using 6,000 characters per chunk, we can get summaries for each portion separately. The number of tokens, or word pieces, in a chunk depends on the text." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e7c372b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "text_splitter = RecursiveCharacterTextSplitter(\n", + " separators=[\"\\n\\n\", \"\\n\"], chunk_size=4000, chunk_overlap=100\n", + ")\n", + "\n", + "docs = text_splitter.create_documents([letter])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f66569f0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "num_docs = len(docs)\n", + "\n", + "num_tokens_first_doc = llm.get_num_tokens(docs[0].page_content)\n", + "\n", + "print(\n", + " f\"Now we have {num_docs} documents and the first one has {num_tokens_first_doc} tokens\"\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "a5f8ae45", + "metadata": {}, + "source": [ + "### Summarizing chunks and combining them" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b61d49f5", + "metadata": {}, + "source": [ + "Assuming that the number of tokens is consistent in the other docs we should be good to go. Let's use LangChain's [load_summarize_chain](https://python.langchain.com/en/latest/use_cases/summarization.html) to summarize the text. `load_summarize_chain` provides three ways of summarization: `stuff`, `map_reduce`, and `refine`. \n", + "- `stuff` puts all the chunks into one prompt. Thus, this would hit the maximum limit of tokens.\n", + "- `map_reduce` summarizes each chunk, combines the summary, and summarizes the combined summary. If the combined summary is too large, it would raise error.\n", + "- `refine` summarizes the first chunk, and then summarizes the second chunk with the first summary. The same process repeats until all chunks are summarized.\n", + "\n", + "`map_reduce` and `refine` invoke LLM multiple times and takes time for obtaining final summary. \n", + "Let's try `map_reduce` here. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3b08c54", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Set verbose=True if you want to see the prompts being used\n", + "from langchain.chains.summarize import load_summarize_chain\n", + "summary_chain = load_summarize_chain(llm=llm, chain_type=\"map_reduce\", verbose=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba73121e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "output = summary_chain.run(docs)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3f7eb9b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print_ww(output.strip())" + ] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "tmp-bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/02_Summarization/README.md b/02_Summarization/README.md new file mode 100644 index 00000000..01c27afa --- /dev/null +++ b/02_Summarization/README.md @@ -0,0 +1,53 @@ + +# Text summarization + + +## Overview + +Text summarization is a Natural Language Processing (NLP) technique that involves extracting the most relevant information from a text document and presenting it in a concise and coherent format. + +Summarization works by sending a prompt instruction to the model, asking the model to summarize your text, like following example: + +```xml +Please summarize the following text: + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, +sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Sem fringilla ut morbi tincidunt augue interdum velit euismod in. +Quis hendrerit dolor magna eget est. + +``` + +In order to get the model running a summarization task, we use a technique called prompt engineering, which sends to the model instructions (on plain text) about what is expected when it processes our data and about the response. If you would like to learn more about it, please look into [this](https://www.promptingguide.ai/). + +## Why is it relevant + +People in general are busy with amount of stuff to do. You have meetings to attend, articles and blogs to read, etc. Summarization is a good technique to help you be up to date with important subjects. + +In this module, you will be able to work with Amazon Bedrock API to quickly summarize small and large texts, simplifying the underneath understanding. + +The idea in this demonstration is to show the art of the possible and how to replicate this example to summarize other common scenarios as: + +- Academical papers +- Transcriptions: + - After business calls + - Call center +- Legal documentation +- Financial reports + +## Target Audience + +This module can be executed by any developer familiar with Python, also by data scientists and other technical people. + +## Patterns + +On this workshop, you will be able to learn following patterns on summarization: + +1. [Text summarization with small files](./01.small-text-summarization-claude.ipynb) + + ![small text](./images/41-text-simple-1.png) + +2. [Abstractive Text Summarization](./02.long-text-summarization-titan.ipynb) + + ![large text](./images/42-text-summarization-2.png) \ No newline at end of file diff --git a/02_Summarization/images/41-text-simple-1.png b/02_Summarization/images/41-text-simple-1.png new file mode 100644 index 0000000000000000000000000000000000000000..849cc64e762034ef99d1c44627d6d47e6732b3e2 GIT binary patch literal 47184 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%0D?d& zvfQd6cXHDmr3p63tS+C){K!lkF;&H&8Z>R@y7g=DYYGbso<}oK!m}Vt**yRxW{~cl zI`*!mBy9Q>s>QM=_Rv`{zT-<^E4| zhwa;6hb)=Y+Yb+^_aSu3i5l)arIp+5g+`DQT7tDUH7u4070^(N}74>&jpkv zht{5~z`wm*d`JcbMW;N~l-CjPB0$tDshHBD-m+WOhZ*}j@oF$|_OG_Cd3!AcGUKHB zh~_tN95cw4J6U8hPsU)jsUFh$bQ2ex+Ee@a&!Go`K+6LtUx!@v+vdd=UU2QDPbtc> z!B$7&f|CH0fw2t`XyNksN?b;n_mYme0f5E};roN;r>%j~;vfB=|Bp*YoMKHG6w)rtYH5^kk>ZVeO=BD~UqmY`T=k?lf1P&<(HLLb5EGneO1X zT)xH8SNG^BdAE-3t5*w&hVeF{R@xQlN9!|9T_%A&xDXzb&AU1P zpb3|==*Ej)1~+`cR zE7vm2+5Bw~)Be=yPz(}yDZ|P+&Q`)wkhH&?gAL`BOA}?IgUgDqa2UiE=v)iBNEQ2- zRp>T*OEmJKIxY9g`J5lS3L3(x*#}U|8ud4EAKMi#c9kSx+?N=04p@>mQ^6uYIN(Rm zDOlQcGi2%w$t9@AK|u9=L5RT*fwe`^{x--y{W_>V_^C*~aUN?xlEs?@0u?794V z5ZcpG)F&tin8Se{(Jvec1%iSt*FzW>`07ud+x8kCid-yxwrb`x)yvbplpJ*YR*bjV zq_z~zju~e7fU_wfEBL;`{^nCC2MT=3$`%V4$h?SMiFgb`eT*zgm(v7eUI~e7Fx7ro3qor;AMf&~-u}f~>u_-Ey|?8ZIQNpD zBN}MPICKyxBGK5zHwkJF-%RpT8JsdS;q2c0Z|%0n zq9s;s(q38O02(&x(9U>=i?#zTWv=$FcpWhGdDE*(!10HuX3*T??MNVPrA9co)MJaF z%_q?_@EM!<@axklGKiU8NxKHM>xbeEp84`67Slmi7bqG5a`KcNc3$U5Cy zT{ib*y%wqV?ZQ}YvGk}ow*M@{&n}ekxP=k`^T$n7I2CU1A21f6y=n!Bs2Sl%N`P-V zy>|;#A|cy@NbsSOBvWTF4#|D;_WIxcm-ZLhsr4>c$gnZdSE-ZNn z6TrYnDXu)QgKW{j-qZOO|8l%(oh6_p;@eKU)P+AHhS;Xv)}&ePB_$aILMEoaB_`lpqr7J!~vC!*2kjN(k5rf0!s3*1o$V8 zldW|S5C%vWgTznqL2eLQ^8oJnQiqrOyuZ%AUFpga32&#IvRo38xNk}U%RC@3L$orG zK&>w-=!01_&Z37D}(;5mtrxo6fnh_ z`6UoodbO?iube1TWYyeUNo!U3E-WjlqM{4{mpdniKsJHaIsNUrIREpyKz9b{(Wx%H z(66)FR@X0=h6_QmjMi;=fch!P^eXd(5%uJD{BPh1-?3r}T zyfl_-5-!^p?RSAw&*i~TGXjA?@izpW6Z6h#Z6IDQA~^vOUpI}UHsuddG_7KOahu2M zqt}WcyKRnMPCKB<7eP!_fs0T>30cIx!cqQhUvqE86Hf*`^9XkLv2^WzEeNS1Q{BG@ z=+7Ja#(-b^MK9-7_BPM3V!s$mfxl{gBfudW*0Q!A{@h9ife9@mt+B#)-wgo`uJ|_) zwUE9WZKSW7bp#^?Is+N;JKvsXSKlVHU=Rn2ZT7pb7Fz19G2$_C-&6{1Ut;e)2K%=Z zD}x}$m8+HJw>N2Wdz0k)Z*zF6ESLFs5aN$iq9{&pl}WuSum zV>EA_k74&1i>B^Aw&QwWaENi*Nj8v0J&otJn*N!o39o>{TaYN(PYtTwUaiskJ3KM` zrZ0^B)&y9UjKGMCmPQl3%erNZddXtuhwYi;&EjkcQQ36wg@oZ>8qR%-dk7i+Q9{U2 z8G&=$hEHwa3!wx2bx|Z}V7ufyhHqr=%cNz6@o}AG*#T9A3Q??f>;bgdel-=Gl;>^)Pp2| zPS?l5$PHDPAByezw=eh#3$Yh!BR;^yEgrZIQNh6c4k!TWi55v^fDUvjPYs8G>x1vF zJYFl}%3T}y*-<}(KM?@HwEjpnH6|5mI#}-}-M7{D&E!&^nFYXZNEIzGA*}wp-h$8G z@<|{K5H#@u?NENy;dwau>ZeIBvKvV@PX{k;A5Jt{77TzR6wB9+h_`?*K{y=-D1D+N zhzma_ppY6y;tyk{HX;n5egHlFv13S(2+33$Xdwej7I1z+9iBzJD7ug<%9|7hQQPgMgHgpBQBX=%n%RGptqnwm!*?=*12?pR7BcPV zFHPmz4# z{wmJl-2UTpuXu+zR|*q2CDmepxGjNEQ-HpO&*+V${Cnzv7L9R=7iq|nBJHSup6MV< zO~2#6auE7)?O=}Fyj|tCeI_|A(s$RQMR3c2Fu$?X@iPd)Wc!8a|NV&tWCQ*|f(eBK zUx57xR7scq7$#hQ@ZQbOVfghEL#%~otr_!ihCIWUP1!PPNJpJE(byw0biiS3Fdi}; zK2jtVf~jT8|KZ`RNq3?XuY4e0Mo~gtYNPBTjQ5(M^k4@BzrjnC5$*OO ziU9;3jO8Ku-_{2Mkl^qYqo?-{2HkVAKRhFy`OVyBtxRFHxLmCmxZL8@vY<+5xwgVm zfiF*W%_<4lv^VFTl55lf3=)m+*3!8`acKBe99kxrSe#CVN+|%F4?y}5KjHvC2o(?I zHj;~T-k#q2Ur+y0G@#bwKrPsPHk(|~No6>W!DVsRSf|2`0zmua8zjCgqX&TZS1lf1 z2_B*@T~M>o$rn8i0fomj$Y63w!D(ax6>m~#OrieFZ}Spq09`Xl-`;iYS0K0L{-%8N z#d7^PN^sjl+P}g;LOuaPLgh-3+T8~>2rZ4_|5rN|eDDU*II1x4340*(1u5?#A)z!D zF>6+u-%L(7&fX9;KJ@rd7>Y62nyW?2)ylPuR3yGQ($TCqDmOn4x!sPUe=xRIB89MX z=I3Bm_;8-V+b}|=FJ42>E(TvmJpa2DkUF53%`Sf&ClN*p&I0zOUCH^cdD*fowa@t> z&#Pb5VPqVsrUCpB>Gl737r?sp&yORA(_uRrf)MXVQc#e(QVg@`(gh<6ozf0#h_G2t z%s?)62yAx&u8YNn!fJ+nQ=3L(a{5@u!NKhZ_#GO)-#I2*cO}{1-R!0Uda?5%1MTjj z=74kzgIqT^6<~)!FkYd>Ex zSVvHy*j*>aeDa?LeseDl;24u~FF%}aK;oiBO%&R7uG`<@|ndoWZOAL>DkktLTBg6^{?NGCg2+f>NEU3IYXs<{%wWotsS&g5bR z?JKz1=&@RBwzo*BYHV*`B81%NYG;5Um}DPdx%vy;`kueiMMB0xC>oeA92hqNL9#H%NO<$W!(19o}00+R$oaz`c(I$%g1v;AWQvhH#eFm;&}zFd)%q+998U zNlXqH@Q3bh?(USuaNyzL;-(~b=amHHOVVtnLIqo!TIQz5rIC+SGVkA^VFLJV3Z|f`4;nmM9oB1S-itUVjyDLP=#2%P;XdvHK`u zLoeb>ZeFRV@&X&kt614pPd>lWI(cm28tVJkP5wO>Eh1QSnYSq-RMY=8LTMb<0A&T~ zVgsnA&J4*i|PM8C`}-IbQBNkL(_}5K78|jDJi{UMU>% ztTLKH5eD_oA21JaGpIk+jA-sY3q`_P6({A%iS z&*do0a!l#j`S)5N8|isxD*jK+M*IR-1nk!&PPF}w)$uRPG-O!*5HAc&!Ptq(j3OQW zFq?=?S4}DqBnf<#+6Iy0M}fCWp9Ji__^N0Ed@qfjfUdi;?ck{~qywi3X6--2Yh_&0=IJr=36Q@4zioQ9Leir`s(eBKLSXjAzRl79x$PGS9prV4xPQCK zToiDh?k>;SgTN--DtOZX5{3k7laQgNp$XKfuu}}iB<2&Y5b-)5EO_~3buY6cWU^IW z8U!f`qzFRr?Em>AZVLoz0^LO}_S+BrDFL~AYM{j5htP@}>AR3cL1h8Y^i}W7DV}4N zMXmR3rDNOnlh`^?>stk@p{zaYzK$r02NJ^!gVQzcb=HHb|Ti@rL_dVx#ef6JS!tH&pm}|~4#~4cozwg06sm7l@gbXH8;$2JHUqTB~3fQs- zXbHAq0K@9&pHN$%0qy0v4~LB(2i0}V@R3n4iMh!%{ZUp5!9wdX{+98d`%wY0UxFDg z{w7cReqem{bIvF4!2%KLA%)xcks)5<3+tqqWTVAF%Z zBO_fq-s1enXB)(Thk$ta=+A4nJODeVAoa=$0RWa+QmTU=NkJmL9hGh2t7=z>H} z#XW&q{`Z9Y*Xieb2eFXIO4k2$euY|S!OMEKu7bO3$eZkrDphOH$ouHbhci@)Jb8NJ z_i&}+7zuTZ&oB1dOzOGq=&YaYwH3SuzJtQUdvlFM32ZKc05LiBRCw?oyNX;4%y}Tw zGn@N}F}3s&DT}sL!Lq zp&Snr{|?_jai}7KQ%`V2s7Au3?Y|)rp5yibQbFV<6~?A{MsX%#OLzSsE%NR{BS|! z3y&A?&QII&holg4u{eAu#CwyaqWrd<7Yf3m{n#;ibctj!S>_D* zj2MAghZq`J`ruH{XJ}!7e~=E^YuYbyLBtXk0kigl5tRn{&t#H; zom#rjiin8+g~{%rJ!Vph(W zh(CpHqiT_7coh3qn0#L~Na0+?e~)6JRw!{|sh<75cqN_Nt_}aGs{6$;9bl`#E{G>D zjxeVyT~hKMXOlrie)%yDD(7dNY=BmZ#Ao>wfv>{fJBGgbM6{`tEfB(?M9fdJ{-D3) z2=Lc01b}D%4g1VtJ=6cnKUSpMx$($Ey-}y(t#3y}ijaDdj4d7A&By?B4=e)y60Wga&GsJ|Dg16Q25$}VbXu8g2K8b>3!EH) z1tE*#UHen|y4o!%-OkPCC^mlaw-vPgHtfHZX5wil{!ilrGqnk7SNkzbm&wez3`O>!7 zy4YM9Mn(Us^_~3pm>5pvyIlO3An&7 z5^?EkgTpVDcp5cW=zSo{XqL4$y+X;m1#;)TIoWd4{>L|&*1KZ&VSx)A;_W}ke*m_@ zqR(_2(SmK0@&}u_x@V*q-*N? zh%R$f9h6 zzIv0PQOPGK);aD-{mE+kE>5=0rmFvDwLt0Q?)IGL2(9DM>ZcI%I3w)1E`>&J9 z-~l+wvkchB!9!ms_T_=pmGR?xr#>>_3zLi@7>Z;(bJEwMG`Qe-dkEgpIFmNUShXl9 z7OFI8WQO^XukP)qO-09GiiajqXa-QpB}(-CbophQ_p{=I((X?85h0sGQQ}mFEDmPI zX3wk=5ChQJCMU))nq%|QA-kmTcqE^(b?AZ`D)o3UGxK<3SSe41F0+Y6r$MGOJcSDL z%2L#bJZL_7AZiD-&S9+x!s(f46Ot|{X%xkGpISOObl?GI_CTUTcmD{tm|tW~>-=RF z$2_z+K2a(rS8SqaK9a>Lg07ADXn8p!_tOklhMS6CeXL5Jl637}`wp&4tFm?OJO0XokhooR)e6>- zma3E9XRrM~?Kv6ek46jV_ixVkd1KQ`y{dIE&K_N4Tllf?+VS9{cLUE&gS)Wjt_glh zeKowD!e_NN&StKUHnKUz_371Ar0|uu6s-X1+36U`0`Kqrs9Vo3`CO;QCbO7@2}%(I zg&Su<$`y|77IfjGW0n&ev-Y+_ZHg%jpy#2e@C)TnYH|lf2B9x_9NNL_3pEOj)~qCh ze-g#MJ`*8xNuC+4RmPX1;3N;r=;{hM9y>O7{MCX)Ikuw=HkH@-12zu7JM}V#6Lg6h zu4nqSUjV^``B*R0Ug{P%kL#mO&NITiXp7ih9BrJpbh&Y1y=%JJ=3AlZ#3lDzk8}cKJR8l?jo}pr_P6_H7v>?aOMY(~Ej1|l zm4S}#i({i?olTk^9$QW(&8A=)`Gh4hsTjc1s5x6N7-h4!Utjk*Hk=ohQ`HpOq+@)h z*OQRos;rwdpj#uMU1gmewUiA~R&a^caP3_-a&~s>pSpEE-bYn{7Eas-v3a{U=kzalw2p+7+&TA`4s-lD4eWer32zFI>lD_Xu32Jy?$0qTY@Mf z&#ce>yKv%{a<6HuTTQP*6B5m1HW`nt=TG>&%D3-d*o|<~ z%?CoUS@igyT$tPToGR&M76XleQud<@ZJJHGyGv9VknOoTsp-gg+dS_hx#PdupQ$O716pgN2dT-h|uPs^n19!vh`G@?hcpJAjYmsNy&%>(rX7c+~1r(161&!m5 zd0I<(o=g;r);gHb;zgdjY{W85EYlocZ$3O8OZ4lh{0&D<*}w^4m;$G$)ay3Wq^P!( z?<^tn4$Z(U_bV?PdY>53YyK7{BcKRnCCS~wB!}0S-~?hr$bD0T1scf}Qd=xXt90)l zRB3sN^xFjY4@gGS1Xr8MKgqMr2j{L;rOu}U9~9TuXA>z+l$r&9iH7_s8Xyco?E0- zW`4r;5!K&wXSc>-kQDZ5qsWTNlFMeMGPd{kty|#$RL2``4vytE?XvT0LC@#`@)1BYS|&2rD=ilL6i zQU%ov72|f8$kVTHzg@9gy!DB&Y)Ob>;`Mw*?5dmO`mh7zx^1Vi%-G+ZO$EqjQ+SGg ze)SN1^3w5LSuK48mr5J=XC|Yhx9%MCAx3j|pP7ai0ET{4N-ZFFj&#{62XWa|1{M1F zdyjX18;b;27#*?c>GRhojvlRS?Ka+%BC7Wspi7=SBVqcqPg9(D*2JBRUe5|cM)H9$ z>T~Pz-?Gr@mKgky_GEU8K67cC(;ugo1zFvPX-DT!J_>wJOBLqG^K+nw2+VyQXu^-6@nhV zH`glZ7NSoM+yonQc~%ZgAKo^BEJWE!>1aVi*6LiT$;#Xb*JvS56rZQmK&8t5<%&yE zA`7WDXQ8;4Kw!|(w*x}~q8Dn+zc+HOy&i->Q=X?`{j0>Tp#pK0`pFSG2&jXjx)D&= z%#g5VDq05AHtyk#(Q|5*YvC1}K8LlzA@~8#`t(@-Zr)Ti1_-PZm~5wCgkppDeoPwP zjddn{^n|=oc#xUD%Jw38atDjH>g_Y-+@f8Y5a)EsjqRx*XJu{e-3=`~(`9!paw;j5 zi$>?`tV!+&kz79y#*=%z)eHU0#`DEdUvBrpCd|iUhV0e-!?noay6}>GsP&@T{-g!N z-J{^pdKSYE7Z z^cPPFZfEYu8k|EhX89?j_Z5L~l4#^~*iQyEMmN9u;=Sh2qE^?bat-8X>qD=BMjVz@ zm{^Yki;?1`ErYfWws)w8;C_?Wja@5FF4yTW>Pj_ST9)4EihEAfq`z)}w5TBLWT*mJ zFg2M>ZGu5O)Xn<^*{%gh^Rx~YpWZS(Er;`QdG?9nOa z!MoIOv-@xIU*X-mmVBt?sMcmGpHgXZ>pcuwQ4R^S)LAm0XM`JmdGLG4K?qt^34zVM zBon;LZJP4bZE2jTCy}n>qmtMB^aVmf(3Vw1_5~B zYVt-4w4AfPvIDnEsK_S;Iw6!f_e*Pw(Pz_zVcF!EqyjSfa>z|LB8teWZ8iA3yZU{Y@u}=ImwN5jIWe4iJfmJe!P^V*2Q|IS zk?zixEbVs`GYq#&W6D0N2 z=rI@@DbZI0E>QiU*v-_Qi=qxYA%0PC-^0q>F@11J-c(twbHFZ)h(a25sGkhZH>}) z$s*#Zjlt&IuliMcae3ww+Eoz4p>1?$S@rVZnWSSzHXO|c5bjJp9Z- zHbJlJkpG$rZoqSpr~x_P0+mxd+4R2vk#`=T44FA%t$Yj%%;kRReD4qI148x>QHeji z#BxpU%S#VTQBl$RWhav@MYw=b%2@EuUVTX0!yl#FQHkKC>y+vJx_v=^FW(~TZl-g)m{jV8$-8jm_gVOZ>XJMMs&x;uS@BWgy-tdl(YxJZ7vVjfn^R@Qbl7iN+z+tI6IQ*gb>jM56U>W9A4+wK=@ za>|$1@Hj3Lj6v=ADv)-j0e~#=W@oOJNI@d1EDEWq605Jm2(&YEj7fCb~L&nzgZ8B;X`! zGbz(z1Qqd}MbkFr;i76rxaaiV-O>eZ5%U3u+p}`4;f{)rK{(LozCu&gQc~kS7M9FT z)x>6rKC4r)Gu@`Jf;xT$7$hV<)`HUxioR@DsfMvr_xo%APw(iESjx_UvkZBcl`pfB zrQH3Jm*x0BL46=c8Z@b7ufx=2GqoTh%D!S*2yNYJJ;)kW^V4Awxp1s7o>f{Yk3-Gm zYVXCkn#z;g(c(;dR9~fBCP2g+hv!)itNnd~0t+l&{(W1=ZV0zPl@Zx{F2f{T+ij z(;bb-GpD5obP$eshn8Kgxm@PP+QA9?VH@`Dga-Rs&o`D2<|?9aY*&x6n)JR1Iw0dR zC@Ihxg+Qm2M7tdw%52&_sqxyPUU%m9T=vh5(sU<{X&81Z)WSkV?=*A#6hgr@(ciWo zu3O1dtIjMD;-<&vBd$!?+?`W$ZV%-fwfW+-eNg&1bjI*G7k(3jTre=K8jC`R6&=Ig z$oJizq#SXZHs(F%wQg|^AG{D=pUIRj?5^|Q>ij;C9(mPET~^yF=)85qhRqy|)a5Pk z9L=0yH}hOC_4ox(rdNqAruL@$V<>znZhua;gJWH$a2U64t(XCZl+c$Jo0s?yc8_(Mdaoy%UF$k zL+$KOB07z(L$G5|x=Tq{-CG#cmU9>MxSC3rRlD(C)DW`bq0KHL^@442+C;ICfF6No z4N~Xf;wL@(#Tq87%pAFSAGT;cZ`O#I_Bd*4KaJMb_+}tsZ$=q<`mYI|0r1aaazt(> zKrGugO4$HniS-rs4y{C0VrRNC$@8ZmmThdmeo3VFxtsPoQ|PN%5eQmZdy5LPq`}xQ zPjEhcIFDkQ3`am1%Tw*k4&M8dD?;^~ZyeKumcq8rd3e?CSGxe>`z3?-2Ti$MI5fPp zCBdJgYd&q@6JTEz@=4cN{7BBkSt13!_- z$F5>w9Z;7_6a9oQ0oL=+4|0jTlw)HZVxZj+U#zEmp_uYk;Sh$JcHYaX)&$*c-5k%$ zQ+aI%7sXcZW(28H=l(^H|+d)Qbxane(@%h`Rl6#fVf{M|Ln0vv zG;k=ZPb7eMwL@(-aX_U_&slIJ%^c6&#TmjwY`Q%9xm=}U-x44-O6GIPaOfOHBKM|) zC}fq(gs5^GcK?+pj#E$6ONK&x=D6iQ^1V7``San8brt=F%%55fg}vR+*oyKiXAaaM z09sIIN4{t4ANNd6!(BU3*PwfY3#%B;CBkz+)OSTwULACOP;GYW>+0YZ=<0CpBXx92 zREcZHexq7cNo#^e{yN}c20iY)VqNh_#>-OfC3^F%37Z)?cRaC2*YG?w`fTm)+0VYB(#7m!J4y37@*)9Gp_RdBiqS4?fkWg9Y#Y5?Y45D|GDpqy{Va4te1&A z=Fv=VHAQ~`$B2#~2mDt8!pC}Lc zp#3!Yp>3*}a$=2LOtofh=n_LruFk|a^;+j>t{*Un?X(x;YH|2jYEt#Zbdu#CLbfd& z_1&~>lb$EWZiF9l_yl?Op1N&nGN})_J}-%Kri^fXRY$|ZAS*}Scu>`|=RKi(l`u#Y z?clDV8cTvSak_|{mF#z;;a1IPDqqO~F83HN<;tC2RcoPaMo3%BS3c&>C%-=3 zwg0I5u9U2+H8t@K^I>Iux^rWtQ{}ghl`A#(z$P#_mHKdT>KNGH7AIvJD0^Z#VGFwK zOz-%};ew}Ya-{h+X-XUpZkrL7jJqn9h2!airWNk9^24rIZppOjm>XBepB>s#>dRI# zVm3N&L7NZhk?g;EFD-Wf4tbC4vnnbqP?IX`b!PSF^Tgd-B|Tk#>`&(N`y@56>oP6u#pFSiMA0sN!HbHj0T&gTPOlKCF#{q^3` z54pgbK*}rpQL7y+lxoM_^5@&PoBl?LAoH^bdHWDK4(k^I#r6xuq$gF|G9KQ7cgSC% zwkJVfxJ+xfr@LaQT2nZ)xo!;O8bwhlXJN!V7e)@S_wkFAAsmrbBR|{|J$J!DCu4+n znQvzhvKx2spAYX*!lBJrX?Oo3CeXJCMus;3Djp2N8lRm#2MQqyxIMHa5u)=k&3Ick-sHlp+}aJpv_m`58@*yL|m~8ll>!U zJkded9S(?;_RE`Os7ml-cUg15^i|sgNnpHfuYL2SiAN@#v`@=sga!J z$3#(J^H~q{21-BC$9W`lL|n;i`~Y@Ye2eoNSM^CF!0KbY-<~7$j6UfnNBm(LoP$<7 z8F(aV)^RQY*OR`~K!JZc28a%N(bOkBz%g;mu;Bx=QM^YFgj=)_y~mZXAx7HghRbAm z8aLL)I+zz%<$*2>%%vr%Rf&;HG;fLi41dh%O9)O%{-d$tEN5qJQe}A6D43h;dj|u zBo$RmbnT2DH()~~xPwok9AxXg8Cq=Kmr?u}^DyZ1x8W6m-X_(L8mUnu?*_%ugzK5@ z3h3pu{Rl=@HACrZ!<&Ju?*{vo$3M&dFV`|F4lH}z?9KtO>|enjkQtDGi5V~Lkch*P z_)NibU3b8@_-iq7ciu;cx<}>c*&Va_JpGb4s9v0J3PuCwXjp8qEu#rxU8K!L%8Tl6 z8$M1*tA7PdTwaWJUyEjK{tw(Y_i3$59Cv7Df#t~hwV3sKtLUI@j~pSF3d$98Zs_Sr zn(^`Z{y|TrXKNx?vF_r2M>DTPp`yu5N-PYbJ>*$$Q1@Z0^sqIXzuso?jDVO{L~gqy zx1r?0PzV#{gd(Ya|0xBNK0!Gh0boC>zPiGydOl3!eR;)2?%vJ(21s|{c@rU}O$Yv@ z^CQ8cth)mU0VU{Iq=Tf&EFg0?NlUqtQ#ST$*5gz;T}?N`64RzZqb)iL=W@!YS&?sH zuGgu>rM4*lye$7YCPi_$%Xg&ZgvuRZ@Qnf!_WFRko(kE&cYQ2L8I$6J=Q0176*jrZ zEcvmmVz2t7=Z96TijoG&{$MGmli6&HyQ59vn}87LFid0k1Q*ZA{>#Y;7rWK*8=wp? z3lVnact-2bl=uYFRRiE^0A6Q&TS540G9qVa|`Qr_K!Zd z5L_2EYU#(BK+MmLlBZhVaWPL+Jfcpa=C>`K#J4%wNV;>ol{%dL8_pF&K}jk##nSvq z+$zsUl(DMIe08S1%}#j|=BEsx2eZRZ-`Z@HmMdOQ?2T4fyPOX{XR|S=0@Y`0Y(8u0 zv&GH``OmK+9i8uwWr^Ose;`KkD`_q5A^!k!yQxSgRx?SF+>Gf^Yq4VYqG*sPo8}v% zYE}#8E8>$&D-`QXr+~IkOfT|OnOWKbO=9R(A7o1V09&3{mMiwZXHYkfzje072_>Gn ztxr}FmJ$&<>r&G42)y^~$0NSN=nnF0V~x%l$*U9`0$n9)VM_5T#u!=`Id|+6`1lP0 z6Qu5vaG}4=j#9wEm4=5#5_IY%VVV4R;bgxUknrAWCeAilve@-K_1*<^k8HI46`f$eP?Kd6rNe!Hy0w#(6d$Ye3v^&VVi1c}|b5seW&x^;Cptm0p zsDOl0fbcEj9Vh6vN4AJpR@elbNi%fetrx{~2uDb!A(+L(6Ig3B204W0y z&oE!QUj-)Pr@iMbU6BgAC=8l?+KotxZL6RZgWpD?m|kvjTC-@5b~(AFJA8&bFP>Xo zeoCC`lKuB05``S_JsFZ5poW+<1+rIaZVj#n6;nNx%`gd0 ztQznBLpRJg{23l}_JhUt%r~vb)OKm>=RF^6&dd{zkI40pqCPw-*5UmrToKu;`PfjJ z;ap(S$bbIR+Ol~gk8=+&lOd@oa~;o;W)X!)cYeb{X`pT?4dyn9;(Zwy8nZaG?~non zrA|?f11k@;9qme7hqu;ZO7NBpW*@;d`r>rl>2%V=2tW zIi#IPPfUsSpu-bjWV=D$(}(Cz(DBE~oNg;k{ZLr4bb|jlW5SvN6WJ*X>6CGld-|L{ z`SOfkh*G3xt&caQ`!YW1$j{8V$a0;hZVrjMre2q`76H8AI82{}!afn!3%tgXNSLgg z6rY`Du*t7jnYILCALFZWo_a0i;;5>J^~E1&tL;8F!yu=MK%;tm{w|rB%d$2+Q3HNf zGEZhyZ9aXR3>`*jr5lEdnBt2Yv0yc_>Fykv-YdU7-!$J4t0XfOM+&v5BfBH}*EgNH zz=|X8kJN=}6Xzj}7FT6S*CMlBzNM`LCAfNUt0-iFXuNJhnJhen*)*Cbpz zKWU|s;n*~eo;ZpT?dvq8L!U)DPl9CzEw$f#9$hTc+Vh zfy6SWAIpWsf)f;G-qBmz(q2snsv7@dw?b1XR`M0Y+%2BD1=d;{ADTYISjy8*m79D8 zZfW#muF*AbYM%_>JE~bop+7HrpLx{r8v(~nfPUkgoOS)N+H|fwcMZq=+PIM|+eYzi zu^^oKjSJ5faTPKjfm#jTvOBG|bC^$gqFlf4erLAM^aQpUZa*$6^A!hoNr*WsmR|^z zd87-ZV8kwh+v?8~xmLoSFV(3*$hT?MKt1btII3xWFZ9OJl#lJaU&tNCx2ZT8D?@gtnGa1x|+H%V?O~lrI z7OB2osg3QtG-^ZnQvG~7O>E#h*lOhaS#K3jo6g+mwJ&7vPpD4|OuGAu{tQxHTkrU> za6t@hh(DWI`b0k6R&*>DmLk@?J4xA&6V(oG9!ztNS{vYqyIAuTi~!ziAh&b5VeSx| zunHotXH@C5d2vy0I=)Bij6PW+=?4;4=k@36w}i3@94XFdT(9jhs0yJ* zF%cqbgUlK^B$SM#E60~N%{kuX;fI;Iod_MjXgMvNS9tPs*%|G=UOXw^Fgal98-|Cj zjOd^EK1ZysR#8rRxCS>h1~sVIzP-MKj0gRJ1!E-OFc1NBO#&@P;t&+q?+n#%{bJcX zIJYddj>aDz#9Tf+7(3RxrTiwt?%+ED2v-pt3e%Zr%|Fa_QvCqZ{F%10=DR4pm; z=lX6z!|3EJx^)#XoK6<*jBSsqe*H4N6~rnQ2{&D^nE~ve5zFEx87t#1!Q!iOhxINW z|LM9du9zMrwBB#{N6Tq|u`7L`fqCPgf!(fI^5~6`Z?djLPwss7_asK_l^4WGh-1m* zJ@KDR)OQkb8o_=e6coUK2Jnd9`Q;(bSU|h{D8l!zY!%Vp_SK*$@mx@+FuM*JUbosf z%_^CGgC8dGSB{HT`M0ttK=44G3=BW}fAc&t1+f}|1Wv{HX*v)S^bHRu-ZCL{Gp4K-0Xk# z$q)#5B+|FMc{(`Mi@7ujot&yl{m#;Vuv-5RgyB!X4}Psmt06`FPbFN4H!0H3;-AX- z{^ks~5?cH9YnJ0h=m2Rc%{oaF5JYXiFztrWF= z2ZamC6ANSaoC6QkX!e%^#>sx+g0DG#fKUIwM{zRd4sZkCX!Sd&u(bAM3Eg{I{j>*VSHD5rlF0hO ziZ;6=kP%@R!l18G&w-{g@utyQz*RzCwb0 z)WNt}foBJqmwf;7K_1`5z59oLnS<3b-wdYhtB)YC*6<1YevTO*uZ=rU%`(dek1X*) zxzi$r3_Q=NtwT}&&}pHJ|3%i#DqlOjJ6dAArjekP$ZeP7I`m$ptZnOfLNLJWsA_(F z;k$S#Cn?5uvQTPD((F$)<(|jgnUeol8ehZz#kMy11iqOg^a1V%IB@YJ(}c)Sl7XEE z1=ea^>3(v;LWptSbP%?2g?62(ZE7?PWjmU$F}WZ9l4Kmb`~7E-5W*t@FghEO4_SV? zAP%rb8~nV7qX|>D#JsSvt;*m^?LxI${;(%6gb01c8`{~e`r>;kN#v(1Eo6+P<5jY} zf6usGr0$WeOn0H7zgiOWlp-9-j?WX!%w~6OLqQlDhp|7>NCG1X+|ecvqJi~P^t)Mf zUW6>g_bnw@fZwg#cK~4#2H}j@X)aoDz3&=#q7K{$1@M>O3kgAfg%}8xq$%@314WKI zD&md2vZ^Cyvp+1!i(mwu#Fh-A0Q67%=Qzued+U7hoX|_bo7OGouhV2d5~lhJ0p=FN zsHudukUW1n^0|D?$u6AefKataL5vQ#k7K9;gsHY_sr#32W3F63J*M&=DEh2t4nste z>qCN9=CaVziQA(O^anD!N7m{r@%GEWcL4To6Py6C$wJY7?ae>e^GulI<&3bdd;6&h z2Z_H|P9g&+2QG9X(UFnJ-?6+$`W7s=1Js&us2D118|EXK{k|b}@;4wq$vM5V$0YfF zZJ<9%GL@^`t*XANAWbD#Ndm_dE4ckx<7lom+vYfH2gORK?9ZH$``0IV(=_rxXYYzX zwpo=*E6=a}tv!S&9-zPCz`)0;#`NFxE#R*1tLrW5=PD6S$dmlxC)6z{G8FGjHA$%u z;iwDM_Z_qa|JyqQ(QIcjC{Qady(cgV2%zC!&7p;3ki48)S{}cx@dGTp^-{eW6-Wj2 zBbhMDb>$W|pOP{>D)j$ge$paJpD1KwDPr6d3Q)7$SpFyMO}E4F_Rn2nrmm*?TAq zyp?wmN@N1UHYguIcd4LwA+*eLPXJs{V7V>dXTpYfBWeel>52;?zhFfqA#;Nx9CcV1 z0QT2spM-4yBR=N6=Rjq{S)d~X%yS*{0Mv|z_Tq0SYajy)uMwQU!oqhFI)zIyKEcsY z_8GTC;Lx-|)LJqq6zp6AD7g0(6U7l8N&6^e_&iMg?u$$AgT)_5ds!!wTy3DpY;A&p z-XHMFQwE;RbfUq_j)%+UyiALl1a^jx*HMEQbf_B1Uin#pVy50@ZwQUGI)9>w=n1E4 z&*K;-OFXG)UR=A9-CMatHO^n4WKatBevu(9y^$;}-5}|+wyWE1v^2iM$GoNp>{ctx zep6-6Sdqi;29-~K6nR_gu*QrqX++Ru=`@Ek774qAyFb#Vmm6KnqYW(rKVku=4JpXN z0H8d@;W271l+DvToXbXPtlx+u!h-d=#`U{9pV6EV4qU)YdT4HD8=MkuaFBk?zT^wU zN~=FcxH{ZHQbx>{^7AwtbTosbN!TO-eJWy{mi+#Yi zO(LT}av4MIZW(f_e^`+$@7+zk1tk@YbU4_J7$pn-}H>CjspQ!R!N?T5r&wQe_ z$^X+Vn4kCT6mS?f=Ps24S{6dqWN7B#YwUK@R)8)!*k=8gS!kTy7KEK!pPuA#lPcdt zAloUQXx|mjg5a?tXwpiyc+uq>?|bovscs>0ZcM?TI~wqa6ssP6 z$??30gZ@;{Ytd9D!By55Av{a?DGlPFhZarv=A*xmy^8l&xhGL{wL(NVLvIqpDKcx_j%B-(h;Tguudf3NWqZM;&Ei~Yf{ad$hm z?Rfr3{mNV#tB7C}BiHEprbCtELiO=V1}@A(rBH%WV2>8R{^g4l1cftPw^?~iYQ?OA z;HO!hMtNxoCO0)o{6}`DD}_u#+ejY{)35gZv{pf_??n+*%++0mjj47*!~UW2TZ8G# zPNaavtcRA$w|cBwC4hsScc6z_T~PDkYdQ^92-_SeoLYCZ*^BZWS>0RNzi?Xm+B2n8 z*v`HRj;GM~VR}UXsE3*hP6?C(AmL~WjQtLn;#{1Qr@X>sPUb< zwCS{R+2(9(3>;I1Bd7CyX|4yv?V@-LPhYwhXizio=uX707NS`Bc2;szmZ8%qhl- zn#E{BNmtoPSyKqfmv5MNGG5om(N6KYALr18a^ug$nmKKe^c!D>C;euVBX4WMT7flQ zj&Y6SR_0TtchkXjbPJ0J*{G?hi_KvqSWeO37>@&UkUL7PjzVkbvkAo=ax>bBMm_3! z6HnzJG~fvj_0_CvSNM9=Ql2Jd%39z!nP<;?&olh2x}^XvZUW}j(g8MJE77RvJ9Q9p z&Iin7plewp_ij&rBFgB;Yh=c!9vB2iXq4|*wiGGh>$M6GkmMoHt;^!j@7!TglYAwt zf_03-Aoc->>tJ2OdY05aQ!|0&!uy0N$3t}Rob=>TEOD%8a%5r-XCZhN()DiqYS`9K zQ496O%s!}sp3QXAkdb?y+OkL)4i{yZ%bv@>j?V%N< zB~<-U8B$xiS-HCFCn_EHneU}qkru<(dP55W@u09L7jHk2DHWPfDvB%XDsEtR$FgNV zBa(708FpZ4vLO9x9LuDA(>PUZ#s?dXQY9t)_B~dYA(w>vyVy%=qOebNZb!>lP8cJU z*B(LGI0fuW-y8kZ<~9OC_^8n=tA$r~tQ?sR9r6=nF$}r`*=*hgv;# z4+TG;vK~XqOY78=9Ne5}FZ4Om7&it(Mi;WGq7ZG#oRjPs4muwNw z;|JyP)FgE2bx~oA)ZCLRb(wlLPr~mQ+Ly>N;d!50BbS8v(eF(QQqk-h`X)7?m6F&; zM}i2ocp-b<)(t)mnZq_XnAC34kS9j+)Es<5{%X)q3E~QS7nDk?!TJOR5C&n7ncE`C zxWfc5)*r*tPNY!rnzJrQoH?lN`;u>h8!cf$m=AaB#7B*q*&Y(js6Uy}>t#+p-B=qg zy_^>pbEAfD&mHAgusb8IP?c$E9lzdfVvut8?v@gvIDxz5u? z3t1g3@k7l9Tr93(CwWS_09;#3|4;vT$}7{mpbi2KC`bp6bW?IBZAJ-VN~o* zYYSY@$E)F|-E6|4xR#>rx6d3qHdc?M67v+Ra|zipBo^5EbfwhzKc!&!X2+3Z0@dHM zH0WX+OZ^7lrWw1_t1q#;TT}WbgV&=y)6K8_A4c+W*uFTjNMtVb3}LDQ?oyv>-rYeV z`^AgYQ_Z44SqEqeI~*Z+Z0tr-0xgGExc}`2#{D2`Dk` zxmTz<#IB?H>@0dPGzQkZrL#a&^m(-FatkQ~Q!`1$9-eKg&TB zag)4UPx{SYbWO4jHOsrOW%(QTZE6QCic&rxw>d9MXkzmj*H$WfWp~6eN|0MROr3o@ zGrn%4Sf8Q-gA8G%V<1D{z2ieUyKxGjRKpg3*S^$Nnni7k_N&(&(A(UZV_+>f$TBD| zzXcDGLHEBx(@MzwQNFo-{MqU17ip6;Ew%Q$a6A6(J?3iLD~E%QKDTv~G z31AI47PJzAfkf$IQ!e-w)|K8-st`srT6sB@*(s9dEcZ(4GcK%v^OTg^;7h~JbpEnm zHfeRg%g%X;C%cPpl8ZD%QFu7^EP5y9*Y3dUnC*MFwK+=X58Mu>hMY^Wg<}ZPJ}SdY z+V0iccZt@k^)LHg@=a4Gg(e9(gpmjn%0|JVCj#`V;@xbwc<6vd&1lVc!mgR;L4Uo! z^u!_l<1}3qI3vLdTH(vPWe6?hJxM9msxiww_Bn<}z{~2-S|1p~wCV>Mm&^S^`so2C zl2PN2SVGKT3C*qqaqJ4p>CqTvQMV8eQ1n5jt##XoCG zGR5VK9!YFuT!=A7IqN=so^L7!G5?vDd)(9o`j z;%5(&%8aGDx6Nrgdd~GWRuZZBDXr<&xlVIR779R$t>ACoYfgA!N`f>kQi&1Nugj=+a z*0Fv!yb+8_oo2a96(6f8soq0BPMu20L+CVqv46grA*lUzb@=t!aO3YyGe+Di-S(}L zVGq(iEL>YEB_*$0i*J{|cR)W;dRDBkzd;`krGC-xc_~WgV?$VZR}Kj~~5)3^{y#jGPQLpjby!3%%$2ZqN_v2W6##gvXo-bTGjA56&pmN%_ ziaj;mZg=9hn{Iz!>YW?>=I2Y9Yu{&;@BQ{6pbxC`|F5%522k17KrqXuQdXo(xUfXw z5q67?SLJ=m7nKgOJNUQk6;%jhtSnAvh#$TE%=NuTrVlT)SR(tzGrDRz}aw zutE3g;^$uXJM#3th7=HRzH-qDQpW4Mf1Opw4b=_PHj}ay57chjj@ttsIodJ$n&zto zwZrLq1`G)c`tV4M^fU^@f|kJn6F$=AO4f~{!7q1s=SPDj%D(YSDLC{cz7+W{G$fk$ z$p-CaP{^4Ogy*nR@!V!oUeP>BjV2<-(i#PCzB=~kmzUoHG6MJFaP-^No^&1j(p zm_+)$YS2LN=?qnX&n5r%<>xl5!5b&c#*aZIm92CUygHfiuHBy2?yr+0e=}9h04_LA zs&v-kuzmLEH?N&%yfS-NU#l$@Qo3cpc-oC+rdi03sO_1tnq-XaQ~lmhe!c@^!t3QD z=earwl@iCXx!ctSN{}+LCJ4B1e;Umh0ZDDs_f4ru+ka)2^;VPX*>8qpxcVFB;gJrZ zvkdrpZlaPnl^@0dMGB(e$DqFqOZFTKdKVvWMKq)tf<;3uvj_vm8 z3#*u5DB>_R!2WfKFAjMEg1`q(qhl^?5C`S&{qHykW2ZIOEcw)VZm&Yp5)dgQN| z_~kvk(yrqIFiGMzoxXGp=+^JN*h=$Qa~|GEj#E>M^K8`lQoUobdbHY4Iq!WC<+V34 z?;TIivDpi-1jLVmq}<*o-dXK;#w^Zf&9g8n109tEPq))bocDg4;z|C6Z@zc*JJ*l< zVcRvGEx*+MrTA@m&+PD&Ib_^F@W%ucq=OqPT*i|**#!mH9=)=vE8U8;Mo!!xGP!Dx zoZXfelAW*dX`0D5&nR{CyhU)`oM(bwr-_AosU`btaMb7V!lX#3jWgr*eZ-#<3Jid> z168h<<;b*=`dmqAyDaY1FSI^8~EEI^|2X;gz}i9m>xt=epK) zUBkxnxzcP*tncmdpBtHIn9q!`bSV$YR+ZT+wm%rI^^#UZzaAfw+cc@xyZdIm^JvHY zD|+)5m(5456XhL`fe;B;U>=vpG(%c=RoO7`PtKT6#X6j76*aj+t^B_7dzy=AQI3I5 zWB*mNh#%B+J9vlB`HQ$>uInTEq&UHpXNI(uQ%N7$OfmCwquY{*it-r;1$kPVij6{# z-OgAkZ`!5GcUt`hp1YB( zdcN^+nU~8JR<{K#(47@TyNC0N*LL@01U=76YAM$?f|TFf-rUU#PKxPLu9Pxfn)mM_ zQZ}7jL0^-Lr|=tmegqh8@oF6eH#P1_+q0(ux&i2j;{X~Mc4xl1)NUzv8Oz{++ilx? zN*DR8ESVM-n2eqY-G|@75tc78Vut|J-1pC=juk~(9+JNzkvv|gSEdpV$3Z{OqjO?Z z&vKqNj~b_U9n%Ll}E66aEhzEbHH7n z`8>KCX*E^G6SCu(1G2z@+x^0li_P;D1~n<050d8&(kX4Sg!WHQRS)|X54-Q%`lAUs zf4J4D*gAYi=s^Y2g*-vdl4|w>b=tnRZz2J2=7BVKKkB=^$$^pKX-o?Ur+k`~CP})< zxPH(-16C>|Par5`Q{Y}0%i;5gnEzQqwH2F-UgmN?Lwhi8Rj1WFsZS5?#6;CrGsg;H z?e<6XodzdXvvmSDkcg_q>Hi%tUoc>-LQ7E@pq}B*Ju{yX1q1e!=KprUJ{NjfIxVed z>0z}8|Hv8}c>nbJUT@KCvp-(S@x-1Xm&gn4Dx2u?LEaJO1CU`poN+kSO?z(^uq#wb zbh8E{xsO+uK&b*zR816r&y%8lE_fq@{(9{(OohZ0YNLwx>I3$Zb~jH z_m$OA&Et^0w{sz)i530liRe((Z@hY#o2z5=Ssv};>JIu0!$ zap-R8?(P%>1Qn1Hq@_c;Q&LJAq(mA6DWwHON_C++GAxud&?sDtt*|b|VHEdGWg&mBscP z-eu(KaJnZ4V3FGXo#EU&rHlQ^tRFw**x2wa)w|z&TVSxrx?l}fAw5n%bd?UXa5n4W zAI?(>;`+99ID6QWzE8e5^ljl21$nB8OMt4+{lIB;#|5+s8(yog$Af@ej;W?7TZ+y0 zZ5Q7~R!97b?Reb23nt=YeZZlzCSh&Yy2w|tH@=lTbLd{<=(;we@!j{NF)P-M`<|qu zjqc?Z1)H*DnRdQuokHDV*0xDzSCtWN7 z+>-Hh|G>7c^;keV_Hy9Nq%$Nys@D$uF-J2gUCro$u7Bpj;4Z}t;kh!0sCaIXl|1G7SHelDNB+M$4djr zV1%b~`kQ-8v9_uK@B}8po)-~~&M%yFQzEqT=Bqbm2-<2Hh9AfGes)N$RZijhP!@$( zOV_^Gn>>>FnCZvEqTY6)&hKi*p?Dk zKM}CE3q6{9UQKQrdq3e16%GO_?9{O^Q~(1i%sgQ;iUg@J%P$ochd&R@7;9RR*P@!N zjc(67v)LVcnH_@St+yO5pu7oln{^~*2=pb#J4xh1M1!NtsLA}IJ>=YgJ^hIUSa8mT zu?Ob`@m4<;``XDfkcLx%i$_6`Cw;v|U7`;NZZ~>GV|i^X&gHmW=ipJDn|Z}v;Psh> zw9-+prOLo>x9Z^gM-R18GxXAei-)g3tJ}`$jF0{;bRy|Iimkg6N$)Wk0+oU_MtbP| zVF@M|bvVDD4FxXO0+6AA?@fmdhXaW4yP{!8;!p;I3i_hw=0z`0%c|OwiS4&W2=e)K zkfjI8`#%QVTI1)9ZArhix%9HjYmb7B*XmP!AGpF#Xd>A$3k?66nD`zJNT;E%|Mese z0?=;B~a9XWYF~gz53(*GOFo8+$ z^?#Eu(LsB5xGJqB;xMej61Nme-A>YtT$Mx>Zw?7OdQwEd(?Ag zfJGM+Ai`Za}`P@91=KZ|GM!Q@Q z&aC}9Zm~OF=0a5^@s_PXcbmk;Xlx*6A&6(=cl%OreKl-#Yu%Xjqh=^8%JwQv5^gTY zv^;a)YLftgo|@DC*DC35o8w)jW9R$y^p2EY>O9M!;Ps}M8ymxeXP#l<<`1m31XRFT zdbHp5^g(j?C$p%@fIQ~o&9}{>ft0=hFIS=(zaw>j5me|owlUzI&dVuH^^PfP0w%1< zRpoS^(VebV!oFv(&wegEBo%T9^aknIvc2a*VG*5~a)goik7r6d+l)Cq*yDOB#A@V< zjWvaZ&*7CDQ}xCU72|Jx`5~)Y_5`)D;sLgdi_kj`1AF^3o5(1ihk49z_l_N{c4uO3 z$CRp2sp{85OikQBC4)%!36|6ID9A?drJS|+ght&wE%!0eoA|`^3}7+Uv?xlAJj-bn zH-)_w$)-Mwmv?^LKvPocVa0XXVuB!TWkOD}2g`%G?|9rVE*Im!E!-QZY7d!y%==Du zP%V7|gAgG&P7<3W>z7aaLl7ie05lYxN7odf1m&l@c98I>&04=!^mMv`Cz+$!kdkUAF7y5)HO|fHW{unK8_cs+CdsDt zX~c`Mn?*ZY<01 z_~pUPP*>gF%*U^ar*G+N(XVHofte^v=zy`ESko z9Uh@>ZyJf>%oh(?QGoYQkOSkR=J2av&X%8T3tb~W)L8fMJTB_$)w7k`G<~TZO%Ap; z$WY-B$d-P#qXU?Og&tlOcRkXZoZ8^W}LI zA7Aripz47HVQBR`)LuEFfriu1730^Q?QeUFY>izfkZMr0V0;9OFQULbmn#&xhPVv_ z_MOs8Gy@AlaDs&Gy`%twqa%mL{rWv?@XFBB)PoJTDo`_<;;{Pz%@)}rl%5fI9~Qrm zoea{HN!N1BWrw(BGp|ok-|kK~_|}pJ49xm28CeFj2ZDV!((>4woUXQ?UzYayh@JLr zH0Dftu3LP3iJ)EdUG0JXm)CVW?02PO^)wFG3E?iT(tSyTyOYKvn|VN6A$ToxOBIg@ z*_570vCTB`72|bz11G}=>OM+@yvYozUV5PA(%iK9SV9$fx*)tl5?C$t(MLl@zue~^ zX6wBQV7mwUj&~jaA~UV$>y|+~l92{6;CcdB(Q{Do`O_WLF)l&5P)#^pt0BqSF+Jvt zK+KfzCqCDspLZMIOx&^9ba=U8+^&;NWrh5xed=TBG%*p2UadpVnUSMX4}RyTGZxyo zlg;R_6Nl2AnP8vI&~(j%&8LGbcvXq)!F;bh@C}5vQ=@Q*!f+S{xlCe)-+b(A0G|@qB5;3vcF~{pH$?<+k%5s5VnI z`2Z1<#g}$o?1r-v``K+J8UBWIWiO>SO}y`haN!l*SvCdfX=kn;jVU9v(=W)?&V8P# z>P3ZcPo-bXduO+kZ8&bsQN8j{~Cj@lT@L|oB;Z3#fvFm)pYa>Y{nNpPbpn7;7CuS61EH~ zV~)x(=q}eC+rJ(zh>@vuUTBKk=E+Fn8f|*#$9rlxdZLP)Pm?FD4~0B>3Mq$yS5E4m z0s^|*Yyli>Ca=Rr%iKdvG^_J&@>nczoO_jg%;eU=A?0?cmA2RxWR0TPdX5Ha021J8 zDWorid@&{If1t2lz3Ib-u^&o7QSTWj?tRU}u$uvRn#fj57+tX7reKZ=r{9RZ8n%;_ zv6tS)6Odxm-w`ls*&{#ot&8*sff4DNUQZpcOTV~K*y)gw;rTzFnw?F%AZ%}QTw`ac zkK_O+gWoZwI$uHM_U+q-o-kfEN>r!OmD(5(MCQ|g%gm3$f!`3l8)fo%-|sD&7PEI6sRI9OP){+XxjMt_Eg}$BpOXm${HB_gYhpjtr zHay+LTO+?&W~T(9^1e6#665JSn(qv-qRny7^UcG>m7#n$@!`%q`o52X@c18HxBF$e z^qoaXJbxyjWG(I}`*l5cJ#edqKaJvlAJ>k^@f5@! zH;s0r=z#_(fXRw;__45gQ48fx`w%Cw%ydzkRntt~o`bJaib>DzSg z(a30+JeD=%!czr(E4$bT!LV7Z>l6W3L`ISZq_!Doz2UZ&VB1lGh(>l8HVgMX)ed)X z)|*Zqjd)xjC-Cj~6(^y=-EUPgBAsT1(Qj|OPrbjFIFKXzwZeS0_vathWRw47kBVih zUl31ny6vtBIHYbCgfdz_`vYa%4GUB*{`AoV5ZY#J1&4Ic9Jjd-7l(|)QRB3upYbFx z+&nLQB-;^$rbiE$R?z-Z!)wU+QotI@YO0%%TXsb!f{g($zM2nq!iZx>C`=tt!l3km z4aD9mqSA`%qYT3h3RW3E3Q}j2?&fFL?2d&9XDd;R+$%H;DlA(*-CtvI7jV4yEJ3XO z;sJ`PS<{9{Gn>YbsqgAx2lnYIKTH}w?m$ClLzF*n2F`1p1D?@v z#s-oF%=L@p%SK&OpKs{RcH=+9oNKFD7pvM2zTOXSF{epWoUB`71ya&Rh9eACY5f(A zRsoB+e(T%&Nym{F(YkHl(~F}~j?>tPWAkx1i4diM7sCaER^D_n2bUW)OUXw)(bxE> zl`dfx5k<=1!7<%tSu|=psjvGHJ6XLiM??6PEpy4IA4!=)k0tghMkO5{f28ZY+5jrXNja#>ZJ!E8E%i0>C7x7lbc0x1C|3)(oynG4yu zko^_jfN~7LnFaKnFT6SYF3yIVHO!cA*C~$TptxG0MRsY0rd-V@2&MOm_X-bZ#uc(D zd1Y(v_dPJs%zM8>#7f^#&6|6`mWZ_O68b`D zPqbbY_LCnSZ-Qz(`}n^!+BOv2_(~Z`#A+A8Svm|-k|fs3Dhhpx)~IpmZeyM7_&$!t zp9LIPWWw^MK9AFld;x5_(_cn_h1X>mj;*wI{>pBe0Tq{mM>by?3W#65=DWA(@$77E zG;Z>T2@jqNsJkL6UW3#52g#?x|8y!q1z{o}C9$+x9%sZP7QN$ju$Fw6o6Z_x)JXK8 zY|Dku$+9GMv(x97S4gFH*q$|fJ&n?!F86d%5N(>raV6BYY(biTM&)3?F z(R7mGXnmcR#A-Zgr_UH%Y)EUVfW^1|EIIEi78C@aT*WUafH(TaZj@@~S<{`VQcs!H zFBL&hY|Ejtg$Sn;6P^l^!~$Hh@c#hz?)+se&^Um1oQt{RB{tA&0r;{SEqWLz3&b^+ z7>FyqK3p~&n}s1n7^loMjDgk9gjS`^h+{3RN{H7qak#Lb z$G&)>sj^c4knRbTBi8X)#JH?ad_eO~UM@H-m254GklN{gLM4y&vGU1aBW;0OP)d!% zJB_B&$(nGDn7Gn$J^rn8fSFGjHai)L)e{tT`D_;6uYGy|Mv#@0@>sN}W(bLtJ3JdM zyr+1H`f;J^twZoV!hGBZ1BoPNo_$m7_|ARFDhz>@=I<3@=wKuU@JhT_t&{}=@BtrJ zyf4l5iDV2#4_eoU-e5tzd=4^q6AKo0Q129KKWhX7NtKjTPWuSy_(>63lEdPn3St6p zS9?^l!-~^xsBMYkO-z4bqz_9Ht$m$z3pt2qIg|ZMjaA~E=7Thad-hXxdcI#)eLrGZ zQCWPl;yv+wF?5K8iW7kmmTjs%ACI5a3qW(i*aOmS*->tz_Khjpva#|+P?;_`^e{P0 zL;DaC8ychv#IieIVfLz6#@T?%!~-&;=ak(M5SIg-rGztZAY=d))P3kxlE%ul)ILav zPxz*mj7Y@!B87hSzBGHj<|S8SZ=3D=1eHv|14-b&U+wAt_M0IuNguV0L1h>7J3Lz&8r-X#Ma@L*UwpsTMu3c-^X8*`w0$@`g zE%L390GsMdihhD{#ij-XL)id4EpbLsA0JR%y-8#UAr%U6;-DsnHqP^d$k@g1q5K+; z9v)t|u2&T8-KGm+MbcK893+`$>e?AI%$_@ouVxoclgkS3M&jflzDP_^057#OG2)y6 z_)O<{&6@J6$qJ_je75jptgSDn0lqR*l{3#?0BWm9|NTTgX~lw$@BRH{cW9$^M7krW z^o1PbHMl^X5gkSS@dX^9J~`FT8Lujs;x%9q2(EomP`h`XJGj%5N{H}IcqH&^U7?_R zW&U*dut+^+7i{6397rx3>y-&o=ssjMP^eJ3zJ<<(x0lV$ev|~j84c8@4pLX*k`8jf zQLlHO2lRt}MIcsNd5+H@e8vU>M3M9MYE(Fqn(7}a0$fF|6Pfw;>$sbu9*X>SlWgk( zb_t*m(JLbFzo+OVi@2R&RGz4cTsz^vBTNc_s{|+g(cr%2EucJilU8W2N{R_>$6=K%6Ot8E@h{nXd`tLd0QfX&&_CLD!1aSD ze4nci_qRn(*gnq?pqG0%UP@2Is-Gn4x%>Kn<3_J&fJvjXN}KmF&)(ekPZ{_3R)%&A zZr^^o_Cznd)3U1DLSP6&?!Yzh-_^H(d!Qr66E8}dx)#_$9+jw*t87B!3y}4@1m9zD zvbV_!Rzc(PHTc;s3y^lT#NHH=#-R{R<3k2HDYh7Pvnnu;NOFI66)5h>4ko5{Fdc%xY)GaKw;K-WoPa=+@=!!pKuVq<*3E>1X6LD>MvA?;?KG^ z^$@7`nIh)H!a@M3#5U@Ia#isI=;NZcW?Pt?K;MA^owudCxe-eBLZkCi ziudu({o-{ff#J?q=rgmiAuZj~qX$4PP2{vJ#KQOg!@>k^z(P5|!jE8yOb;9P+TY-- zL6CW3@BQrjd>nXPBQ?9#OKB)iE^qRST^Mz~4|QO1OpV7)*Vo0+<$)UCU;gEnT%@6S z1rp^;Q3DwZ*2;^$O5aCNowG6*D=GJR1T_W^WZrLGG4EGf5n+g(j)G#;V$n07C@_5^ zO~c8qe$f#Lz}F9F1&*YMrADo*J;qymWQFJ z+ZQFSR6eNCBKG%MDdANigNWuW4;p}Tu)`v!dm?DU-oBf!j#LjUDS#a3(f^UgCTr^Y zL{fy5#Ibjr@judKL53LdPxblT^1^i0{z7_l6a_>?oE%2dl$iXRKO~vR1Z~v7VT2<5 z--t}t|D&LwKyj<>yuhP6Pm3LF$1#$RrDXRjER?HQFT!A>JhkClQ4xi-S?vFIoH)Ve z#PoEQaf1r7&&rx|uzd?QN(Bm27U=d)ITh3Y`Ac}cKHlg_e4r>y5~+$!~>R{(vaw&wrIFe|35PuZr;gOO{1vq)N_AD}ASv=okYn z*Gbwn6#4OQ=G%q}AvM&HtmHrayYIXT|NnB`IiMGA+zM%4+8u+0gJyqiJQ0J4rF)20 zVJX8grDtz-WC`p7<1o}{Lk9q!1j-)hT>-5TU>WVz)`T5EmprGs zcJ1=AxwcR5&ux1fS*R_9^~4`=P1dd>tSW9r@Lk8tiJ(#3YE|4~kxOE^vr4UpSD-?$ zN~4BcPN-E9NEo29Jj~I$`~Bm6XDfHB!~P%r8~q!;o)S}ZiTBhmzMv|#si_B^b(;FA zqETN1SN8_n-fJI=ja-zI#~ptAn(6!2t5EVt zcB~=)yfa3b3;cH78)_2dkJP{jlIjlqS}6UuE3p2b(ag_n>+u4_w(-DiIPc(}QyjlO z%Zvt}gl-VNfPn^S!g6cEf8NBkKz?~qKjGhz=>e{037X0>nG+x$aoFO5%iH$gejm8H zWlm#_q0jf{+`7LGZq5x3e%nscT)hRlaKcGL_!1q#JGCAaY`^3Ow=Vsek-6~ruCtQ; z=M89ZJNX7exgR?}H5a2PbgPgA4`TvoeBUI}b+~K>*x}hhh?s_!9!L}&_~!-R|9M}- zsB2^G#N@Cv0!{=w%C1PX>vq!DX76tXfb!-iaOV!Js8B^#dlMlqb>)h(mrnDTj(Js)xj$ex3HHoLPhU^Nv(lSkfY3mp#~5$} zANwn`rdDKc#e)lw;|A862jd?TzyIf4{$Qn<`8m1uyhlzuxIBBL0^83*e_0%#YbY#a zjK|MI7^_wkmu-Vi+;4v)`6)~q6nTmr2__K`C;*j45zys+pYiHXI}LE&uef(7TtUDx zf!zqF(0`9ZEWAiSFd;W66rkjRRd#`;iQm{6^AAfaOpW2)_YMf{>)({uk zP1!R+7tlLa&fY2EC|dkRU|{)81gIB1NaiG+7ViJ^lu|VQ`;KuP3-#jAfKy&!V?A9= zs)1Xa=B1l#kC^74(wMw_`9}JB5!^5>Vz$sJ6U|8q+%4sTDEPfvuJ4~;I0pCMuX6o> zn6d&!FvwCdHYf8KADLIvdL7<3nlR@lDP%3Cb~fBK2E7RB3y5XXN#L8{!eBwxKVIA) z2}nQ1BkH?IfPi*fio$9ijo{>R4`S$OHN1~eXr%+Q*K|=Rq_S)$_Sk!XGvxYi2c*HutN{SIk!C>e$l)semPqP6Q9*?yn_(vJsfM!tS3i>!ib;f2A)#_A6 zd|~o@p_ntN}08HlFAf%D28u|NoELtE5cbSGX z{h{#)Fze{?8{f8Mg!Y{*&Xt;6FJ65xjw1roLxO`(1+JarG68#p1opiCxo-Z?IS^o~ z1U`7nAY{s_eQ1Ap&XDIFt;U^RDnBa0{cpDpURHru-)Kj?22%va5G8?s=J);ot8{{~ zLB1nWbY`6ufgQd$pw+xMa($?o^LUbNO$;6fY>zVMd5@;a30rzUBS*y1n<8;825~sn zI#^=y*6V2KSQ5M?*WmkY@xM;>dy>bs0CQN!iNKA~ZFN61Yjn8slNJO&ohFCXvBt0O zGkyvTOuyY%!MG`qBcFLP_u|?4_I}a5AFp?MvF+}yL#!uZAVfs4gp3H5Lf!8@U{?=r zZV&m6C*I~+tOy#?VYaIi*e5H~sY?nlg)qWzv^R&-m+;uR5h zvWkgZPYmWPQJsRbsp8AIUeZML_k_e#&Lrj z7eVf3kEUqrT}GOD&%!=SV%4PQf({15UgF1esHnWiIPP0k8DEBuJEv3aoK8CLNW@W* zL6ZDIFpq>E4v4OXg7M&=PWeay4?xAW`25~As4Bd?x}GWaq*)Q zj?5#j)LXX&o&t5T6wD)n4a$KQ-aBcUX#bRh?~oiEUwiBQ4z2h)zJsoi6n-~r>Dg)& zjmIN$nAjOSyy*>OTqbD!4?~Fn``s^a$n9#V;W2 zEax6kXr12F60wa<@qR+>FIfzB^5V15hWkzg0;>jDK=dmy-fz*LV+8tsjvTfI7LrP` zr~jm--_-qRzcY6Hb%)nz#RK2n_y(>dH8Pm@gZ@TJF11_*yxe*WHrqcf2UiSW=!a@q zmEUga0&;N@GIiGwn*ec($%!!j$)brg@DYAW(KH0}rRm-sU|epy+nJO8 zgB|`(fP}YV=x_fX69cBN1j8;#^RB}N)xg1~i#5TL_Fr+;Uq3rOKvdtJd*cET5={y+ zrjNi%`gMF@Oq(o`K=;;vekKYsrcP`__`ja-e+k7-12A@fe+O`|HTjUhe|lnm2Jn$+ zRNNQ82B@GxOArHtA~=jv0p-Ui$PH2cL3#6=fb!9n;VHkLf5r$#)c8HMMnHA}_D@rQ zh49yug1<5UB{%qpy{HEl1$1I*FyA%~c2n1-rwM3T-H(Y5p1=Lyzm$3bio$QI)Pbeg zfZ=lzK;SQUWihFrXMlq>Y2{M?lf=K`PwQw1L($E8$-HammyLqO`0QHk!< zZ~&>V5aEA`^`AVE><|QEPu7Lc{`>hy(Dc(wtRY0S6$WrH2VEw#f0Eb|d}Pw&r@1in zmci8E<>7+GD+#VZBCV&Z1MXkoDP}St75dfU6>=QB@WT$#+BDWWUESDGa=Coya$}$D z&ec2tjRaD>KE?bTh%#WuIM|=Ut^Sfn7K*=Vkis2a!@7qaqRD;tm;ra@ve94Oz`ted zzbx(X_dJE44u}diDmKG!Q2}~_|28PH(g+Ik#>fc_?_mX4p>o`Mk;`Sf8wSTOWHk9Bu$uBoXv7xp(U zPlN-tb0cG)_;s#aKuE=vSZ*(CIHY#gT;>tEkif?fNQZ50XcAmuL`M^(N`DF(ngSre zTc^>X<>z?7V_UCmTO^_bw>&ZD9)hD@sTzlLg(0wX@KNkfPI6U{xOY^7Crr35nm4dR ztmwNNG$f2>9%P0}SAr(Ex)7{=RlyDz0lm($-P=#!~=bs=!a1w^0A8+oX| zR7V+7onh-d&J+*~K3@t&Lpf2rMt*kE5s)aZ&U7_$GWUZ7)emdv*GOwLddNoE@C}jl zK>^>63^I}rojKR6=TxX30W^CfFNv2JY7NfCE@r$5OVp_S0a}nvL3?&1H|z= zP};>G%@xEFC|_0Fi5wsU2UIe9zcf=i9GDVKGPS+V9mtfN!QMzxp#y$U2|gO`LNEMn zp??3|fD*vdShyEZfoq7l&;n$pXoeFDPe^!t!_1$@BENi7g?sb=gN?ilfq3Wy+8?4; znSH>_I#DAYFm!}P&a6e2d%V&(8x;$S0^+bh%D=pYKPfnkj?^zsT|*9(1IKyUz0i7B zsiQmG{JSb?@#C(sJ-098%xdYn9HNd>ElS1>mrBOI)AAXw&g4@$%$%5muwdr!3gym* zV&Bb&Nqjciq}>-tm&2gbzcnxjQ2q74QJr?Y{h%n|mtV2-KY?Ch%w8**GXtg_{LLZ^C zofooFW`y~OMiz#-)os>ZQJBQ6?GX%o8ZBizB}mdRsaUS2W)orl?Z5%J6216s*Czad zCnv|kR|UMjP)Al#di$Y;l;C=taf5>n7&X5#`0Y|Q`!Su<{CjYZ6?wYNr|TGR_^v#) zR3P%+)~tlk-pS}{ZQZ@j!(k$$=x~k5M*c5`JGfy&jJ11mh4N@ic&s1O-=;!r9<-KuCAPjy3aHN_xfeQ^ance`kjF{?_4e~ zeAEbzgQWw`JPQ&r;$3Lg2)DnVy;F$g>+|a6+x1~%y04m}zSEbW?yR13`$u2n?vTsg z1iIJRQ8i;N+x|vQRt9MH>e_qvBFAQX=X0HXms!nuS?b4J#AD~aS74gAV>j4r(?!gF zm0*UE5W#HsQO14;(i2&LV9l}A8x2GVevE-tEhd2v)Javm<%mP={m#@reRbVWmugN? zD}L}9!?~4}n|sgq(3kM>X43ZMM7vYD)%wEygNS=;N4kd;Wj zM=ORWPJND}&dL@P_7~cn2H#8L-fZj!>R=gM}>VE-l{FPG0PtL5U zq?YJ){YW}k<*NzWF;Gr^zVRhHw=03k35>^9%k^c`S=7nOeOV-#t> z9g_KDNXW(gxn@m~&$7_knC*QvGWfJzPU2l2=2?7t;Uc}v@LIdtF}A;^){g#8gUyr4 z=F8^^E=N=;@#L^Ti|5H%{$}ChercE+>908B8k%7m5Ex8c992v)NW*yVf0Q&H<9HDkhK8^l z;ev0ucf=W9)#L2GpTu-VXORM%Kck#E(>Pk(i`eBATdnwdSwKu74wL)*Hn3Y)F3LBj z7WOvp-4ZLeb`JjF$nd^lzt1}FBV_hFjq-+sIjzcXZmkO_6{*i?CoE1mZc9eAY~Qvy zdAP$A-&ynkyesW+n>+|Il>3{#z`)Rjkm0|1e4vRZ<85N0OTYiB55mLu5&4K2(kcFU z1aAU-#N#w{1ZA3-?zDonvShapriF#wM0<~`WhPbOivp`BWk$QiBQrjzi|emUFU^?2 zgq8daBw73S$CyKWRu}kR46dId_hgH))+gR{8?Vw)BV1U|F!iG4sGw&{J8t7-#7Yg0 zEvuo5rttfbw@bniK|n=1TvQm~)1(vPd_TCAE%4=yJY@DK$6uhCY;(E!!^=j>G+7bH ztK$`XUe*#$+QHYe##u+>)jdu0)A4ii#aC78OAYXCh@~>CUfEKgbaa}Auv9^$7U)lK=;+h%c=QqWktlk%?bJy z#{ox#L65mq&`9|2VD6D9OMe^oKde=R zKi;~TvFnWwzyE5O4unw!7dHy?7NWcw^0D%ZSHr8}{On{s27HYR?{VrvW3x7#EjrlX z1;zu=lJo~8k0&lWQ(T=gPQY$gWiYVJnYoK}_kn7GHhn~-l{by7)5aznTiUt!-Qdvf zrlnmbjUP9i!+}xO`rO1WYtwq*93nmNy@)9CL0Hp9ZHP}pvCOf6Sw80nTmqw!2cL?# z30_3hN#KF>XmG>~pn<;nOjomIb4Nt^3cpP?gt6a7*)RmWKv@*>1{x-!yasY2qlP^8 zx^5AQYne`)Xd@r#PEQb6PSG>2$$TA=J@{pM?QdxBik#v+- z4%fU=@O38fXs68+Y$v&~`9>WuGIMzeKQ!iM{=D z5{AYEj)~A2of;w%09xZmid0mnTsI|MAL_bwh&c}Nkbxe$OjI}>PBbIDKq=_Odp zlAu#LZrtnJliYrlALfaT7LR-uFyL-y?rae(pM4d4jS6=hhu?F{ypMcxKqb%GX3RKz z0ofrHO*0=b7Vht53XlgNTY%6@`H#>G6bC>iKxor~icE(Xkcp;FdCIKEWFY@&_SFLC z!%%?D#mvJKS#iaz!!3~=QCg~;|6?FF>GxWraU>2Do7}iKfoHhCeEL{0|QgEpN z_Ag=&*=>HXx48_E;k&zMUV7$cBy{=VQ^wxI#z~jcehRJrS+ro7ANpDuE`;y@N9-RU zS?RZ_f%z*jLfAsT=fl9e)I+r1ka8I2c2VDTD*v_^B{+_Y%+BT35i+6>o{L+#4+um` zO`4x!AxJAuxxWE3M0~-P7VT|ztw+949iRJP#o!2Je0pFlpR@7H9U7XyG|{%75c43Up4H zpc`IyT@lY@dZI{2`XnM$v)M?&JlfM9TIjGCb?{dig-%v{C4~w zFH1*kRW)AO42605{H*lAy}Xw0hZg-DvWb6G^T1o3&GymT9E=XgN*tW;a(=cMR#z9n zgtLpd6wNkl5#Ild=jPns-z9X^G~}4HyYpRbO{+coPOvAmuJ_ikgkk@iutWRlx`g3E zpW6;6Z-P*D=j&P08M&fdQY!Z>kKe9Jn+Um!r_0CYNL$h?tST3OtrOdv_R~}%+d+rF zhed7kgH~2hqx_W*{o%!6G{}gJ7ub0BR-VeC-|J5b5O%jyb4>Ng8ZJ;;vY?-xeCc|c zQ@1p3UuVvnlIQUf1j_9wM%C8B zV#d@tnFr%WO~W2w)W5Z2du$RI!ssg#rgcdvuKanu0e>JW0x&$HVA%~^?ff28bk%+5 z%1~>r&kn+$W*f#|o4v;EI*-B}frdCTv7syr1qgM;6;Od~Sw*Ckq32>hy%y4!X>m!J^^aJ8K6I+V!1aly<(jEwK3xg~*G)ePzAaNyqxBi`wUfuGpm( z1C`W*Y$}($WsDEW+j>m+oSyjK@}F(+Wp%v~dYRUlmokJP9X2Fe{}uEOLgn5ol8~#= zF}v@$f+rQbA^-f3RPFt^`6@PO(M`ZG6`~xN^)rF{p7o~aIu1r$h`I22$R8hptsOG~ zL9lrW&Lk9s_FtJ80i~Hn&YU??j{e-jlZ|eXAeXMY^Y6ncvL6Rl#hyGLr>+jK`rNIFt-$L!1m$t3l2#Tat>;767+ zsCxw`uBAdP3o~M?ufKn-XZ{epkPd=r&5Zvwm?n6DJVDj{VT(j-jP04+!11f6*Js&^ z%o;A>W`4;$_c1)Fz6-4?BylQ9$g`W)!F+DnBB%$WS&T*NmYHOyk5AB|KQ+pK*& z9=kObbRQ-y+A-vT43|a1sFCbogF@7L43Y%y4<{;Z)^z!es?nPv65CvDnNZ~HE? z1?!d^5l2%ADVE6p$V_EaN=SQUZz{*EQxMnZaD1P&errl)R7W9GL%L;8{+1IW&ES^h zELG0lWmp6ea{<5B_r@n%5($pUO1e#>k$ZQS4|X0~!DXvjaiYuc$@Tk-OoVD9GxaH& zM;yPpMbyQ|3+Z$Xv2v!yWh^E#hNvX(mU;qE?A`T$0mY7*FX|-__B#5J*FKjjzeDNV zG%i2$McO|)(&=*xKlC^{!1$dZzsKpQN8IWo?9Ne`%n2_b&?;I1+4+2vYsJowosZsB zn98Ju#)4qFHRHM9t@^3d$IJPvE7b()r^Y|*>a=}Ji?p>bygixZ?m1UA)>6&c4cvPH z1t3AFxOA7TT}uQ?Q{cMmOf;AZ_b2fI*b}p1#N1G))NjDIos+~&%Pf3?FP9}Oqs6G9 zVjw8jc^XTa^MGmRtTu^LgX0THH*=2x+HAOoD!vxjCbeQ!h-=up<^eRun)ba-x5M$2z(JT50nf)s418 zf-qC)KHD~t(al%q+XA;7NtSK(9Q`Jh+6-*#YbcB44A4b_>URv+A97Ob2x_M;6oKIS3 zpMIaj`fYxxAZR^4Vcj9xTMIoy8ja5I z%hixqhvhvz5$Z~$S5s!sxb-|mZN1M&OQM}=-|3*mkr@oL7WZhc@Yr)`XsdJTtD=bx zqXofVjA$Gpf(`^_vdqLiY_WTGIW!thE1Tni$Y&&+Yxx<%L}`)!MN)skw^+-RKfmwS zDbZd>ywI}fOjlbC-g~FxC_PJ=wG?evs6PE-(`M@;NO}0%<7H0UFb$kXkJ{q%Jrlh~ ztE@=0vO`EK$i-z5n0Lm1_|(}B_&%I`$xpAAAbZ{o?;rOSu-mRQ(f5R{9NM2;kRQJf z+VR!M`RZQ7^!d{_m#|4w$};r?YA!bqKPTSs;hCS+IV0s&?YT>sMI*ZdL~*rWmK}yt zXZ0iEPSzg9lWG)fJ`r14o_!Um%}LBDZTa*dvO!}5>6Knlto5u!%q%*wmWM`ImGv$I zusNz=1%&&AZQY=ZV^R!Nxyx|=tpI?b}vf~SX!!l+RL~_{__)l+tWYO|Ib&` z|Ar)!HhkKBW&|FZMnF-MhLFTU0xr{Ldv02$`p(bYQODD ziUxm3R_O$m4MG)#7ogNI$XEBuF)b@!LD^ky$JL6cuU+c$Nn^oE;xqN(PL;DL2)LH~ z7tQeULot)V9nN8&v=4}ghA0KLg|Unm2%HWo2@pa9arP3 z%PPYCl}W7wguGYZ&O)rydHvAOsqZv&ic8g~7*sUa4yCP)moP+Z_aGk(l_Im>ee?0q zN9gWrI&YIgdy$L0f5i_7cke-K@9C|-^bH)PZwCz%{VW>DETkJQx$)p<-HW<(fuP zD*hWH{;Ll0Z3gM0dj2&YQg~IR8_CgHNyuzvfu61J;9mX16c~^7gjJpSHU>%Uj7J5Z z&n?fS?#m|)F1PeE`fC#H zZn{nxpBKMR?zI`%;)UOtwRwNrYU91l&MHOQNuQ8M6Iowlx$vEOZJ}e4+{J2%lou5u zBa})}^Kp#sIJawEDh1!{Y<2-VT3bjlpry%xQqbeqldXDgbM^MSET0@+ zXV_U2<5)0&!q6Mk|6UlPbF^+qR@bPr8B%P^>!CT&P>S)F(%GbV#R*kxTPZp+R>ebiNgLP{hesng%9kjRQs1uAs{R^dlC*5ahB=77rTN45nCJ_ z4U2?t6&q(Aji22P(4fR3=T&NZs_aQ=4G(tAG%s3L{s{tDS6#=}?NV*sHnKir(4%;W zPMa+|!HAZF*ywit^fis`_7t;ji*@-{jEq8zR=rmMf%H*RIe<;@PGhv*l9+ue+|JQ3 zNZ46M-D)UQx6g=dkxw8vSz$D=2>-|!&nQQ%uo1`|yTv`+ zH;$-#j4U0-i#Gsz2eXgon9)Gf7J(F0Q^3UQK=GS0r&A{o;Z_D)yy?{wxqk!@_Gz#C zgz_=s;8dk$`Y*^uy{$}jD?Dcf7D*G|>rL z{XLC4Q`3x>Xs-aozGw30tZpZRG;czq-67v?>yXf98K4SQG}$8{>fU{$1LJ}k1E0>z zS`yR19Hh}ADdL4Nb!e1U6yq5WNSJGW#tZ)#hkJ#hN{5+hGofB7>zXq{g-e?{^D<84 z;okrawOMFErNp23%yl?jOw_;NGu4u&(YF9pT541u$hDXg6k6iccerwpB|@VS{xb0~ zv0V!`tA15c_W4uoRc+4UDVyq93J1$SYBEjsIAGx~UpnsJwK4DW90A&W_4WQRzXW@^tTUNX_-ylhwx5jY&x$4X zTnpQEzx%C$HCzL|lLUl(B-J@Eao3&AakGf|48MykVV70*;eLQI_RESE!GGt?=1?yl zc4znpHd*SVV3^!d*vC6*+9Xd#TzX;BstQpgSD_T-08q7+@{ch<36cC0z1#xxIg#}$ zr&ZN~k{V87fapZ2;`A;i_D$iGN|R{3WGLpswDMCQkT8(!#{^&w0FSLB_$oK5g5QCa zsZfoj&T1AxsA8YW&7^-m7@uX-TDmJ=ow>(DqER7=E^=stj+G-V z{(l2FJU4ZzvkI37GBS>Qn6+gwP^JOU@Yz-% zqE5d6;MjZs&+g2RMU5?RO!ea&-jH!mW!7IPYk4&o zn@zr6GKiOd9}ggI1xm#L{}Rv?z(>SMhD(Fcj0Tqvr($!N5^ghN=zsfRbK%q?1Q(55 z>Wp~)^HtcTrk9mSXg( zG&dnN3!zz}?;}ws8MmvJNXX-CXP1Zw3yTY`7%1LTae6xjDtKC{u_%fM?_*krpY9yb zfmxTfEtwQAsE!V~uqnl}FD8M9rSYo?`w;WlELolKlUa+&5k<-ElAF=w+=ICrlT`d8 zKe-c^cYAjJ&YH!t{N1!^ zV?{hshpaFn$v~Bxj=wSc-;nq<1Y4-5WpV*&U6f$%HzuSRron0w-N+!a(@!n5rJgBR z{qC{)&wVYbJu*7}?fS_^pVOFv0@$54@8p_${Y>7P#pD3~y9Y46Vy#xPwI3s(C^qb> z`6n*a|BaLpYXs+hXMg0GQ-noqciZL2|CLf8X(&{1E!-{YwRqMv1M0qDAtmXT zam5ptRi-CnZ11ISpzbTdiN74_qDRu*4yeMl#FJwMjYxU;sQ{;sxo$yiE)0d3z^WmK z`=`M0Z#}toU4>8cX7(wI@6YhqGC#)@4KL&}Tq!c;7UI9D4;Iwv4!<#^7za9kZ)`u? z0kTx`shO%rI=qR^@!@W=QZ}O5^<>Z+K(9gE%uT5-t>~qs3qn4QLZ!rBb{b-GLu$>y zWU%I?WS|4D&SiN9 zTr}ixobRdq40wxpwfO)Bmf3-Z3vvIu4!-|^7Ab-yeo6}r8bz+;4PlAYYc(w;V)Kb@ zIOFWh1D>=`h7$Dljz_=jspkui7V6j@$JfHN3+Ijb0DNCa*7(@8zyDRkzraLKaaNS} z*L4YuI9s)%EeZ%YZz7(HADnM1UB(t0#!J7YjCpyj1^`CG;o<)Y7%4A|FvjAKD{s5r zzhA}|M|JE>6U-`%3C~OwF~G6-@I&40(KA*9%av1CiD8g3EsfCpKjPjxEXuEK7ZyYr zdT0TO8M;LT=@`1ZK|~2rLFw+HyOop@5D`JTC6rLQQ|a!`Z;k$*cR$bj?tSd<`|JD9 z!-JW*@3pRVtt-y+I@9uzLvbZ>w%Zk1LVRpEe#&m&m@VJ;8pwC+73XY<7r%#e24iDF zVA!xtz+L%w77%{qUJ3KSdlmZS>1sEn3;Hc}2v#drH8G<6QEmwR1;^61iap_YX|?J# zrRPL|lzC4}0*i{QV(hY8W=XyO2`s10=ifm}63wqcTtXQ|f_FRghVajxbly5o8Di7H zg!>i@GIFNbEUPIw1@ZZL>}lD^ZKw;=o^=qsS6u0IZz0ahFD;IL_FB|2AxZ(>)f!AN zt%FnK=^T=wR*TK9_9<;|HRd`>re7SBU@$T@Dr#`^cAyNa*mx`up6*KE5j6pf>XVd@ zplRIyRZ1?Tq;`)a;f$kTy4K6c5~cm4rnB<{50o}+o9U?j#h#*`GzP^V_fmZ`L5HQ$ z*}jm{OkpyKE)sM>L%dys2z9D9I2IE5CyBD!0aixWkt+r}$>F8twU z4#&S$Gf_Zm!jYyEvcI8&J^*(?*&}bi#6n@TQpDT3$vhba-?OnaK@cIQ^@$I6SR*+q zgsI>`EH;#MkSsUFp0rB}1J5BX=-P zO9|t@Ufv791c(0%SBEYIKx>Z$<~ix;P;kF$ZbSA140k!HK(kC8FHg z;JDm<>VC2kt0Zc!AK(j5*daCQ@uMzit*PN9&6T7R!TS7+XD(iB4-2Y>;e1h}L?%5a z+}~gGlzmP-!yg`U;xN&sbq+}8e=q7Rz&)E)r_wmUM7i1xR9CIxJHg0g1V{$H;f;YT zz7S}GKYG{!m+wBJ{gpyo(h1fa7!^jQuP~alAX*C6d9UW?C zwW2U|NoiPw8hBq(3^*@iK7tclGYWhBfJBZWw7Fe0`Pp)ZiR1c(&CX|5ls6Q5eUA$D z1c06d0L|3;j@>D!t*|xrBt?w*`$>HtXnCbaX@&a_==)xxZ{3Tclf3xGG{$QU+>SG4 z%Q&wff%F~qHljwZZW9krf8;IvLsI>%E_;s+apY|DpN7mXAr^Ab%0bd%0+)m7=^f?6G8QOQM4vb1W5GeZ)YC|Z)>bu;(0xX{zLQtPl~SU zD-$Bb$F8-xmS{Y)$>A$N{#a6aUHW^wQZfp|h~GX84{g1v%Jsvnx~{QcSWK;-I*PH-jj-|6)7)B*9kT%d?=P%c9C%EOF9= zgoFty6ASkE`&O#iAVuvSSJL%V)3W;Ez=cRIG0p>^s@etmn}4p%W=ahGwv~axiuX5K zMs?jBI1@dEr0xAP_`=tlD5fS)Fi80bE0qLcb5k_otPSS`--pAWKMnz~1_(IO7}zEB z-CZR|wfJoM0U+5Jxr3>X_V>Um-9SJZvFM-@sPj(XG45Yd@H)$XFWl1m5-;+#bCPW% zmg~(wXAICjM6l?l%*WaA?tUsBIH$B7J+0*^e(|~9x;LFJdsMP+#wF`6z~nvy428LK z0e}}tH~IYH$tBeWVe|Q4;L8y31_jo1_~=ZiLt);mxsP%%5f4#5&6fg0NJ&ieBsyRH zohyY}^t_kzv(et{h$b65sV=NoLaDP5=R`=Ru^BCV(&ehy{5JqG14+xj*yKxuZ#+A( z@G{5)m-_=Y|F|A^lGYb47;fkVV(9B0XGDL!dwnP9hiu)8)M?n}^E8}QNxG#D}gSKSl`a1;!R=)nc zW11=<3Jwx2RzVVCGg%bC_%;ef zTBgJbstxxwKM(4m7iK6b7?hc3Q*8ts@DTQ%LctpVDhDD2h35~X12Nf8T5SkyiI;x^ zj|>RBi@W5g^>^0XT=|L@0t<@drbPF1g$QI~{0^MYW&QGO{6hsk-zEc+CFl#?{k`}` z?GMs+j7pF0w7#uv_Jcr>)F@mvl|3lIc5>wbM0B_OSJhXLdhP5xe1)drGoF{Eim`Cb zPww+eD0$^uCdnAFQo+#!lB>OOi?f4QH-qb~DJ_5*D5Hd&&6}UmUv1X17m)4Y7N#*Zr##$F8I_qQFQG4n+u^<|4tos@EK45^x1p<|Gr;quo#$^Pzop% zxMz*+yN3;e7SyvAa^97qah%ou9J$)H6D<^)PkXQZi9PYdS2NkP{OzaT_VcGDhAZkW z{pOIzCvsq!eJ<3gFzVsJw)Cpi1%|Nnl_6$RF5KyfpE~1IgN&Q*t{wD?Lm@(F70~;u z-3Dzw<^H6BF-dNw`DCY$l7EW2Fzbp?*DQNXI4vTT$WP4Wf!|s1guu95W6;peq)>Yv zMEUP~&MSrN`p9AQ^zWHGNr5mvpX ze{iD9*h@Kzi?a#yYy3XbXP6aR2U$YhJ14>ElUl+2+Z~$|8j#Yu%OC<4$_FT(5GxuUY~gqDx}&S3l9n%ne8L-S?|ON?$z!g}WVN8FCT9&jHU-v$pdrvuz8j1;pm7*H!Y_pTkyjJKQ^u*b;z3@hN}9mSqWOJhLN%yb2|$BtJdXrWE+|;XRzsTsNJ>3GXqY;TL%-fXC@Mqxczf2RV;KX7 zS>&4Cl>g{gQg6qZ}T_;&KYx9}gEu%BTaOb(617e6uCBP&@U9 z&u#I>9QrE z%$&c*z&LU-lq#sHqmSig!{~~1#U_b6pz*NM zy=uy?P?af#d6a!tQ53d(O&y;7;n1+JHF)WQ?nTd#-9cA3=;t38k1D*A&K$aI+Y!d21x9T@L*nRYoM- z>Ac`$(Gq3mozH%Zl_mf&Tk`p68bQQ7v$F43Ptq&odN6dTkYcd0d45c0G!#;O7uWi%Qq9T-4fygUi?~>P- z2q2@tIIt%F^8;y!&F|*zt&tbdbRn;#=Q>65y<{Cq2AQ1*R1?ZBRZ+lk;SEuucz*9A z2~ZhLo(C;IRTL;-KK^}A_9Z61#`e~BCjvY3nFe||9cFG((`^D;Igevn?Xtz*#}nI+ zAw+b)Zh=@AXvu3pcTl{vDWqP}htyk<@^Nv!v(tnvBrt;f-2u zljOk1+~{CpS=Nl#Sv4Q!6Hs?Wb9<*(-}f|PrV_yZhOQ(}3_l*`A9XFUMh#ZH1miPg zZnOAQ z&Cvq)uTD-q6w}vOPj?fGcu?xttCYXZ*XHndJ&v~qo3ox;uXgdl#orv^&_mJCxKS)M zqB~&$zT&{g9R$;?1>Hr%!GitZ@7JKhE+U%HeR59^!g}SXN~!mu&?w&7G&I{*cu7zsI2ww1R~`vLORL`Z zrUQMmXbM1zF;CV66?2Q+$N6M_NG#%ktMpVB#F=&rRpMIzxWm~i9M_r!oP)yyEJder zxe&PX9T)?L(GDpom$rKOHtU=!#O{;B72-jjT4qnytm4~=$jPpJIRR?rb5f5TEc6*b zW|-sTNx(!C2c)zWOc8B7QFJn(HT_z;E1%UW{A&V(moE7X!6(yf;sHK`WA1b(w;a?20m=0e!n2vY>!L$?e#CO2DTvBgbnSkM995M9^n2Tvd5!!6MC2Iz zrwAy~$yu?dn|;@2G%cTg+Fmu(EB1tv%c$Hl%)}P+~cUv!%c_(otQhqi$KG(ncWx3$x;%#^_ za~z8Xe4^?p{q8Cee%Tw%5A_$;U=(!a?_*j$^)pB7#g8Xxc}0OS0J5e9kjpDeKaJLw z7F_*2YpjRo3|hQGWH|Vu zVn6XF$gN~9%B(rH4i`b4-vZIn|d3tnoXGULQmzl`Bpx?QR{_p;O z2>z$pS|zg8r3F-`Y+b%54JR)D6g*#2#ir&@?9V+E7E&yDnGKcTZDqeAOc=zA5+)kCgqKnmy!*{6A;O%q0l3er7 z%mz$cmr2=spbgd^9J$bVv?YGmKcuw-339P!Z-oDCmQt&>pCkFhg6k>i029pn;Mx1q(^EQ zLa6`{O`&}r$P?o0n+y^SS1jCi$!1z`U7tx2I7vnMwg*C&sADexs^_C$0*8Yw`2~UP zqnv^g%>IUb=D$1j*_u4f&I~PADSw2^KT!CEKEqh4L-HgsyzI@upX$eWUg(K;VLln6 zdZR4y#dHRZo%K{S?%}Y>nk8Kb$fIoKz-#GT7nlKT1p9vk=A7t26E)w|N1usiy2c|p ztns2!em&GYCN1i^(yoTZeS5}>&GY5q8>mSL>9RPL6DWRVB`w0SSstAqim0w5?9>t?l-jF4xcXX5<)}#{wUr^fw1-PE z!r-e?*BlvMM@;n+4d;gESwKn1oc-F1G7_8`TpajC_!l7G(4N6$NAJ5cY^W%h*EnKz zPtD3zi14PQ^o#NsD{|C3&B~hv(54*_LW+T74H|I`GI|Av!&d;wDn!kRCChP~63B|{ zFj8z=mBIs8CQF(~7RPA6rzWm-TZ3jsFX<08_NKS6v(Kl?vxQR0GymszA%h}lrW<7X zQ_0&W*~KX0t`3EyvFMGv#Oj^WRePuqEKf*R}6UzpVV;M6ar-bF+<3XS3m9HC5fKpYG9~+63n+r zZ=Mz#0^8-CBl-_p+=8I6G>aV>IwD&WPl439*%$fm4`2>sQ zKvig&7&gmcB6BHDaT6vT!3K8*4B9r;oLfdVC_d{X0ZiyI0~!wK>o_gBKEwFT2mI zrm}4Nz4}E@zNd?S2bi{7*!CjP>p5|v1l=2qo#PKyXJfyPf5^FEt73=towS`jeDIAY z&7(iZNbdP)S*XP8U$d>+U(Bdtk4O}f9b6#3yICO4<-uwr$ z@PW+;NPV7Y6P6N#a0bO=e(nJd(}XvqAB`RhRFGQq@$n1g4o*sAk$p*>7@w`JXdYL9 zwx?o%>n$j!Qn{+_3A?XAQ*b+k^O~_sN2k|BL4k9xflE)=h53jQ8SBxQZ=x5mkC)3B za?cHy-U6z;+< zObF20*i0Kh1IMX_iWa8zjUeCtRU_L6_WURQ)=l?r6GC_5Kr+Mamn8r>K_O6lRqg^z75XA-z+oicQ9MvA_jr4D4qciiE>rb&b()iw@Xn??G1Fv@Uob- zAop_4kGHjIo=2`soj${Uf7#;<$3u5V(b|=;7bTi+fE}m2!PBg=@SHcMmj;Gi^GnPUx1p-ulP4jg*Q2kdVs7Dby(2>i zcmWQ_#mx5TrTohmaSWk_KZ^3KPkzlL2n}l)OXKf18K?#XM{C8AaGVFC{cmn1ZULuZ zV&t^Pb=KKWq1)e~0kaeJ3ZiSHyjyQo^b9yAb$pvb~jDY)S2T^oSnyA zOi^!Xiz5ClVI0{WznxO?T;n%fhPBXfnZw@>0}dzB>`Gvrx7k^VrGMbvf>Gdw1hqnvcdZtLyXbni)Xg1h3J>g@>#|7cZUoQ-&K|`rgQ(Bar5TtejlwbzI!f&oys#_gnytM149#K>u zof(_=N3#OlHQM6i3D=0C^VVZaOzO7io)u)yCXL{wi*JE;eb*gt>z8=AkyTqO_NwO5yB;H zs$IsSe}r@Mzr~?H-ayLci@CoE+QRXuctc$W#TxrSVcs1OY3)lz&k6eaG>GSmh@5-D z%IADnRkv8xyPE|~1Jc-{m;)(zsW&GpZs5RVowv7T7`B!?%vH+zd2 z2~F=)|FH)m$2L4dz*yIJ4fBg<7CQ2<1TMpy{$Bl{L zBU*u6gM?S_-hilKiPveVQ_G6QqtZ$`DG3_KZsmOD-T5+jy;}MfYqlOlV^m{KujEk< zmndc*0Oqh7>{)%@aJh$$1>NySIlsqQERYkW=7>M^{*~oJC2D2ioo%xZgVofc32An2 z*iVBA-mN8ecgvjUVYe&l?P!bq>MgVQiC{G4U}`!B@idBfebe?P5=tB^1=+>6C0r$u zU*<}0_z=*tMEFL)48A#8HCj(TR&TMa;?;OtY11d5t_o049$0sAM8hG;T2*-=Y-!tf zrv$~8?Kwg=#%jVrh*#KccYdO|9THFLi8pelRr<78Ky{hl4vu6+s)EA7{x>4#ttaD8 zK#kD__iw3=7nFong*R|j(Ce=U%FU=h7=0;wt^8?NE5n1!uq>=G_R83)7Qeej9S4>K5aF`o+9O*hu>(Q~o9uYU)*s3J{G6`=i6Gh5h_T zlDQ{?g4V``@7F%y?@sGw7feRE;k)%uMh_54AC z+7yUmXZ6tka~*BaJ#Dm6K_0~_c99h*cWcMdMt19c8bD!9hTb}qZ)f_fYKVv{>k!YS ziiMGRN1bS63JZyQE{LBU@A#B$<2wm9?B;8}k5P+xZS-9=4eo6J34iNIQ1iXK3+jQ=*W!R!NPX_w%A!yH5?d2AY7G?Z!;4c z3T$mYJYR!U@2R!KE}Z=i7#AoVLVlCPH+%kDRL)Jz`6mB+H{R>-k*=wDRrtAk`WJK; zU538)_8fgyxX$J;PrXX+VVJKmV@3?H-ijE!x4vV)chw-c;YA|rZcMrIH_D-!Rd65Ezq|>V|WsGQlc5v z`iXcK!Y?7gj0VPWfdA*WzWkP1urGHxZD{2LGf!|#R4iUgG(QL28EV-~8el3|sRbms zFpMUBvXcOs)8)*Y54@+WB&%AxZWlZ}99L}^eaz}*zpRGL{PHIIIENhCL`=%^02Gy%HjoLZhO6S8ZYMw<^T8xP+~Hrf$M*p90_gQJ6odKkTbmJCO35X) zcTEo;NIs?+XB1}=%$qOrL|;A$jn|~oi&&{uvvGY&0OsRC!xg_m5hsh)t&ed1eiKfa zz2eY3eDA%D)@lu!B(;xzb@m3=qM4?@E84to_;ST0S4hY6eaO9dwE%O~q;IgzRr8Ry zm00x9eg149OJ=}jG*W#WmRZVsJP zi;4zUj#kk$Fb2RR2_jgN3C!T6ONkJ2N|}j&=>z6&bnFYF)564Zq-36ANlP?{@OvI~5K@Ypp-(qBe19q^GPM26_-EHCCC4JgIguGG59Hh0=bfyQixk&XZTO>y z*qoMOczv>@IS+qAt>iThG0@lSK%-w;XbQ>CuDJEO!?5QR-Qff1c}1> zs`mn1*u!xHi5(JMdA-Dg4RK|zJrsQMBlq_(Ap%BbGrUxnY|(Rkfd@PuYgTO*iT50~ z;O^@`M_KfuUMePiS0gj6J)~SHjW~nhaJOO}Gd0?`Yn{9}7JEK4XHpa5?%zxSBxYif zDV`Z0y1flRkt5i4x|Xx+aI@clOf4azR%LQ<<`Oe8w{^M4bVME0-@4r7u7p)N8d)T5 zdSRVz6HixtZtXAY(7f<2%e-UdF-MGm=MHjRTt4oX!`j#=2I#B3iU*1rrkQ}Q-V)sP z4eASdf-ASIJCu61D=4ts6ff-ZJg+-CIKPY|>XNO(`j5*21C5@XQ@9!zv;kG(WXx@_<%!?<(vIsxPl{&m#oLlrU`z}X>8f5kIx5rSe zfmE=N-luPUs6wRHw}S*RlPPO#uA$Nwv=aw|uk26J8tOXH!!%EK`k!hSX&5~*5*RAd zNeoiR$4h8VJ#$K_%#r!h^sXfkn{Av%ynzq_l*n@N*vSRbZrF`hGsD_UsFyEFjrV(CMh zGVSCCA*f#KMzVB2P6eKv&9;kn?4%X zxV~>)jq1(+nT2KgBc^1_ufc;TTiJKf-W}RbwG<~h$@{?W0P22KQ_Y?`a`pKwXh5)3eZA&Ug6s~{xF8_W zi}?e?mWMC&NGtdG^f~-FzzCED3L?Kh)0XC_(56!zs`0y-o58gX{u+l846Sg4@}A6c zU*#~r_G(lua`>)`-+nqP zwMt-^HG*XQm=iUBY(ujv0$>Zy@c*D!Kvy5tZa(~mK^A!L??oQd(Xmi&dnz)wthh4% zsvtlO56m__qZr-(r}i+AaB}zI6FQw@ZB^C%Ah*&1QlvOhW5$cDg+YYi+r3|3Z+;le zZE)=MU}rPs-y$!g|L!HpyTn0c!xoF8E~}=W%yXna?B@TN#w|^4+XMmzRN#=HS97V2 z10&})dB3z-ONb-ZleG{oWBv6?bz4uev zvp+NQ$k-(JBOp}G|JAQ3@OjeH=c3`Gk@r$2unD?I;j_mYOD;Qk9Jd^M?@c>L z_n04T+NU=t6w*=;nl#%+sCjVXdH;3uqR?~@{b&$mtVd#TV4I;^g0ZYvu!!Bws;-Wn z4$|D@Tw;<$hFMb2Fuwr9jcQK8YYRdttkh91vZeuxraOF;<+?P2o@E4~yY!f$^?*~- z#mtxx@lRN&5yzETf7(8Wp84`MzAP3DHHqnI&>{KHec@Tql*|>C8A62Q*YTc8cV=vg zhrGwX@Obl_|0VsvpXJM8M3Qjpj(v^B!ZErGipYMIoJ!|^4>0ED&i&+n{j+qV?+R{V z0uR!J48(Oohn!>lUfvayTGoPfbwYtbRvm(7Q?{vPDBgecH;{vg8LS^zL(HiSLTS6d za!e*1fl$|y2)KfmcS7lYP@#e{r~h`d{Q>73f;^&h=1p@pl5Pzy>OWIvujys|54%V$xZ|f6`FM=fnGe zU4U=WJap$={ZX@@T`%+`0h&ESH-99)^wVqAkV90m1lnS=IaBF(qIeJgD;Z+!w%QRG znNW|_nHs4WBNL-0yS|h=w7&+5HvoSz=7V1QaGB2k1kZ>Q*|xmjI^9ij4cj;mXn*1I z1Z!09T67y|vpamId08q+sC-ucC^N%dm>Ur4Ro+1=ZCaqx63t5JwbvPVyo5*|)K!!G z->;fKxI!8ft`LlKBxylqQ{TY*E*(*Jjs}-W_EJsZ8PzM*9c{RHz>!`SI~9hFNLkIv zjhDvM*r4g#y`<()of4KQY&x9xsnsqA39b0mx>>n4W~)=y!`ShVDv;RhK`63^)(1$61LIHH4rdIo+8+fh;hQ&(r;wnvA9(#X;bw?&(lk%3jn4*%1Rv1elcV5-_b|qS`W$o z+jaWCf5&@0_{FIM!6rhGGEc)S)p_R!&jH8hQB8eXNh4*EV) z@9FFR^fvoobs(i|YZRZlm4l2qxw1~TBk*^u=Hg^iQ(LK&`Z zhX6Z*+DVsxb`pQQkSTn}FzSZ^bamRN+Q@3D5&Pzvdv}wOT%IDC3sf`hM|}KO5=40$ z4L>$KWJDg;i;v-WElTws4vB_=7M551*FPQo`%giyr?FKP^>#PV)=^`}8+iO=V9KE0 z@D7BR8rjk)CRKv?D_cpIlQ*5(`n4m9N)Xl7gV0a&YGHV$3owEJ4dE{j_SvLM-*KO|_u zD++`LlZz^_Y-Em$YwwO|Lx)u5U{q|!N#MY?+9(^IL=RwkfI9p!QL#I@ui9IM@?tkQdkxg`3c*Y(_$DhD zvNljA<#OhAuKH7N`@#Yb)Q0meHc+8sg)NRo4~s{d7xG>-&cJH)Tdi-JWw{FN=lC>2 z2-KVtkjKhom;owTP?ogR1cqjwqDs#92r{49XNmrhY?<~n5iz`ez!Ugj(h&EZTtHaZ zMNhxcy-17wC;R8LThP47$5^nnW46lbFB)!9YS7O@Aby;Qgo2WutBj>07qg~$6a(WY z5zhX>T@2VVH+z$zTZCFF;XQCZcrosg{{@;NK!~Rg2F5C`5ThdKNN7v`{gIM4C8tFO zRxtA|Jz_wp;SQ0c5Ib^6IXrv_n%|mDs(h3}@A6sBj<+s{s)s$|So+f`M~Y#4f2d!t zMq^O07%lT=z~V(8NZ0Rnttiy%f4s+;vLDFOg+IT}zbSEkCCIWj zB@;nJlctu3OD!6^^uu&+ZvsV%tW+stkqMJOHJ}TGl7)2DpWRoX5dZPD^b%w*g)-*^ zD`3hJ*U?!b8qo3bEVwJ~C*roJzAYA&4;`uif>+iUTw7a|91WvVr*L1E1}z*SKOw>v zy@0}Y+J;N*m)}4EA`zq83zdZrJ|aKYnz zk;n&Dt(c~T@~>ABMtPO|e*fZ1X4L&i1w*2ZpmGGfwZ)bJ;Le@jc!LR(DT2pTXHU+I zYXN;n>Jm(IQKVYQ%QH10<}@r*^iBfvL(gn?IZCs74`1*{h@O5Oov z(dd;t7>FAC@XBHNhwSP8VwM~MZ9gD0bz4LdA^tT}XM4Hm@ySHtpNTr2)CTklcb`v| zg)&^_k}jU)Dklp4l$l`hC|5;(hPHrtc@eaHZ{S2sB-<7~T*b4O9TpohXr^!|!ZRyK z=n*s|;p!6wuO)72Cd2X#!nU{aj|V-4%x5A(=N@2YiWT+0tB|7yKw@{b*b_FSxoSqr zRqxE(<`+DdJ{L;oOcUf2ELYA55{XIY}06Au&1pOFr{H(?0P)@0By%#HMx3FFX! zZF-bjFN@E1{z$jl+7~%?+w#ir$XxVtA5L>vO5+99(W%KFr$0`;kJE+Ls(cz%frvb* z5=YLk{ZQNqw~Yt*3&ilK;u_8 zo|OOsW3`gUQ6O?Hu(v2Qs`?}+C=DgJYn}A^?8gqXITCTB^ftvu=)lF=dG0vh@!R3! z^u`r#>#<{;g*x#nBNZk$M{L;1O@O<*m5sb1yyc%+pihM0_)WiE?3OFP$Q}?(XpRTu z75!w?cVE|E%l7T8VE+*blcoRyuq>(fYN@6%T6XE~e1v9W=#ad5xULdilG}g<3&bJ2 z=X_g)xoXPMOXAn?%S3D#m?{$UXj*8@sq&)s=fTanBcA&g?Twm6XRS1gYY(0?u052N zD$UmG^e31(x;JP}&JX_zff<&Z(I=Y!`ZCS1Y$2HTlOZfv3eq25@a0TcX*O=fy(eOx zS(S1>P8AU6URvfSLbJ(V88=mSc8@nDntn>epFRuQ+EK8RfGF@FC?OHe#Z^=A#VvO3 zalCkkRDPQ{nQ*eeB^vyVy@WkUIw;Kiv}OG06QLFF6_VIW&_(19%>0Lm%0d!*Sas^X z!B+1#+~G%_+lOhw#IQCMq$3CP@pqG*FLyQ(Az`#Kw2g{kqMjCIKa6gvZ9IuQY;B6) zRB~pl5;`1sBOx&3Gw3RB{8u(K`wifekf_m^M2n&Sc7+1FyNMZ{@OHabiKvIyWI{2O zEOOI+2I!a-){%fy&2EB=S!M9Wvb0;6e$8P%6>qjX%`LM_ZlAn6#bRIjGWOZYa;8tN z_ZR%K-C&g-HcJt!o^JCjGdR227KWC3I+!ECm|0TRJ)?7`OVL+Xl)z@t(xYVx_t_X@ z?AHC1MEI0x;?z%iXj#7Lky@vh#rAzNnJN8E>TgWRgm*$1;BphnwArz*~O$QXk@IgdYP? zhR%|vfV6S=Ng$#5A)h_A#ZF((AkL2+?3*#zkOz&0K_bR0Oy@+kRJjsM-J%12Tex;n ze$+621e{00m)hm4%997!u-_!&s+-qFs$1fWKHI{HkcCb!pH#O=^6i8sFr8?H5eodn zN}gozA9+E#VxaDtdx-n`vKkKkN#M^GQlN57)E*{p_cUKt=;>(7*MMLZVuQ)b?YK)! z^!?%3DXiXD(Ntq63)mns=@B=HFwx#}H@hA=H=CYu?BD@$*>y8)+!n&YHiKj@C}chK zuvZCv@}4`!B&a0jr;&HO&7=#HJsIsMF==IhbRpy=b;LloMj2w;9%Gy)S{r4i7G!+- zMQq~c@!012>U&m>L*i`o&+tc%L&0$z)Fgo zCMbjzEO<=JqrPVxf(ZFm9paaAtE!nWEuTxo%++Q%LtO|ojscD>LB|D=u7zq20Um34 zmrk6q+_Et4zE09FyFREW1gZ`iX7;oaDA_{^2Gn=wj=$sPQS-(8`X=+q?K`-@c|3lm zL59vFM`wtH@`YEpjuJ5WblcT3jS&(#R59H2m(a&@B}O!^G=3Z7i{;PuTig+;nG4=J zIeEIv<&ZCD7zz7GEISW_HJ`tdzc=t#93B}0&Q*xS04@eP47?a!0t@j&po2DN`GJB3 zqn=Ry1uPda>|Qo`Pi=*B%3Vf-!b{Jemeb{Jq|a8&C)1|&o}&~?xez@La|GQM1pGRQ zzXgJg&sl4sfw5|V=Zb0c_i5HPLHE~f{O;bt%C_kXo?i=uzb+rTO%(v#E_mDDC@oi- zPvzKXB^a*IgRsCKuBaQQgtxaE_L%53Hq5l-S~aEIlWoI1?S1J57Hoo$RLXtY_-Cs^ z?Gh%v|FhFY94n>Y{#!9z#UgoEbTZ*K@ zd;y4$Ps95&MbbDsso85=8V=F_PfrN=5iyIIJx6!uw;IkD)?YO$X+rJ7aScma=nq9E z_L3mFklhhkO}B|EAwDp#n(u=v30`?LO`<&52_7j47wf71^^uqm*l*t_n~3oTPP}t+ z0yn-}r`BJ8TW#ZgiP|ti#TzgN1apvWI};iW##4t!6gu}&3eUuMhk+Ef zfK>JY!)US`-N8o_+O=00!OMQo9A!md5UHB}L&1N-A9ZlQ2^5qO8iUmUYmq9S1njn>Enxj z4+t{WS6tG()kR!BV2L`Qv9?n1;M8iR1c>;*LLnfwa+~DM9VFmOcj+G8K4Y zL9f8NH98$ErcDb)-*^)H3-VWc7Ls;jyUFiMHp3tPi_8S8enR1J3o-`wp*@GHM~(8r+fD-n3g*M*cofZ3vC5QCnad<#2(}Of*Uy&<(%k$ zz7Ck(4C>&g7QG^ag^2^&+)UmW8tQZH#&d>^eh~^IR-_qrnqnk*r`sk*o8~ zc#d3?$aQr`)3y6TELc>8T5~4d+~)J78~45EjA-(U)0xsIt72Mi;kc&lC-zl3Vq&9* za3dD}ktQaB0P|}0zw_rYa#4#?o_W(9DhJ*wBB#@`K!JD%j$|-lwO0ZwxHZ-HWsKn+ zBB&&tT4+u}21f~6sI^a6Q*==L$n4fc(rB0YKQgOx31GGCgm!TOXxdi-39L4>FEq=j zQ~}%{V`+M_iON9ty%R%@56A#3NCZZhaUYb*L?ncet)-c`gy{RrD+267tia#Jp`!t7 zLlym{=M8FerMbXEcBE6elLeq2@~eV{d?zyyFZXmtiI)=*s!J|(A#SON!$MVWzct$= z`ih|&^NR%>GO)hwsA-Q@%akW z=O+qt=Kp*?4t!o&l|3L#8}<3MAAJB5@}D}x5Jt2aA1Q_S%0J&imj`S?Q!(ZY3h}=| z;4j&n{Xay0r8&U|a-7#zPz&bwh5=ky@q=CO;ECYxV}*DRaQ?Wfe|si`0yrJ&1G$`k zep;RttV04(t{8?t9XKA)&n*8#Z&^bLe4rp*NC>r#bWFe(v@Mk1FOWw?AGtlam;Na4 z^mmC-2OCJp5P@422z~thX-$-q&ci4q@S}t5(A~k{2>b7Hyb?pG4?NG0ib5G?hypMV z9>HQ_l3MtP5<%rsE0@ZtBQwmg@1l80kv_gl50|Q5U{Mb(ZaL;9Hf7HCg}g~ z+rVB7F*Xo&F*KQI+-fBC={zMS-*`ayAG=St2;NFXP|EP{D)s?)h()br=r0imEL0g7 z=3HnqBmB7D+ax9WWP94me6WDpeoNqqe2Us_>OY?W2ZYt{?)Vpl#(Fmfy-(eXKi+<^ z-{~`(-zF6Fx$;bi3bB>?fAK34NC+(KVyN*;ne~FRpa%&LLx!#7w}0$Hp4AWB)$#$~ zUvw2eH04eTBdhCOs@wSJI(?o)1JWi2tn;Z)6a@@r7|-Cq zI#s^NnC4^v>(mer#05JEmxuJ5rO$ZCdf%Y-lj{;96YYa{vhSUic9s8!-l^lqq? zpFgX(N%N@Cs2kHb$sZbW3&g13S~%|CMy+9~6tFSprMOsWG!O{nJdRs=vPKwk55!2` zYrdtt3yakDN8D{OLv@7JM1PHyt`=hcdUwUZat=gD0(DDV0a72J&tGZypaw< z84q0$xH{VU%83I#i$^Pe1(BWeZ6>FK?CRkbJ*>hTd*mW@Ouo%55ym%3a6DK@MYHyK+u6b6O zy7+0Jsw*)N2k7Wx-Y2p{J%+#=^B~j(L>Gp-!TQbnhgVRKanK8+2XouG5gn(*%NEmv zO+h+FQcp>HeGuv=_Z|D-vaQX^9+ zx#AwTeifURycm=7J<3B^h6dwF67bwS!WFncB+*ww8|AsXtaAqY6@lk|mM(ZkO@>ZL zhcp&&lI*#@j5hB|hxJ2y@A5kb;m*RWuB34lFoJRanzY1SV*Lu&C@`URlu5nR&}+QH zqa-~lS3c>-+r^Zk@J>=aW3JSy3#M~|y9W~uN_d&fdK7iKVWbU;Q560^UrknagGtKu zNr%Y>pmI}FE3NTm>%D1ZSB=9=W=@$^H&dQsQq0D9S=SMDow7Ii)#-QB!KIosLGJhq zHwUE|ks3y+AYA*o1%>gl!(;P9zRvJGNwoNGzIH~BsExA8>U`&oiTQXlN=NP$rM)Yv z2lv_jxM7Jqz_}p_xm2W@ReUie9}*7OsnDS#V;tnTI|!t%V%9Uc;BWWc2&E#ZVd9bZ z+MrS-u>a-189&=DdiLLPV}I~$MuXq;I3N*sZ-I3Q%T*D=$GZN;uT z-ijy8F^yMC=15lJs*(O6W~`CI?`iyr-KoO7Gj5#Cl14nGN&j~A9d5a3nlJmb#b+^K z2;!JB?df{K1Dk0X+nQDP)v@<)t#5P49fe=^p zBxBAjEm4W>O)8E%-)=BUc~C$Wn+movjaJD-iukEu;92b*cRRcIT4%qTWKWi`6+h zQS35^NII;uv{0AiToQ;#rc_05s^NgE^ZhNSPZXsnkE|g}!L7zUDy}76wxD$3@2%?+ z6fxy@hp6-+F?GOS*Op7;C+StE)LP3Y%2n;Usz@RF8}HO>5+R8&)pYuIqeU8mh z7(*g%dRXCO!8R20#VTjL_3n(1*H4zyKY>6D87iXo7aEN)0x$V(bBOo#D+~Y!>*uoU zc&lnVln%Sa%eb~Xp0kX{Yw)cH+8Qf__D|I0cfzRtSwhS}T>bkIqf8#IK7Wj(822BudLRAJSnBR znTT=PP6zJDvO(R259~Od%lorm;@;oLM#$5BrD|$8$M48x9ke*qo9*aHuls39Nl|BY zcDy#%Z$2!fvN$?>z0(nXfU(^aD<*XSbQ^soJWE3W(HdaD)gc-Z z6nH!fXInCiN`7s^QazUz8@Ln|QmUI$xS=0YLubI@^nb$2GjhK-U+&N7`Q#6E0C04UjnAR}UDB|qZ{FZOXCL=--sgRPe*cKI?m6!nV~#PdYh1I^sa!8!ef*KfQk6d*m#n;- zx!1|jcB`+@<|x-2`R6ppuO5|~ProaSDsnE!w|33UiRXCJ{3e>$C^vo|*J3A@d7TIU z$r(l-W>2~l0lD3zP35>+Y-hDjBd*b!HLD=lyk06vfft+i1K7ML?QG;9uR!6%H;Qi0 zW>WZP0dJ&M^WjuW=hCE*;;)O52@cYP+2^d5m84#WXRR;VuppN}kih+;QN&Nbl1bx3 z4FaBF>fQ=GbJsCHpB&EpAcd@2)H2@dq;OOuaL_WI3XVB;#q-9#=#$?;CnjUSyr;j$ z{n#K9EfT&xTC$!7*V1gp!e`DX`Y?-CloNnbu(AMvpov z!5E*Tx+5klVcw|cxnD+~88&wIC$z(gpv^~B#|w|4P;#Go9Ban9+cfbPmh6X3DA%0m zyb^u2;LS2B*ZN(7ldT@qypQ-~w|Jj-=4QF5_PhGAw8!qHolF)}cF>Kh$aTUc$Q8|$=0+kye#bJ64mO=)+#TQuYk-knySaco_ zt9FO`@G<-ILb8?gq#L%!Eb84Wrdj4TdAvz|rh=xQP6dCU5w)sM`G75buTwd3?U!Uy zoh{p9!jP##?C$itJ_F3;w*WJl~tzIJ53TZu4)mZ(!m^-7b@Eq17;>YaX*EKd>B z4=sDc=;tHG+GqeviTd`4L!Ci})v2A8cAh;_m#t>6)TFm+y>DMSy9h3TAdv2i#qaFQ znUa9X-dwTLmoD+8lz^4fiP#=3_{prZgGA(=ADCFJc8(=8F*vAytl$I^j+;x z(k#i8Sky=OA&m0{7zMmJgA!R?q7)Q(&vset)4I@XE0lY(bbMapbf6~URZ3Lw9an`* zZsWCY<|=v(e@z%488xw88WD*gcrcVi4dQUfcZcF|;MRKt{Y=yr#(N4y&!1X8(Hh8* zeD{Q3592*f^}>^D_<*McHa6JY!yoZN_Bme6?Z0XYQ<@7HHQQf$RY~6!!#>QzEGCHU zUU$t=YUr>bR?uRTtmT@LZSx+qTsJvuu zz~`%z&Kmmiu-Vt>KzN876*Z|~eBMyDqRI-N;xk`77oqLBnm57{uIU?N#Y$&vXJamH zA8p@LV+r)8Bc5axt1#_iD2r49KhIS2wf5SYbVS`IZb z+}5^E!&78N$zT~sO>7U7pl33*73t2Cw+Z%wS0lf}63CX#Jc}npdUsA8-X7LGU!1GRaGC3>{k}lnkhq-wW(>>H9^gYODLp0BnaJO3w5gds zrsmk14t+l{Qva;F`Ly6w&!V1XUECMB?UfllHNqaH%%11g8rLvjr0yX}_kV{!yWmI^ z=nBIjodP)xZyDA&5Fh;Z?QLD09*QBB3sXaBiJ5A6Pr6#Z7Jfgv;}xCFR5>??*#M`) zo$hNUvGc-*B6>KemNs(i*ur&|8fnj;;RgvLYp^)7Abd~r)(whq6DN01w% zEU2`A{5&`g$RfP16HkW!k_LVv7p~=O7(X(&y_L*$dJ}EiW+>;gVSufco7)Cb&p1g1 zZG-CDjZ|4??R}96>0sRJ;AKQr>Sc2|3YAP=va-jIzkD`Qx#>2hNm<8R8=m+QwAD}6 zVM7wc|7}@W)#}mW42%@T-wB13(ib;a$ZE0}Ez>@;(~Epp0dsL4ac&YWeyjN>*84R} zYHWd`&qF^j!ojf}V-iEmD4%J9P+IOUDUY_RV{|;^53c~Q(^D40C2$4D|1w`p6dp^v zIR?jmcn>mB;EX6?HS2oOM}xHNAE%QwSvrh$S}c3&R_!LwDfVI>JmxP(yMae7Pg1L< zo|I9J_PUQj)j3ABHQ`b05^l?Ip>FuP*X)LR<$*8##333!vrZ7ujgY9RDxcqOvx+g< z9Cdx(KPJw&z;~if{>7@|tBvmTJGn7)amSekFZ5w3I{G zk!>41j`Ih6wyj4yiyeK_I06L(r;l`Zj|p4Vc6~m6A2`xlMbQdYNP26ZQBax5=G>HrL5O2J4Fkd0wpGiWQJ8* z)RzL;`;=FV=F53yMrRWq9}(j3wcY~Z#^il?11x1V99BXn$$o z&6LBnS0sJY34Os1msbF(N&M;Wke459DWva$q%aRJa4x@j+$-)62ToA1j}G1h44tU^ z#me9p(*(KcX^mNl-WndxSZV8=?QkRZ2tNNtEwkyK%v(Mi54z3g@{*G}mCZo7CQFq= zQ?L}-p!nEoKl{XNoujvS$jWl1-vH3z@>Dh^95+G$(OtQ*eb)W`2c4;@;O!&d0ivTu zf6pBe8l|wzTS~uHrj*bUAKT06xjxo>P<2-F;i2rt2G`v1Mm+b31Wo?Y&}8ayVHXum zn)Yf>YL1%H3PF#MjsEi&4`~&1g0ZxzT3bS0xn!a(Zs~cQo~D^p#LT+>4$-(9U^$;K z&3{Nn(e>$diWM~{WLPK(e-iLkjAb|QA9EgBw?$)HDTaX3!ahZcSW?BkHE?Z5*(TAb zSf0(s+OSoD^%3s&_pkY04}YbHuUqsVKl_o1_OA02S#!nSJ>8`YB_Uj$M@$=+$7Y1B zELH7$uWK_n>j~_Qch$Ws7jt_THqu?SQd581{j9^Y z9+HZrWF&n&x_xe>nyWhXaW9wcdPIQCfdrduR}Euu8O0~Qz)%f*Q{};`H(Fxnd=HHd zVMl$3)w#8^HOG@$v3>{)YW)*Ui|Oyzxw?Fd%m(BuYz%cNLroCWBOXCGGW{H9u43>H zPSLp8C$H@7b?5xp6T==$loIqjQO#d+Zb@Xwi?&%iM3D_1K}9$=Ae?pPuUn$e*+mWj zQFftsv)q^P3_m$vw=xmQUpVJ@y!|)g$Wxg8I#%XRR&u%OI}5k zU#k~C=5pEVDD`6O8_*DSDeFCDKAXoqQ4q5>oxK&CvT(jWM)5dF-$oRrKcEKV#NLzxxRun~vLL{z@l0m1-$`W-eWK)NY-e{KGDX z?Hx*QQ-=;xa;j$4&30x6*V(-xg3}EK!1P!3I2k+ zs38Qz(yQo-yBkPfA^ZEj+u|n)_k_=CYg0ep@(l{A&Qv54i=>VhQH^Ta{)RQ=W2itB z2I8g>bObNo*vUH$+_@pTSbbO7Os@Mh+;Uwwch^vb8>*kraHm@wB$XUH$r(t*<+ql5 z!cWPLz@1YcJ$EGLQ0uuPtgfoBE@^E8I!nyJX7!?U^!A8o))%(`Q&PcN>%m4kyKa}I z;&?Q-m%_Mx#O${HOG#1KAzFIjR>U@21(KcwNtN_S7~p^i_gBB27eHjpvDy(Pu2Fvy ziU`fOHGK1WyfI&Uk*MB(_h`r8cA9QE2ay+y8y z2sG9JdP=pv7w>sCsRxho&|qRTZx=@BEk2Dmi&*abmMDM4B}4;z2O%3P%^^<;j~x4E zQ-Zs9KEAZxhcj0f7iuq>S}FYmtE~FW$)IwJ%wq}j2LyZ{o~E5MES-}^V{}sH(Jv@m z!2|>+J&b{>&&TKAIMQpV>V<1p5@y_bH_o%h$Z`v@Jm6FqGZ)^=75A_^z{7;F0RC^# zu_7!~_m(8672E|MJn>|OKrE5x^=r9NVSoouFPR!`dtk}csNq||D@dFIr$tq3=Y~FM zR`Y>q41dVA->L6q{ahed8Ls$lRSZsVJR0B0Vc~t?wXwSQCrfbk-SjT3;WUlsJiXSZ z^I;>QY$fx1FQ~&Bm5+=VI2*G+7wS`wQRG^xa7%aYVTd>&eyoGWYMAt9s!+x+hA97? zFA0s8@>8jox}9M?;tu!G2++hB@E3gIUY|6S3Z5Hwd!{uK%N+b{OnO)MTzj#Oz1~`R zkWNLgF#`9-?$_G4gAT;5h-mIUs@GJ$9C|cik}=HcimrPf*I03I*;tuv+jlny8vRwz z<#YPvT~1GL(MHepJo4!0IH`Wfhe7ien^`g>oI`RZ;|tYdKv=@5W=Nn~CDxe9m*Ijl z2LG?|dALjqX6;`W{Tb@>ijU{jkZocodL5tPo+#z1>&J+RMkdM9g+{Fbw9j6RD3zYj&s_@MJFM9QpA@#(NRtj=xUjlFp^qkaRg*)<3fB;4I8= ztjTE<#O~0L@3St>ik{yk#`X;Jp_~||^5!RrMy^7^JByLSO3|OJgF@dxEkkx0SFcc1 zM4|aWxaXQy=j7EG{46d3Yh!h;5@r`yN}SfcIPCrpVSPF}86I#G*Miq0*(cR@s*%ir z3WglP;CAs}&1kICt9Fs42ynGqM$pZRI2bMp1#)wR$q$g<0X+UTNQ5^qgTE*zjF%C{ zx{TKvw%i{jI-${iS{q&;o#}Ys5woz0B~y0=zs0vsHm<7WG(>4?+3Zz>Htq%;1%d11*B#;!9U->+xthXVjB!nq zzg$sx32+$Hsb%)?UZFjz*H|J4V0k`6<=l?Kg8k{cNqk@YfIeKOUnP&|mS$|%y>cW& zSzmT`7`GN3=*%5*RB;O0`Q0?(JP5(o%(l?zG#h)Qaro$DvLziO@gWcj-+P#ec9Pf` zt>9R(S^x2jU{qguVM9vMJ2&cx#wBbh` z&xzS37NklS<#)zPPT9It&AUn|Ju`04I>>&jC6w(OgW~@$gN&ny`M6;2Ufl=`-2b*@--~ zCWOU#2(BN@dFi#S@x**mGvCT^R!6>fgs`-lF4^xX!qu;>WqCi7;~C&@$BA55L4^ydg}QBa7$ zjvC-ky#if2ewtWy*La{Jb3ULww5nO1%hQrg-#C@5JnS5Qlt`~)ifH{hVnxi6tD+S< zB`yxzDlYqCGRW+aHSOi5d))>v+xY-zmv+C4H{rD(Pv^Mk%BR!$NW|#C*x8-6I~rsY z3&(@1reO;oS4UD6keAcbmeF0AkYOJ0`5$OgjY)B+Q5~UUahpwyg&h0R&Q+1REMW!^ zHcd{Jnv|ZZ99Ft)s3|pfaGWJ(Ol5JQl%63fN#C6iJy&;KZ|W^?!_cG|il}<&dzaeS z_b}FFf^76-ybHpLsIz-&OJx4YrR!%Tm{wR8djJJ_)%gP-@5|^o$QMkI97udYtb(y? zfEocLIKPn)&>}C?o|l+piaSe>sZY!HFet{?oi;ki)NdUCzABd=a#coNfL86%Oi~`E z$+tv!(n4PUbS^f?Kq0WdZXi9eJ@Ke+W_27fvRv)ph#Dvb$uCBWIZYS@JXtSy_g2K+ z=e8CkG8%iizb*qu>NoB`&~(<@w0^!LZV>Pn< z=Z$ssB2~7};zK5F+l0;{0>g1JtX}V}^nY#3dYnY&lLx0E6&tOkJ)G!Q znzwzH^7Wm~rj6;4z-}Hkohzr}$Yc-Cq~Ui7yC~(lyHC;YXdCMJT|mR-$h>h|UM4Zm zoyEg*U-MdxTj(5RTxdjaAQZ%gt!8IsH<}RiK`%DgOEN4W~T`c6> z+T0YU-HBLR&A10{Ym(%a`pc?1h}hY6y3$!oo@tG_y*(Si;0mHe!)0CnI_c6TmDWPZ zW|X8AfWRNlH!2;oIPNI%2?Yjfj|%e1jj0wPK(9&0HewUw{6XjQDrGDc<0$2V@0kOd zVp#z^**ZzuN!yrx+V0GK!sA?aAfpn-cJl4MB?{iksKEO9flEcQNr7en1k=lq}NisUfVXIay}qbC8^_?+~7P-ASNy3J86iQB7jf=zy-!j z>(U^OoVq39seo;a;(iA(LCh7y0GkK!1%3f12!&5O_sZ2+uuef`865r;Hcju%gyigC zz0cT|T>qj^X~VoFHPRc=`Ssn1LEiJ?gbZyn+A>`GdQgA;5m6(29v@JhQ}dP!!Sc~Y z{fm)KME*4ri3krShn>LB>lK98v-o_8oHciC#aLvdk~0Y3(q^2V5ZEwmJOpNAPzr;z zVI?_+L6uQI^8@kKaj9gjUVrMmD5OvY_U_~jlHPd14MaE)Od&jf;(0Krm;s2fd0e0D zlni=51&mX+AxELUqd|XJH=~t$N;tl=PJayYJ4syTFv!b8qWn}7CJqu6I-PMXyCwq} z8YV6FDwu^88_a!#ek<=i;g11%;+npY*o9Sv@qzX9i)8^7{uS_I-XxPCfh6{ZdlcEH z8orv7wP&(in=L5hKV(9NCMAF3gB6644wnO@(7AQ7WRo5Fk#ivShgY(0hqsVGFY11B zL?N@GMpVB|>9KUk7j;%~mp)YM;~@9*Sx- zWWp%*N-BX-pf!?K8&~PWJfG=^ar$`hbAZo`E>4RdjCN%8ArjFYPix*eo`8!7L-rC8OSLYFR!~cjN=7%GHcbH{m85P^GoTD+DbeHzlO%O1m(s#Ei{7H96j> zDn+svZ_no+KsmrG?xGOkM6B?srWQmvVd85YM-*U7d~bO;X*WybBVwWOrquK6r~RC4kyQVN1oXlBeC$LO0hKj zcjC*VrX`i-0Q89zvP=#4AYnoO0zGbN?fv5v+L?q+p#J2` z$<_%nd+KtvV~U~1B4;OUo#YVo@eS7Em0COzvGb9#}EyndkK8cg^Ro z>&mUZZ^wSJ8S|@}zAG>Y!pTh?2rmn(Db0-Ibmo*D3bl;buqDY&60Tn$tS*^1KJlZp zqHwLL(i^;9FR7erh@o>Z;oM1PJND=yIw9NBG|5=qgj-?JIMODhI^Q#J=RfPyXxpfo3?ZP`nF@BZBYxR0#JZGz$m6uWklc zrvdlokm7l<<#phpv6bic4}|bIviFG$ir3?YZ~PQQ-ty_#M450soteJmg{DBBv;2+D z`5DMsZSkD@Pe2rf>mE8qx1S$RXGOYDtf;Bg1GdHd25R5~>MLcnnTfoPx#$iCMZ;dD zLK^B6wjZ9a!H#VA$VOc~5wzunPHazHW>S8n(pT@w)nlFLXj?21uuQJgRjbVYz#t}< z8HRQOSs)5%8(fvj4b?)? zPwhqKhNz?*Cz{mtYCkD%^=aS2ui@^u4n_QU&WEq~oJIN;ex*RwQAB?0<3PZZ$Z>i+ zi@_z)VW_}z61ap(ZrA*pZsoKKUQPFO<}y9!G0suAsj$IVL1A>wX~eyGp87<8?EV|)+8;*=7OI`NoJv~}D|s=fFQ~Sq zT{%|xYgA%QEoV{|olS}xFB#Y0p8-zPFY{D|3u`D!1O|J~A{hrcLh;1C38CLc=Akxq+Jl zA^+_|wu_xk&*Y8szsJ6qyt5aZ#3j$Fre2jHiN~faewRTDJGfZWEC{4cM+`L4W^J#E zPyn$3RMZccREJ5TiM-W!S>sZ&o@5L@B5?5LkiNM&LRmU%f&K6X20r<{n&Y}2Z7h== zfS5&C>TbZXJLrN9ddBQ{%9fn_^}EegiXC!VlbB||OtY-LEwQ$ELuE)DX1@BOOk~N|!c5q$j zKLnl_pb|9tX;4$ana_VuUv7BGqZ@f_DAN(@m>+p-;Tt9|1_tg_`r-M()pYqritB0H3E#!4pk9f-bt_ z_InZk&@X*_jI#$})Q?_h)|Q1f%Z^)DB+#pK>PLuhrwWM5)?1vW6HD*>wEv9z-2H)i zg@jZgvkJ53TAs}`sM%t6<;^Z4lF(3B<8?WIbgSn(XI_%`Mo~f2XD+=~e67!3DGRF3 z>FCa9Dz|cJ5{fs*`f#SRSIvL>K7g&v!L4S1ec`c(hydsjDpYaT!2+aw07Bl)0v1}! zMsLMWstB9PoLYv=7kGjGq>KG0arG?wmgpU3{4Fg_`>7hoHEvBT_4`VF zDp1gx3|S7jmoU;+NvXsyusKY_muu1V>&Ar&8#^0CFJL`ZAP>yEQo0vKZb!(bsT*z9 zX9WRX9|05*hKo3WvsH%6KgUXPOk5P|NGpG4^Gx*Kp)rT-j{X^hPM7qRxtJ8H>&F^y zYR0#&cG6xF%(_baCC>Jko zzrMg!pHR5t{6u2Na~%rwr5JJ!wLTUtkG174`e#@f*;tx*a&6|(8w!iPk6Cv3e9mIo zCN-p*-jR$-a?kZA1y~u8m75jn6?UfD3m;y>^65uFxRok0w9kt>I8Y_KdG(p(Ie{YK zYKGsoJ7eGW7t#xY)7sBs)soGhk17s%LFG;omx_}oxB(*yvw7eoJnz?{rigA`QrA3S zX~k9w#m&?3nCDp=4t=k0k4{j!dO`2G&#RG@Ngea1Misa)iG!sAbx21#&7USLyVO&w zQJH8k1DyAy>>UxuCFN{cxjPwLfrvc^@eNwXNM}B-u2t#KgT>Cstvi#`RLmqsZ5bb$VLih1#F4;!or@)P^ze{ zuA$(Q6-qI%uZ$_kK4J|R5 zq@;OCsqjNdwQf$oEn#mC(!}189Kf=f$w#I7w0qj`TxcI zy2y`dK!q9DXwjF?5C%K07seg=Q3mpf7OPkciNRl-+(@B9hf7i%U<&lefOBdo@tN>N zoEQPwzg}bJ2yckH+aQBQC@BS6`XUx<^qb;*LC_^p04>F4mX%)?V^BN=+Z}~J&Wryc z#DN!&DZ<_ZO(nUY;{U51s7WWNBncOP`=aoL zkh#S8WOW%U{SpKHqau*zC)tJi$MfQ)zZU49EVsQi;os-#44U7>Tl$ydX9M+*-Ygeq z5$fO0J-2B`;8I+aTK;W*nFJw;^Y8H3fv3aDRmGtFGw8U@L z$mRT+K(#jPW92j#ulg21HZxGc4-5_Lsrq-}!pY$vQC8G>|I~}W8@V;2{8?{mWq8g0pD<3+^95-1R@}@<{-Bs1*Ago5&8_XqqZbGNCje&omj zgn0f(A_oMWhZgF0rE1+OlV?Q!?!1|;TFh^$5mCR^+eFMRHcmBiy^p8$!b-Ri1DkG0qtI{oAB7OV+bl#dOGAcfZEx( zmdIfi9#PiE>Z(Y*r_rE%kXDPQR z_*wN1t>j2Fc?%C~xAV}6c%?y-J(553LylzGCSm#oLv34ho$5O~4uKa~F>o_r2|kwM z>sLW@N)`)-U8n0-wI36-r+<1d$Av-M9(+E-bX0ewqn*~wMyq!sCl+IPK5Hv!D4AG<+k?(jwYAzrJb6mD;ie z=Gs9#s@%g~@-EFJ@zk3-V{HjDEkBhe!%#xg5Lr0;R?{_haDnfSbj^-pz=hz5RKFKlVTwwvl2P0o{mha zKeqOKk1UVoBcq?mVTm_BH2bU_s|T2#-vh!Rnl`|*cNAF-x2u3k$>vOt!=t%G*E2E8 z`^)sz@;L3$4*-p2>mg8tcYlw3v0#y*q9GD@*~{A0?@&ok_FIGdNC{x4?9M%<=>%J+ z;RpjxSby-q10DYfX-g-=nXxBep7OO=Zpo1VI!%*5{@jl|zETUs9fAI_;lB8nZN;g% z5zfcATFZQ1=(G(^u2=NnZ9VWRW`rb`Q z_F|pExWJnJO1^*u7ln$KkkGW?a6s&P_mE@?M*u28VKq3Czq`v_P=RMkI@kLBy6*5h zmHkiGu&=D4$`Wl+daR8VixA}w2zDm&ZCZIiq!&tJnMhDCM?v%c|DjQS*ff#%4W#MY z0tI><_o&q~ZDskty*aonRAQ8@}FFz$#c;U@|70F4Ads%Rq?p2Q?RV)@jj zk+8!|{c=vc1q7){ofWR<+UeC-i2dOqeQ&5-K~|VU#IMu9D zMXzSh*O?cD6P&k|@>9#|<{NxM3qXS0a_n&$g-%yQN7+qZiT(S-x}{9#TdF``cbQ$TlfS|JIl{Z9hK=!gd znpv#0GiRQ({)-*Bs#y?sD93zd*I?N2&>HWw^atyp#i1tDhP(KN3B$mjkyteXcDH9(Z3lvEMae_HeO(F)WO5!_O zlqQ{MuW8(;9zFXx9c)Gk6+GAjvWlhVaAh{#PDUksFlX{1uq8AO9ds)6CC57pIdX+A z?*cKaHGqQ(w13)K$L%KQITh^=4<=pb(}4x_&d+ND9E#X8uy06!|t8s zg^9531;6%u{{i!!3qPWD(ls%J*=}qh|JV6oWub0ol}t_&kqEZ3gS7$ePCT8Y0?*k z6l}K@_g1`+0kg+ybW*mv9{j2%OCr#{;8)?iE!N`qJVevs(4mz{OV;|%1Q{s&VU?m= z)~aUVR$F$#2NaKTtNQ3o|5a(+Q}IbuQ_>X0k2K6Dp1gwwwIcI<*(Mw+Ksx2imMA5@ zff`r$^HkeA+IHVCpP5rr0rG2p)-ux3J+rQ_eFQ!64{4MEJEJ>!lgRT-VvX6>YIli4 zdC>K^`p0tGN1{jdKQ(WE43nm@R>&sAsJMukg}^$GJ@GyoooVBvt%7?P0Ud3r7e0Y0(K62sQgm& z&m-ehW=`x6JAU#&#}0RA=w&K$4sxK5)-q5o9LvwZ0l4juRs_462w6}cuRB|!-~8a) zUD2-d2hqo53Bo>J*XMdAQ8agqJ`5F|3i*Tm=Z^*Rgj+VwKhgcNHBjw~zwxQ^L2tUu zW+!`N(Bg-H{GEDAkDs_O5@yR23j5OzyY&#mL4%2G>JSjIa>D8_NwO-uw&S@en` zlX+yQ(6jM`v*-s1a>?6n4pU)g4Mg7Ds1(s4=I9@<>au1O5G|F?Npa3f^BJiCgmr5F zGTbqRB8M_P?O{NLRR8hF<0n;!_tMWc`3%yEEb?w(b6dHe*Y8G$JW^FGL}A0)`&8F% zKt_}PI%3_bKCe~R%YYt(#+Ik2B8x6Mk|e6kGwAtPn?nvTJ0psl8-(*MR4YdP;8rpl z`TezV1`rsC6^*8TZL` zSXnD9&;Y8@dqcz^Aj;a6uvt^-31{0&c@W@q;~8?`kLyj~KkOpljE@PCVw+VguH52e2ua zZS}IxR_+a#Ta~Jm$exZ6rB$#N8pfw>uWq_VEnYhUvlv!UTxD%IIyN?-HK2qg(MU&Y zy*VZffMqSp)X5$4IlpsfN?Kg!SBt^Hy=uEeV&<2;DrNom z-=iv4)Tf#Sc9u|c&SyI102Qvw3VO&1KgR%0_+@5e4x+a3av2Jcya7JfjgS7Q`I5k& zh|uTIYg)h&2qB2##Hmf!lB$gIz3<2CFf_sTIq6xvaE=h}@%Zbdoi6cs5#szpKFzJv zqD_Y$9r-ekAaJ{>=nHLJw^AWHYB`UHVx!!FW==My;@ue&VaC6i`g9jNf0R^zQu00yIfA|d%c&7%Mq2dqgwZXc83ono8le>*_Am_ z1NepCFUJo?^7^j~RQFeq-w#AZey{=`DJo$?8DCA@6JC1m2i!mAINO6AUlF_4PWxNv zqg0JO$v@^gkF#QRfdM((@%eg%NERnU1B86B`kUoC zUT(op3Wte75Rvp6CsQMyz?P58W|OMI>bnw9FUilf2fj>U%W>-jrCAN4VB85*TC~li z(ym(r4vtMo?u<;ud0b^>$HQUV69y=%n#=J?UNgpiDv#bXg+of0Uq`>@U1T`;9KyF3 ztr=~R9jMd%^y&1((x}QX>vRu3QVRJ4ORx{u z&u=xUsUs%Uax{)VqQ7ODCbB4~T=rV!_9#*$bZiFLZ?q6xATGrls;q}WQUTA}LI*FM zH(e->ZVDWM!+gOIJ)KT6zYi}faM*~#pU*w|psh!TPT}sR3hNQl*7VDHxq5Phmd0Y9 zbv<2-s3YrGkZbs`{=uqsQt}1b+j_uv7H2Eq9TUWdeqsSOsIBK){O7nrdfH(WnM9XW^dHLQ=6PO`H zWBon=PtNBK^G?UR3pur7 zA1fZUTc^NCX_%e2&s3o@4O_mPX2^Y&DH3P2Sdf9C*mgRPx7C%*u1;8Vg|nsc2i#IL zdj&IgY)=AJ0q|sW=mq{4@gm8K&{2XURiODWQZwiS?YLQ>OuWHr?rqK24O1=)ov>A> zdYpKj)6z+iI5@NYcNn#1uK$2kUr}#hEc>W|UBi%8Nkl9H@uoao(jbt=aeqDX+D%L! zR18qtQA(Jj>iL}#oE>Rp?dPvDZSYk}EQ^a)x3j@yTOYJuAjC#BFByQACQDy1na3M_ zBBxJrRqT4+<1(~zc?OP932b(XW}h--@@zJNs+j=9JsCgXJLjZ9!*MoEKNa%&=%UaW z_rwV2DQru`*9zL%a>5`G4ckg)zc~Copz_r>_PqqiC*bh!W+0M=vJu{okwDgYO#17n zowFjZX8y?Hh-}a}XF(KEF2{xA z9f*Oi#~A`lM|bv@ycUzvu~!EQ@%gJ&Pu|xOURZXUO;D<>vRhN|oeC{d{6IgkG~_BV z7R2s+3Qg8i$dtd)k-u~p8KLz_t`_6v2EmD@WGNS<5_b16R8pH&`N+C!^a%g%;2Hpc z?h>-LuYR&pwDm19Xy8PRHM zko`N?UwWSv3&{C(*Nhm*=S6T2EgEFuNB_GHA|;~Gx_SavVnOuG$-YBE^Kg;)i+qmz z+C*j7itmqnyMuu3xjTF7RiBd|G=~`!f>n(|D)e!j7D5&)^H#{UC(qv7z9c{M2zox= z_PN5YsP_E$gnTryJ$KwO)v}|>D=}fmfo2Nc-u3L;N4d)*OcJC%EFm!_uw(xzJ_bP9 z20UmCDt>X>E$GCyg1cu@w2BdyQ&XgXZg0K*Q=GHN)R0nl9PzQYOjn;J9#r5TZMgca zTLBbYqE#XD5iY&j*PU$9V@0V{)pSKg=AI3oS2!-tD0r7hC;8K_-7fNuRnaFkCLf&D zX_Lr0&m%etuP0olrx-R0-n{mPbrER2!vFLXon${0ihV5A|0y)!5f&3t@SO`(x1-fJy%al++9|kS z;52RA0&x5Iq2E|73!#C4_qZ4zmaBkh#$|-=Z(!yhUb!jx^C??HncW2Q#^+b>b{3zW z9%K*`{{~F{m!l94Sr2d0AUU9q!Th@44=O9)kAh+V!o&@u81>$EYcG~nOp_R~^pXyf zP|29dr55S!4zEo%LoXYz7aMV2UFfv_0BVS4q^?VB1Vnc#!ckUi^`%ltE`#CURCm>Z zhVoy>pga_cg4V1yyctLZ+aARn=Vlnt(%$EBkVK#p&}S*;v7It3VMdB%@#=VUbh=)`LCf@3nIcqrk?{1uj zOrL9o+OGrjF1qTR$@VP;AYAtCm$OX5ZI}V?LQyy%QD>9Atm3V#w#H3If7kV)dnpF7 zxr*36Y+wj*G991XJqXzUvCeo3PTPfmI3+5X&=={_Mp#@K%`a-k#+$mlnjMLqj2H7X z5W#aDp>2}q$D6gi?NRlK9OpD5frO=PaQBNt<^R$q1L?IG3dC-`K?v!y?*cWL${n{; zCG5WFaM()fw8Ra+uM6o?5(8K%_jW(7CnClC#_2nC+_y6K0upT&Jxk$`F^bDdwzBIU zCtdDMwbCCoNQWmmMY?j1CRYtkf`hrmn33AvCSP!@h_tjk4^#;?7hEsoMkYCacP{kO zX2k$OBqk2)nPK1=k|4@c=t%Zq(eG-_*QS~qJF zOs*ickbv-w`IGGR3y1Z)FmPCn-x%N_`2dGCDhlNZWaY`C`5$_~2{i{k&=RD@Ivn1m zjYGHAe|o^%)mHaRByQNJ#^vDgvM7|k%dIE~ioXL!grOUVU&~UB0BM1JsJ!?ITD>Wsx=*bfIm?~h@Rp|TC`=a(?&tP>qj zhx-P_I?@j}2u;$>>yVg1mKg#8jhI_NoC_&jTyvmWo69G_<3+GVbK9i-zr7yttB$N& zESE>DUKLbib8&c~uRJ;!Qy9rI|J2ztFg7sSH;K#EGy5pRYAZo~)DMAf@u5T2H8k=^ z4Sm*-i#Fm;e#1==!mvt&-R@H!+@poCLgxG6mRWT%+BWXYD^R%#KDSm?eq~Z-`L7%* zkbedB6RA>u!o9fzcS4@Lco4`g9mh@Gr`H}llwL)vc`vPwS-1U70!ZIJ42AT{q*jKu z;2LL$)hOembvt{DpO3A6G(kL6r(YYZ`!){v4~iCC3YvkO2?mj?yaQg9^LmNO`T9Yx z<2U%Q=~}zRO>FcgbjQxl!DHb~VzbY>g*SS$RBs;3f5>&#S@vaEx0VaOto_Bc`3% z>1Mcc`C%F0)V?NBD=dHw)BiX zLi1zF%7;~_d@`jNE?H|P=h1z2C=pvC^N~N-zC0gob|geeBACo`KBZ2luS-?Zy)N?M zT$a>cxm+`2cq*@WKXKdV`UEZ`r-7aDyh`<4I<@Yoycw^qkozIjFNBA;SJ|yPt<%N1 zKZH%R;Z%lAa4B*DWz*=Q3uV*UMRIk7wdJp=*L{K!6QLlhR^?mNU+a56T)NAdxpUr~Rh z?;%JOI@rNi;6TCc{3E2`2L1YXOm0Ob0#|Mkh=UxFoo0I!ZE`4TMj2n3$r;m=-X zp!x>VKEIQie?1)f3ds!s?%jJI+8P9PPml?O!4DI-D~OySaPLB9@Nchs(IajMThJHA zxM&#$WDtXX<)`YxC?GBi8HLW@AAaGTphL1{H>ko%AtcxPFMyE;0m+;>TL}kVpo+g= z_o7E{!I<9Y@+Y_)0A3KHPHRiF!9@iDv?(as{6~MTxZ^>JiRjWa&mbrk-U#Bgq_^8k z4!c-ytoy)yB}{qkC;9RB`K%ZbH~9b2+7%=*cylmy9&43FQru(5=XxjI^gg|D7r_rm z|Nc$HFf-CY19iUa>4F*2Lr3Y8H;Z>J4zqvH73h2es=L6jS=h=DW(dy@*N`LC8x5^r z@orvB{oluy=I$mPr4l1W%#v>4b_c?|&+$UCcr@d}^FSQ7^;- zdb~Fw7}R{0NPh}c*e?aiyOOunFOp7wZ~QI<@L}=NT(rlJ2aq(6t29yq-*5q+R#T_> zLTvNzpI0VzQ(01u7Hfj`4v8%U_;#u>hdd++B7dP_@OD=4iN*e>_QTKWcXy-cFVN7- z9r62h-;sBx?cOi^-cCH)vc+=qeU_xb2?(iXKTY-k= zU*q+=H~jKgU+GBKo}7iYPcoBaBBX!g*0vD%wlT(B0Hb`xbJz58M2SCFr>OpOPicPMXkfgYd1UJ++wKzZ1g&E_V~Xx&2^qMze^io2KM}nNfW-AAXc|J=>hIKou}m($>UJJj4z*A z{xM=#uJZmuyK-CT;_xHsfanZIce~x+QcXF%QLEL*(d=qC#;7~|!!8M;Tum3FljId? zN$HV-x^4l%yV6t%uSIaK0#WCfW`vG}>l2rSS2{L9kU-BL?cPU@b79CgpStqw?!~{z zAeBo&X|#A>4kW}Cdy&sKBUosB}itLxrFtfeRI!v@Cm7Tz3InWuwGvUyuY=b z)~Si1J5m{O%OM{~}Yx9t8?3h{*?(?4vew>%P}#@=KC z6C7az&G3(8RG>91-()2#7SXYHqImx>zFrN2S%B^N#x#thd zPZwl&Q2to{ByeKn-Ek%nuahJZY#!FTtnC_4Cdt`kCMh|HUv^@`J)d5j>+VsI&t>(Z z)omu&jX{=zNQF`FPs;`KcS9tO8J&z<>fjT1Uib2syR-tS(8+H-1E$Og>#HCZPoCzn zTEvq?owgt)`nIqx+meke`lEkzOBLBV{YO5_&AGWJvu~6!x<5r+gHB}CYr3qzKg$Q6 zd-84i?thNb-v;dB#~z4FRIwO1@%w=Ok0Jf{ho^uVl{fL@xWCiJ{^KCL_#Vl>wWR;H z^#1wd3CPxOUHfn$QukjPgqAD^u+B>fd=9t%-H*Rd`0u|0b`p%#Wy<`YcK7cec3*;c zjpI8an|~O{KYI5Ih>bSfx-b2QIr_tUgO5X#=6JTm^M4*)7qC|k{~}KP@r-}>E(zi( zS$7dv|LL9l=X-wxHD_=>^T(HZ_J6L3zaGbLedq9ef35q*l`B_X|2)^+spA%7^SbLp zKIh1{jshp)ce`>G2^sdEKe)rqJ&*&u|A+rveD)B>+{0-zo#&rly!;CsDIn+@7S{j# z?5jwV;NP34MO6P|)8GjL->_~!Ci_RHez!KI3NAgZPTc>q&wq7>ANE)PNks5}dM)T9 zPH2w>Y7Y7m{@c63u8N3GdH*pUe?9w(yV+Hd<^z|JJOAz7NT*;Z_p$!<`9FU6^=Jxq zG$G^o-`C Sg9ohRD`G;@g1G{(-u-{6oGi2e literal 0 HcmV?d00001 diff --git a/02_Summarization/letters/2022-letter.txt b/02_Summarization/letters/2022-letter.txt new file mode 100644 index 00000000..878ccef7 --- /dev/null +++ b/02_Summarization/letters/2022-letter.txt @@ -0,0 +1,61 @@ +As I sit down to write my second annual shareholder letter as CEO, I find myself optimistic and energized by what lies ahead for Amazon. Despite 2022 being one of the harder macroeconomic years in recent memory, and with some of our own operating challenges to boot, we still found a way to grow demand (on top of the unprecedented growth we experienced in the first half of the pandemic). We innovated in our largest businesses to meaningfully improve customer experience short and long term. And, we made important adjustments in our investment decisions and the way in which we’ll invent moving forward, while still preserving the long-term investments that we believe can change the future of Amazon for customers, shareholders, and employees. + +While there were an unusual number of simultaneous challenges this past year, the reality is that if you operate in large, dynamic, global market segments with many capable and well-funded competitors (the conditions in which Amazon operates all of its businesses), conditions rarely stay stagnant for long. + +In the 25 years I’ve been at Amazon, there has been constant change, much of which we’ve initiated ourselves. When I joined Amazon in 1997, we had booked $15M in revenue in 1996, were a books-only retailer, did not have a third-party marketplace, and only shipped to addresses in the US. Today, Amazon sells nearly every physical and digital retail item you can imagine, with a vibrant third-party seller ecosystem that accounts for 60% of our unit sales, and reaches customers in virtually every country around the world. Similarly, building a business around a set of technology infrastructure services in the cloud was not obvious in 2003 when we started pursuing AWS, and still wasn’t when we launched our first services in 2006. Having virtually every book at your fingertips in 60 seconds, and then being able to store and retrieve them on a lightweight digital reader was not “a thing” yet when we launched Kindle in 2007, nor was a voice-driven personal assistant like Alexa (launched in 2014) that you could use to access entertainment, control your smart home, shop, and retrieve all sorts of information. + +There have also been times when macroeconomic conditions or operating inefficiencies have presented us with new challenges. For instance, in the 2001 dot-com crash, we had to secure letters of credit to buy inventory for the holidays, streamline costs to deliver better profitability for the business, yet still prioritized the long-term customer experience and business we were trying to build (if you remember, we actually lowered prices in most of our categories during that tenuous 2001 period). You saw this sort of balancing again in 2008-2009 as we endured the recession provoked by the mortgage-backed securities financial crisis. We took several actions to manage the cost structure and efficiency of our Stores business, but we also balanced this streamlining with investment in customer experiences that we believed could be substantial future businesses with strong returns for shareholders. In 2008, AWS was still a fairly small, fledgling business. We knew we were on to something, but it still required substantial capital investment. There were voices inside and outside of the company questioning why Amazon (known mostly as an online retailer then) would be investing so much in cloud computing. But, we knew we were inventing something special that could create a lot of value for customers and Amazon in the future. We had a head start on potential competitors; and if anything, we wanted to accelerate our pace of innovation. We made the long-term decision to continue investing in AWS. Fifteen years later, AWS is now an $85B annual revenue run rate business, with strong profitability, that has transformed how customers from start-ups to multinational companies to public sector organizations manage their technology infrastructure. Amazon would be a different company if we’d slowed investment in AWS during that 2008-2009 period. + +Change is always around the corner. Sometimes, you proactively invite it in, and sometimes it just comes a-knocking. But, when you see it’s coming, you have to embrace it. And, the companies that do this well over a long period of time usually succeed. I’m optimistic about our future prospects because I like the way our team is responding to the changes we see in front of us. + +Over the last several months, we took a deep look across the company, business by business, invention by invention, and asked ourselves whether we had conviction about each initiative’s long-term potential to drive enough revenue, operating income, free cash flow, and return on invested capital. In some cases, it led to us shuttering certain businesses. For instance, we stopped pursuing physical store concepts like our Bookstores and 4 Star stores, closed our Amazon Fabric and Amazon Care efforts, and moved on from some newer devices where we didn’t see a path to meaningful returns. In other cases, we looked at some programs that weren’t producing the returns we’d hoped (e.g. free shipping for all online grocery orders over $35) and amended them. We also reprioritized where to spend our resources, which ultimately led to the hard decision to eliminate 27,000 corporate roles. There are a number of other changes that we’ve made over the last several months to streamline our overall costs, and like most leadership teams, we’ll continue to evaluate what we’re seeing in our business and proceed adaptively. + +We also looked hard at how we were working together as a team and asked our corporate employees to come back to the office at least three days a week, beginning in May. During the pandemic, our employees rallied to get work done from home and did everything possible to keep up with the unexpected circumstances that presented themselves. It was impressive and I’m proud of the way our collective team came together to overcome unprecedented challenges for our customers, communities, and business. But, we don’t think it’s the best long-term approach. We’ve become convinced that collaborating and inventing is easier and more effective when we’re working together and learning from one another in person. The energy and riffing on one another’s ideas happen more freely, and many of the best Amazon inventions have had their breakthrough moments from people staying behind after a meeting and working through ideas on a whiteboard, or continuing the conversation on the walk back from a meeting, or just popping by a teammate’s office later that day with another thought. Invention is often messy. It wanders and meanders and marinates. Serendipitous interactions help it, and there are more of those in-person than virtually. It’s also significantly easier to learn, model, practice, and strengthen our culture when we’re in the office together most of the time and surrounded by our colleagues. Innovation and our unique culture have been incredibly important in our first 29 years as a company, and I expect it will be comparably so in the next 29. + +A critical challenge we’ve continued to tackle is the rising cost to serve in our Stores fulfillment network (i.e. the cost to get a product from Amazon to a customer)—and we’ve made several changes that we believe will meaningfully improve our fulfillment costs and speed of delivery. + +During the early part of the pandemic, with many physical stores shut down, our consumer business grew at an extraordinary clip, with annual revenue increasing from $245B in 2019 to $434B in 2022. This meant that we had to double the fulfillment center footprint that we’d built over the prior 25 years and substantially accelerate building a last-mile transportation network that’s now the size of UPS (along with a new sortation center network to assist with efficiency and speed when items needed to traverse long distances)—all in the span of about two years. This was no easy feat, and hundreds of thousands of Amazonians worked very hard to make this happen. However, not surprisingly, with that rate and scale of change, there was a lot of optimization needed to yield the intended productivity. Over the last several months, we’ve scrutinized every process path in our fulfillment centers and transportation network and redesigned scores of processes and mechanisms, resulting in steady productivity gains and cost reductions over the last few quarters. There’s more work to do, but we’re pleased with our trajectory and the meaningful upside in front of us. + +We also took this occasion to make larger structural changes that set us up better to deliver lower costs and faster speed for many years to come. A good example was reevaluating how our US fulfillment network was organized. Until recently, Amazon operated one national US fulfillment network that distributed inventory from fulfillment centers spread across the entire country. If a local fulfillment center didn’t have the product a customer ordered, we’d end up shipping it from other parts of the country, costing us more and increasing delivery times. This challenge became more pronounced as our fulfillment network expanded to hundreds of additional nodes over the last few years, distributing inventory across more locations and increasing the complexity of connecting the fulfillment center and delivery station nodes efficiently. Last year, we started rearchitecting our inventory placement strategy and leveraging our larger fulfillment center footprint to move from a national fulfillment network to a regionalized network model. We made significant internal changes (e.g. placement and logistics software, processes, physical operations) to create eight interconnected regions in smaller geographic areas. Each of these regions has broad, relevant selection to operate in a largely self-sufficient way, while still being able to ship nationally when necessary. Some of the most meaningful and hard work came from optimizing the connections between this large amount of infrastructure. We also continue to improve our advanced machine learning algorithms to better predict what customers in various parts of the country will need so that we have the right inventory in the right regions at the right time. We’ve recently completed this regional roll out and like the early results. Shorter travel distances mean lower cost to serve, less impact on the environment, and customers getting their orders faster. On the latter, we’re excited about seeing more next day and same-day deliveries, and we’re on track to have our fastest Prime delivery speeds ever in 2023. Overall, we remain confident about our plans to lower costs, reduce delivery times, and build a meaningfully larger retail business with healthy operating margins. + +AWS has an $85B annualized revenue run rate, is still early in its adoption curve, but at a juncture where it’s critical to stay focused on what matters most to customers over the long-haul. Despite growing 29% year-over-year (“YoY”) in 2022 on a $62B revenue base, AWS faces short-term headwinds right now as companies are being more cautious in spending given the challenging, current macroeconomic conditions. While some companies might obsess over how they could extract as much money from customers as possible in these tight times, it’s neither what customers want nor best for customers in the long term, so we’re taking a different tack. One of the many advantages of AWS and cloud computing is that when your business grows, you can seamlessly scale up; and conversely, if your business contracts, you can choose to give us back that capacity and cease paying for it. This elasticity is unique to the cloud, and doesn’t exist when you’ve already made expensive capital investments in your own on-premises datacenters, servers, and networking gear. In AWS, like all our businesses, we’re not trying to optimize for any one quarter or year. We’re trying to build customer relationships (and a business) that outlast all of us; and as a result, our AWS sales and support teams are spending much of their time helping customers optimize their AWS spend so they can better weather this uncertain economy. Many of these AWS customers tell us that they’re not cost-cutting as much as cost-optimizing so they can take their resources and apply them to emerging and inventive new customer experiences they’re planning. Customers have appreciated this customer-focused, long-term approach, and we think it’ll bode well for both customers and AWS. + +While these short-term headwinds soften our growth rate, we like a lot of the fundamentals that we’re seeing in AWS. Our new customer pipeline is robust, as are our active migrations. Many companies use discontinuous periods like this to step back and determine what they strategically want to change, and we find an increasing number of enterprises opting out of managing their own infrastructure, and preferring to move to AWS to enjoy the agility, innovation, cost-efficiency, and security benefits. And most importantly for customers, AWS continues to deliver new capabilities rapidly (over 3,300 new features and services launched in 2022), and invest in long-term inventions that change what’s possible. + +Chip development is a good example. In last year’s letter, I mentioned the investment we were making in our general-purpose CPU processors named Graviton. Graviton2-based compute instances deliver up to 40% better price-performance than the comparable latest generation x86-based instances; and in 2022, we delivered our Graviton3 chips, providing 25% better performance than the Graviton2 processors. Further, as machine learning adoption has continued to accelerate, customers have yearned for lower-cost GPUs (the chips most commonly used for machine learning). AWS started investing years ago in these specialized chips for machine learning training and inference (inferences are the predictions or answers that a machine learning model provides). We delivered our first training chip in 2022 (“Trainium”); and for the most common machine learning models, Trainium-based instances are up to 140% faster than GPU-based instances at up to 70% lower cost. Most companies are still in the training stage, but as they develop models that graduate to large-scale production, they’ll find that most of the cost is in inference because models are trained periodically whereas inferences are happening all the time as their associated application is being exercised. We launched our first inference chips (“Inferentia”) in 2019, and they have saved companies like Amazon over a hundred million dollars in capital expense already. Our Inferentia2 chip, which just launched, offers up to four times higher throughput and ten times lower latency than our first Inferentia processor. With the enormous upcoming growth in machine learning, customers will be able to get a lot more done with AWS’s training and inference chips at a significantly lower cost. We’re not close to being done innovating here, and this long-term investment should prove fruitful for both customers and AWS. AWS is still in the early stages of its evolution, and has a chance for unusual growth in the next decade. + +Similarly high potential, Amazon’s Advertising business is uniquely effective for brands, which is part of why it continues to grow at a brisk clip. Akin to physical retailers’ advertising businesses selling shelf space, end-caps, and placement in their circulars, our sponsored products and brands offerings have been an integral part of the Amazon shopping experience for more than a decade. However, unlike physical retailers, Amazon can tailor these sponsored products to be relevant to what customers are searching for given what we know about shopping behaviors and our very deep investment in machine learning algorithms. This leads to advertising that’s more useful for customers; and as a result, performs better for brands. This is part of why our Advertising revenue has continued to grow rapidly (23% YoY in Q4 2022, 25% YoY overall for 2022 on a $31B revenue base), even as most large advertising-focused businesses’ growth have slowed over the last several quarters. + +We strive to be the best place for advertisers to build their brands. We have near and long-term opportunities that will help us achieve that mission. We’re continuing to make large investments in machine learning to keep honing our advertising selection algorithms. For the past couple of years, we’ve invested in building comprehensive, flexible, and durable planning and measurement solutions, giving marketers greater insight into advertising effectiveness. An example is Amazon Marketing Cloud (“AMC”). AMC is a “clean room” (i.e. secure digital environment) in which advertisers can run custom audience and campaign analytics across a range of first and third-party inputs, in a privacy-safe manner, to generate advertising and business insights to inform their broader marketing and sales strategies. The Advertising and AWS teams have collaborated to enable companies to store their data in AWS, operate securely in AMC with Amazon and other third-party data sources, perform analytics in AWS, and have the option to activate advertising on Amazon or third-party publishers through the Amazon Demand-Side Platform. Customers really like this concerted capability. We also see future opportunity to thoughtfully integrate advertising into our video, live sports, audio, and grocery products. We’ll continue to work hard to help brands uniquely engage with the right audience, and grow this part of our business. + +While it’s tempting in turbulent times only to focus on your existing large businesses, to build a sustainable, long-lasting, growing company that helps customers across a large number of dimensions, you can’t stop inventing and working on long-term customer experiences that can meaningfully impact customers and your company. + +When we look at new investment opportunities, we ask ourselves a few questions: + +If we were successful, could it be big and have a reasonable return on invested capital? +Is the opportunity being well-served today? +Do we have a differentiated approach? +And, do we have competence in that area? And if not, can we acquire it quickly? +If we like the answers to those questions, then we’ll invest. This process has led to some expansions that seem straightforward, and others that some folks might not have initially guessed. + +The earliest example is when we chose to expand from just selling Books, to adding categories like Music, Video, Electronics, and Toys. Back then (1998-1999), it wasn’t universally applauded, but in retrospect, it seems fairly obvious. + +The same could be said for our international Stores expansion. In 2022, our international consumer segment drove $118B of revenue. In our larger, established international consumer businesses, we’re big enough to be impacted by the slowing macroeconomic conditions; however, the growth in 2019-2021 on a large base was remarkable—30% compound annual growth rate (“CAGR”) in the UK, 26% in Germany, and 21% in Japan (excluding the impact of FX). Over the past several years, we’ve invested in new international geographies, including India, Brazil, Mexico, Australia, various European countries, the Middle East, and parts of Africa. These new countries take a certain amount of fixed investment to get started and to scale, but we like the trajectory they’re on, and their growth patterns resemble what we’ve seen in North America and our established international geographies. Emerging countries sometimes lack some of the infrastructure and services that our business relies on (e.g. payment methods, transportation services, and internet/telecom infrastructure). To solve these challenges, we continue to work with various partners to deliver solutions for customers. Ultimately, we believe that this investment in serving a broader geographical footprint will allow us to help more customers across the world, as well as build a larger free cash flow-generating consumer business. + +Beyond geographic expansion, we’ve been working to expand our customer offerings across some large, unique product retail market segments. Grocery is an $800B market segment in the US alone, with the average household shopping three to four times per week. Amazon has built a somewhat unusual, but significant grocery business over nearly 20 years. Similar to how other mass merchants entered the grocery space in the 1980s, we began by adding products typically found in supermarket aisles that don’t require temperature control such as paper products, canned and boxed food, candy and snacks, pet care, health and personal care, and beauty. However, we offer more than three million items compared to a typical supermarket’s 30K for the same categories. To date, we’ve also focused on larger pack sizes, given the current cost to serve online delivery. While we’re pleased with the size and growth of our grocery business, we aspire to serve more of our customers’ grocery needs than we do today. To do so, we need a broader physical store footprint given that most of the grocery shopping still happens in physical venues. Whole Foods Market pioneered the natural and organic specialty grocery store concept 40 years ago. Today, it’s a large and growing business that continues to raise the bar for healthy and sustainable food. Over the past year, we’ve continued to invest in the business while also making changes to drive better profitability. Whole Foods is on an encouraging path, but to have a larger impact on physical grocery, we must find a mass grocery format that we believe is worth expanding broadly. Amazon Fresh is the brand we’ve been experimenting with for a few years, and we’re working hard to identify and build the right mass grocery format for Amazon scale. Grocery is a big growth opportunity for Amazon. + +Amazon Business is another example of an investment where our ecommerce and logistics capabilities position us well to pursue this large market segment. Amazon Business allows businesses, municipalities, and organizations to procure products like office supplies and other bulk items easily and at great savings. While some areas of the economy have struggled over the past few years, Amazon Business has thrived. Why? Because the team has translated what it means to deliver selection, value, and convenience into a business procurement setting, constantly listening to and learning from customers, and innovating on their behalf. Some people have never heard of Amazon Business, but, our business customers love it. Amazon Business launched in 2015 and today drives roughly $35B in annualized gross sales. More than six million active customers, including 96 of the global Fortune 100 companies, are enjoying Amazon Business’ one-stop shopping, real-time analytics, and broad selection on hundreds of millions of business supplies. We believe that we’ve only scratched the surface of what’s possible to date, and plan to keep building the features our business customers tell us they need and want. + +While many brands and merchants successfully sell their products on Amazon’s marketplace, there are also a large number of brands and sellers who have launched their own direct-to-consumer websites. One of the challenges for these merchants is driving conversion from views to purchases. We invented Buy with Prime to help with this challenge. Buy with Prime allows third-party brands and sellers to offer their products on their own websites to our large Amazon Prime membership, and offer those customers fast, free Prime shipping and seamless checkout with their Amazon account. Buy with Prime provides merchants several additional benefits, including Amazon handling the product storage, picking, packing, delivery, payment, and any returns, all through Amazon Pay and Fulfillment by Amazon. Buy with Prime has recently been made available to all US merchants; and so far, Buy with Prime has increased shopper conversion on third-party shopping sites by 25% on average. Merchants are excited about converting more sales and fulfilling these shipments more easily, Prime members love that they can use their Prime benefits on more destinations, and Buy with Prime allows us to improve the shopping experience across more of the web. + +Expanding internationally, pursuing large retail market segments that are still nascent for Amazon, and using our unique assets to help merchants sell more effectively on their own websites are somewhat natural extensions for us. There are also a few investments we’re making that are further from our core businesses, but where we see unique opportunity. In 2003, AWS would have been a classic example. In 2023, Amazon Healthcare and Kuiper are potential analogues. + +Our initial efforts in Healthcare began with pharmacy, which felt less like a major departure from ecommerce. For years, Amazon customers had asked us when we’d offer them an online pharmacy as their frustrations mounted with current providers. Launched in 2020, Amazon Pharmacy is a full-service, online pharmacy that offers transparent pricing, easy refills, and savings for Prime members. The business is growing quickly, and continues to innovate. An example is Amazon Pharmacy’s recent launch of RxPass, which for a $5 per month flat fee, enables Prime members to get as many of the eligible prescription medications as they need for dozens of common conditions, like high blood pressure, acid reflux, and anxiety. However, our customers have continued to express a strong desire for Amazon to provide a better alternative to the inefficient and unsatisfying broader healthcare experience. We decided to start with primary care as it’s a prevalent first stop in the patient journey. We evaluated and studied the existing landscape extensively, including some early Amazon experiments like Amazon Care. During this process, we identified One Medical’s patient-focused experience as an excellent foundation upon which to build our future business; and in July 2022, we announced our acquisition of One Medical. There are several elements that customers love about One Medical. It has a fantastic digital app that makes it easy for patients to discuss issues with a medical practitioner via chat or video conference. If a physical visit is required, One Medical has offices in cities across the US where patients can book same or next day appointments. One Medical has relationships with specialty physicians in each of its cities and works closely with local hospital systems to make seeing specialists easy, so One Medical members can quickly access these resources when needed. Going forward, we strongly believe that One Medical and Amazon will continue to innovate together to change what primary care will look like for customers. + +Kuiper is another example of Amazon innovating for customers over the long term in an area where there’s high customer need. Our vision for Kuiper is to create a low-Earth orbit satellite system to deliver high-quality broadband internet service to places around the world that don’t currently have it. There are hundreds of millions of households and businesses who don’t have reliable access to the internet. Imagine what they’ll be able to do with reliable connectivity, from people taking online education courses, using financial services, starting their own businesses, doing their shopping, enjoying entertainment, to businesses and governments improving their coverage, efficiency, and operations. Kuiper will deliver not only accessibility, but affordability. Our teams have developed low-cost antennas (i.e. customer terminals) that will lower the barriers to access. We recently unveiled the new terminals that will communicate with the satellites passing overhead, and we expect to be able to produce our standard residential version for less than $400 each. They’re small: 11 inches square, 1 inch thick, and weigh less than 5 pounds without their mounting bracket, but they deliver speeds up to 400 megabits per second. And they’re powered by Amazon-designed baseband chips. We’re preparing to launch two prototype satellites to test the entire end-to-end communications network this year, and plan to be in beta with commercial customers in 2024. The customer reaction to what we’ve shared thus far about Kuiper has been very positive, and we believe Kuiper represents a very large potential opportunity for Amazon. It also shares several similarities to AWS in that it’s capital intensive at the start, but has a large prospective consumer, enterprise, and government customer base, significant revenue and operating profit potential, and relatively few companies with the technical and inventive aptitude, as well as the investment hypothesis to go after it. + +One final investment area that I’ll mention, that’s core to setting Amazon up to invent in every area of our business for many decades to come, and where we’re investing heavily is Large Language Models (“LLMs”) and Generative AI. Machine learning has been a technology with high promise for several decades, but it’s only been the last five to ten years that it’s started to be used more pervasively by companies. This shift was driven by several factors, including access to higher volumes of compute capacity at lower prices than was ever available. Amazon has been using machine learning extensively for 25 years, employing it in everything from personalized ecommerce recommendations, to fulfillment center pick paths, to drones for Prime Air, to Alexa, to the many machine learning services AWS offers (where AWS has the broadest machine learning functionality and customer base of any cloud provider). More recently, a newer form of machine learning, called Generative AI, has burst onto the scene and promises to significantly accelerate machine learning adoption. Generative AI is based on very Large Language Models (trained on up to hundreds of billions of parameters, and growing), across expansive datasets, and has radically general and broad recall and learning capabilities. We have been working on our own LLMs for a while now, believe it will transform and improve virtually every customer experience, and will continue to invest substantially in these models across all of our consumer, seller, brand, and creator experiences. Additionally, as we’ve done for years in AWS, we’re democratizing this technology so companies of all sizes can leverage Generative AI. AWS is offering the most price-performant machine learning chips in Trainium and Inferentia so small and large companies can afford to train and run their LLMs in production. We enable companies to choose from various LLMs and build applications with all of the AWS security, privacy and other features that customers are accustomed to using. And, we’re delivering applications like AWS’s CodeWhisperer, which revolutionizes developer productivity by generating code suggestions in real time. I could write an entire letter on LLMs and Generative AI as I think they will be that transformative, but I’ll leave that for a future letter. Let’s just say that LLMs and Generative AI are going to be a big deal for customers, our shareholders, and Amazon. + +So, in closing, I’m optimistic that we’ll emerge from this challenging macroeconomic time in a stronger position than when we entered it. There are several reasons for it and I’ve mentioned many of them above. But, there are two relatively simple statistics that underline our immense future opportunity. While we have a consumer business that’s $434B in 2022, the vast majority of total market segment share in global retail still resides in physical stores (roughly 80%). And, it’s a similar story for Global IT spending, where we have AWS revenue of $80B in 2022, with about 90% of Global IT spending still on-premises and yet to migrate to the cloud. As these equations steadily flip—as we’re already seeing happen—we believe our leading customer experiences, relentless invention, customer focus, and hard work will result in significant growth in the coming years. And, of course, this doesn’t include the other businesses and experiences we’re pursuing at Amazon, all of which are still in their early days. + +I strongly believe that our best days are in front of us, and I look forward to working with my teammates at Amazon to make it so. \ No newline at end of file diff --git a/03_QuestionAnswering/00_qa_w_bedrock_titan.ipynb b/03_QuestionAnswering/00_qa_w_bedrock_titan.ipynb new file mode 100644 index 00000000..4633fb82 --- /dev/null +++ b/03_QuestionAnswering/00_qa_w_bedrock_titan.ipynb @@ -0,0 +1,432 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Question and answers with Bedrock\n", + "\n", + "Question Answering (QA) is an important task that involves extracting answers to factual queries posed in natural language. Typically, a QA system processes a query against a knowledge base containing structured or unstructured data and generates a response with accurate information. Ensuring high accuracy is key to developing a useful, reliable and trustworthy question answering system, especially for enterprise use cases. \n", + "\n", + "Generative AI models like Titan and Claude use probability distributions to generate responses to questions. These models are trained on vast amounts of text data, which allows them to predict what comes next in a sequence or what word might follow a particular word. However, these models are not able to provide accurate or deterministic answers to every question because there is always some degree of uncertainty in the data. Enterprises need to query domain specific and proprietary data and use the information to answer questions, and more generally data on which the model has not been trained on. \n", + "\n", + "In this module, we will demonstrate how to use the Bedrock Titan model to provide information response to queries.\n", + "\n", + "In this example we will be running the Model with no context and then manually try and provide the context. There is no `RAG` augmentation happening here. This approach works with short documents or single-ton applications, it might not scale to enterprise level question answering where there could be large enterprise documents which cannot all be fit into the prompt sent to the model. \n", + "\n", + "### Challenges\n", + "- How to have the model return factual answers for question\n", + "\n", + "### Proposal\n", + "To the above challenges, this notebook proposes the following strategy\n", + "#### Prepare documents\n", + "Before being able to answer the questions, the documents must be processed and a stored in a document store index\n", + "- Here we will send in the request with the full relevant context to the model and expect the response back\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import oss\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Section 1: Q&A with the knowledge of the model\n", + "In this section we try to use models provided by Bedrock service to answer questions based on the knowledge it gained during the training phase." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this Notebook we will be using the `invoke_model()` method of Amazon Bedrock client. The mandatory parameters required to use this method are `modelId` which represents the Amazon Bedrock model ARN, and `body` which is the prompt for our task. The `body` prompt changes depending on the foundational model provider selected. We walk through this in detail below\n", + "\n", + "```\n", + "{\n", + " modelId= model_id,\n", + " contentType= \"application/json\",\n", + " accept= \"application/json\",\n", + " body=body\n", + "}\n", + "\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Scenario\n", + "\n", + "We are trying to model a situation where we are asking the model to provide information to change the tires. We will first ask the model based on the training data to provide us with an answer for our specific make and model of the car. This technique is called 'Zero Shot` . We will soon realize that even though the model seems to be returning the answers which seem relevant to our specific car, it is actually halucinating. The reason we can find that out is because we run through a fake car and we get almost similiar scenario and answer back\n", + "\n", + "This situation implies we need to augment the model's training with additional data about our specific make and model of the car and then the model will return us very specific answer. In this notebook we will not use any external sources to augment the data but simulate how a RAG based augmentation system would work. \n", + "\n", + "To run our final test we provide a full detailed section from our manual which goes and explains for our specific car how the tire changes work and then we will test to get a curated response back from the model\n", + "\n", + "## Task\n", + "\n", + "To start the process, you select one of the models provided by Bedrock. For this use case you select Titan. These models are able to answer generic questions about cars.\n", + "\n", + "For example you ask the Titan model to tell you how to change a flat tire on your Audi.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prompt_data = \"\"\"You are an helpful assistant. Answer questions in a concise way. If you are unsure about the\n", + "answer say 'I am unsure'\n", + "\n", + "Question: How can I fix a flat tire on my Audi A8?\n", + "Answer:\"\"\"\n", + "parameters = {\n", + " \"maxTokenCount\":512,\n", + " \"stopSequences\":[],\n", + " \"temperature\":0,\n", + " \"topP\":0.9\n", + " }" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Let's invoke of the model passing in the JSON body to generate the response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "body = json.dumps({\"inputText\": prompt_data, \"textGenerationConfig\": parameters})\n", + "modelId = \"amazon.titan-tg1-large\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "answer = response_body.get(\"results\")[0].get(\"outputText\")\n", + "print_ww(answer.strip())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model is able to give you an answer outlining the process of changing the car flat tire, but the same explanation could be valid for any car. Unfortunately this is not the right answer for an Audi A8, which does not have a spare tire. This is because the model has been trained on data that contains instructions about changing tires on cars.\n", + "\n", + "Another example of this issue can be seen by trying to ask the same question for a completely fake car brand and model, say a Amazon Tirana." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prompt_data = \"How can I fix a flat tire on my Amazon Tirana?\"\n", + "body = json.dumps({\"inputText\": prompt_data, \"textGenerationConfig\": parameters})\n", + "modelId = \"amazon.titan-tg1-large\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "answer = response_body.get(\"results\")[0].get(\"outputText\")\n", + "print_ww(answer.strip())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see the answer that the model provides is plausible but it is for a bike and not a car. The model assumed that the Amazon Tirana was a bike. The model is _hallucinating_.\n", + "\n", + "How can we fix this issue and have the model provide answers based on the specific instructions valid for my car model?\n", + "\n", + "Research by Facebook in 2020 found that LLM knowledge could be augmented on the fly by providing the additional knowledge base as part of the prompt. This approach is called Retrieval Augmented Generation, or RAG.\n", + "\n", + "Let's see how we can use this to improve our application.\n", + "\n", + "The following is an excerpt of the manual of the Audi A8 (in reality it is not the real manual, but let's assume so). This document is also conveniently short enough to fit entirely in the prompt of Titan Large. \n", + "\n", + "```\n", + "Tires and tire pressure:\n", + "\n", + "Tires are made of black rubber and are mounted on the wheels of your vehicle. They provide the necessary grip for driving, cornering, and braking. Two important factors to consider are tire pressure and tire wear, as they can affect the performance and handling of your car.\n", + "\n", + "Where to find recommended tire pressure:\n", + "\n", + "You can find the recommended tire pressure specifications on the inflation label located on the driver's side B-pillar of your vehicle. Alternatively, you can refer to your vehicle's manual for this information. The recommended tire pressure may vary depending on the speed and the number of occupants or maximum load in the vehicle.\n", + "\n", + "Reinflating the tires:\n", + "\n", + "When checking tire pressure, it is important to do so when the tires are cold. This means allowing the vehicle to sit for at least three hours to ensure the tires are at the same temperature as the ambient temperature.\n", + "\n", + "To reinflate the tires:\n", + "\n", + " Check the recommended tire pressure for your vehicle.\n", + " Follow the instructions provided on the air pump and inflate the tire(s) to the correct pressure.\n", + " In the center display of your vehicle, open the \"Car status\" app.\n", + " Navigate to the \"Tire pressure\" tab.\n", + " Press the \"Calibrate pressure\" option and confirm the action.\n", + " Drive the car for a few minutes at a speed above 30 km/h to calibrate the tire pressure.\n", + "\n", + "Note: In some cases, it may be necessary to drive for more than 15 minutes to clear any warning symbols or messages related to tire pressure. If the warnings persist, allow the tires to cool down and repeat the above steps.\n", + "\n", + "Flat Tire:\n", + "\n", + "If you encounter a flat tire while driving, you can temporarily seal the puncture and reinflate the tire using a tire mobility kit. This kit is typically stored under the lining of the luggage area in your vehicle.\n", + "\n", + "Instructions for using the tire mobility kit:\n", + "\n", + " Open the tailgate or trunk of your vehicle.\n", + " Lift up the lining of the luggage area to access the tire mobility kit.\n", + " Follow the instructions provided with the tire mobility kit to seal the puncture in the tire.\n", + " After using the kit, make sure to securely put it back in its original location.\n", + " Contact Rivesla or an appropriate service for assistance with disposing of and replacing the used sealant bottle.\n", + "\n", + "Please note that the tire mobility kit is a temporary solution and is designed to allow you to drive for a maximum of 10 minutes or 8 km (whichever comes first) at a maximum speed of 80 km/h. It is advisable to replace the punctured tire or have it repaired by a professional as soon as possible.\n", + "```\n", + "\n", + " \n", + "Next, we take this text and \"embed\" it in the prompt together with the original question. The prompt is also build in such a way as to try to hint the model to only look at the information provided as context." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "context = \"\"\"Tires and tire pressure:\n", + "\n", + "Tires are made of black rubber and are mounted on the wheels of your vehicle. They provide the necessary grip for driving, cornering, and braking. Two important factors to consider are tire pressure and tire wear, as they can affect the performance and handling of your car.\n", + "\n", + "Where to find recommended tire pressure:\n", + "\n", + "You can find the recommended tire pressure specifications on the inflation label located on the driver's side B-pillar of your vehicle. Alternatively, you can refer to your vehicle's manual for this information. The recommended tire pressure may vary depending on the speed and the number of occupants or maximum load in the vehicle.\n", + "\n", + "Reinflating the tires:\n", + "\n", + "When checking tire pressure, it is important to do so when the tires are cold. This means allowing the vehicle to sit for at least three hours to ensure the tires are at the same temperature as the ambient temperature.\n", + "\n", + "To reinflate the tires:\n", + "\n", + " Check the recommended tire pressure for your vehicle.\n", + " Follow the instructions provided on the air pump and inflate the tire(s) to the correct pressure.\n", + " In the center display of your vehicle, open the \"Car status\" app.\n", + " Navigate to the \"Tire pressure\" tab.\n", + " Press the \"Calibrate pressure\" option and confirm the action.\n", + " Drive the car for a few minutes at a speed above 30 km/h to calibrate the tire pressure.\n", + "\n", + "Note: In some cases, it may be necessary to drive for more than 15 minutes to clear any warning symbols or messages related to tire pressure. If the warnings persist, allow the tires to cool down and repeat the above steps.\n", + "\n", + "Flat Tire:\n", + "\n", + "If you encounter a flat tire while driving, you can temporarily seal the puncture and reinflate the tire using a tire mobility kit. This kit is typically stored under the lining of the luggage area in your vehicle.\n", + "\n", + "Instructions for using the tire mobility kit:\n", + "\n", + " Open the tailgate or trunk of your vehicle.\n", + " Lift up the lining of the luggage area to access the tire mobility kit.\n", + " Follow the instructions provided with the tire mobility kit to seal the puncture in the tire.\n", + " After using the kit, make sure to securely put it back in its original location.\n", + " Contact Audi or an appropriate service for assistance with disposing of and replacing the used sealant bottle.\n", + "\n", + "Please note that the tire mobility kit is a temporary solution and is designed to allow you to drive for a maximum of 10 minutes or 8 km (whichever comes first) at a maximum speed of 80 km/h. It is advisable to replace the punctured tire or have it repaired by a professional as soon as possible.\"\"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Let's take the whole excerpt and pass it to the model together with the question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "question = \"How can I fix a flat tire on my Audi A8?\"\n", + "prompt_data = f\"\"\"Answer the question based only on the information provided between ## and give step by step guide.\n", + "#\n", + "{context}\n", + "#\n", + "\n", + "Question: {question}\n", + "Answer:\"\"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Invoke the model via boto3 to generate the response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "body = json.dumps({\"inputText\": prompt_data, \"textGenerationConfig\": parameters})\n", + "modelId = \"amazon.titan-tg1-large\" # change this to use a different version from the model provider\n", + "accept = \"application/json\"\n", + "contentType = \"application/json\"\n", + "\n", + "response = boto3_bedrock.invoke_model(\n", + " body=body, modelId=modelId, accept=accept, contentType=contentType\n", + ")\n", + "response_body = json.loads(response.get(\"body\").read())\n", + "answer = response_body.get(\"results\")[0].get(\"outputText\")\n", + "print_ww(answer.strip())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the model takes a while to understand the context and generate relevant answer for you, this might lead to poor experience for the user since they have to wait for a response for some seconds.\n", + "\n", + "Bedrock also supports streaming capability where the service generates an output as the model is generating tokens. Here is an example of how you can do that." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import display_markdown,Markdown,clear_output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response = boto3_bedrock.invoke_model_with_response_stream(body=body, modelId=modelId, accept=accept, contentType=contentType)\n", + "stream = response.get('body')\n", + "output = []\n", + "i = 1\n", + "if stream:\n", + " for event in stream:\n", + " chunk = event.get('chunk')\n", + " if chunk:\n", + " chunk_obj = json.loads(chunk.get('bytes').decode())\n", + " text = chunk_obj['outputText']\n", + " clear_output(wait=True)\n", + " output.append(text)\n", + " display_markdown(Markdown(''.join(output)))\n", + " i+=1" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Summary\n", + "\n", + "We see the response is a summarized and step by step instruction of how to change the tires . This simple example shows how you can leverage the `RAG` or the Augmentation process to generate a curated response back" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/03_QuestionAnswering/01_qa_w_rag_claude.ipynb b/03_QuestionAnswering/01_qa_w_rag_claude.ipynb new file mode 100644 index 00000000..d13895eb --- /dev/null +++ b/03_QuestionAnswering/01_qa_w_rag_claude.ipynb @@ -0,0 +1,535 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Retrieval Augmented Question & Answering with Amazon Bedrock using LangChain\n", + "\n", + "### Context\n", + "Previously we saw that the model told us how to to change the tire, however we had to manually provide it with the relevant data and provide the contex ourselves. We explored the approach to leverage the model availabe under Bedrock and ask questions based on it's knowledge learned during training as well as providing manual context. While that approach works with short documents or single-ton applications, it fails to scale to enterprise level question answering where there could be large enterprise documents which cannot all be fit into the prompt sent to the model. \n", + "\n", + "### Pattern\n", + "We can improve upon this process by implementing an architecure called Retreival Augmented Generation (RAG). RAG retrieves data from outside the language model (non-parametric) and augments the prompts by adding the relevant retrieved data in context. \n", + "\n", + "In this notebook we explain how to approach the pattern of Question Answering to find and leverage the documents to provide answers to the user questions.\n", + "\n", + "### Challenges\n", + "- How to manage large document(s) that exceed the token limit\n", + "- How to find the document(s) relevant to the question being asked\n", + "\n", + "### Proposal\n", + "To the above challenges, this notebook proposes the following strategy\n", + "#### Prepare documents\n", + "![Embeddings](./images/Embeddings_lang.png)\n", + "\n", + "Before being able to answer the questions, the documents must be processed and a stored in a document store index\n", + "- Load the documents\n", + "- Process and split them into smaller chunks\n", + "- Create a numerical vector representation of each chunk using Amazon Bedrock Titan Embeddings model\n", + "- Create an index using the chunks and the corresponding embeddings\n", + "#### Ask question\n", + "![Question](./images/Chatbot_lang.png)\n", + "\n", + "When the documents index is prepared, you are ready to ask the questions and relevant documents will be fetched based on the question being asked. Following steps will be executed.\n", + "- Create an embedding of the input question\n", + "- Compare the question embedding with the embeddings in the index\n", + "- Fetch the (top N) relevant document chunks\n", + "- Add those chunks as part of the context in the prompt\n", + "- Send the prompt to the model under Amazon Bedrock\n", + "- Get the contextual answer based on the documents retrieved" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Usecase\n", + "#### Dataset\n", + "To explain this architecture pattern we are using the documents from IRS. These documents explain topics such as:\n", + "- Original Issue Discount (OID) Instruments\n", + "- Reporting Cash Payments of Over $10,000 to IRS\n", + "- Employer's Tax Guide\n", + "\n", + "#### Persona\n", + "Let's assume a persona of a layman who doesn't have an understanding of how IRS works and if some actions have implications or not.\n", + "\n", + "The model will try to answer from the documents in easy language.\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Implementation\n", + "In order to follow the RAG approach this notebook is using the LangChain framework where it has integrations with different services and tools that allow efficient building of patterns such as RAG. We will be using the following tools:\n", + "\n", + "- **LLM (Large Language Model)**: Anthropic Claude V1 available through Amazon Bedrock\n", + "\n", + " This model will be used to understand the document chunks and provide an answer in human friendly manner.\n", + "- **Embeddings Model**: Amazon Titan Embeddings available through Amazon Bedrock\n", + "\n", + " This model will be used to generate a numerical representation of the textual documents\n", + "- **Document Loader**: PDF Loader available through LangChain\n", + "\n", + " This is the loader that can load the documents from a source, for the sake of this notebook we are loading the sample files from a local path. This could easily be replaced with a loader to load documents from enterprise internal systems.\n", + "\n", + "- **Vector Store**: FAISS available through LangChain\n", + "\n", + " In this notebook we are using this in-memory vector-store to store both the embeddings and the documents. In an enterprise context this could be replaced with a persistent store such as AWS OpenSearch, RDS Postgres with pgVector, ChromaDB, Pinecone or Weaviate.\n", + "- **Index**: VectorIndex\n", + "\n", + " The index helps to compare the input embedding and the document embeddings to find relevant document\n", + "- **Wrapper**: wraps index, vector store, embeddings model and the LLM to abstract away the logic from the user.\n", + "\n", + "### Setup\n", + "To run this notebook you would need to install 2 more dependencies, [PyPDF](https://pypi.org/project/pypdf/) and [FAISS vector store](https://github.com/facebookresearch/faiss).\n", + "\n", + "\n", + "\n", + "Then begin with instantiating the LLM and the Embeddings model. Here we are using Anthropic Claude to demonstrate the use case.\n", + "\n", + "Note: It is possible to choose other models available with Bedrock. You can replace the `model_id` as follows to change the model.\n", + "\n", + "`llm = Bedrock(model_id=\"amazon.titan-tg1-large\")`\n", + "\n", + "Available models under Bedrock have the following IDs:\n", + "- `amazon.titan-tg1-large`\n", + "- `ai21.j2-grande-instruct`\n", + "- `ai21.j2-jumbo-instruct`\n", + "- `anthropic.claude-instant-v1`\n", + "- `anthropic.claude-v1`" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install langchain==0.0.190 --quiet\n", + "%pip install pypdf==3.8.1 faiss-cpu==1.7.4 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup langchain\n", + "\n", + "We create an instance of the Bedrock classes for the LLM and the embedding models. At the time of writing, Bedrock supports one embedding model and therefore we do not need to specify any model id." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# We will be using the Titan Embeddings Model to generate our Embeddings.\n", + "from langchain.embeddings import BedrockEmbeddings\n", + "from langchain.llms.bedrock import Bedrock\n", + "\n", + "# - create the Anthropic Model\n", + "llm = Bedrock(model_id=\"anthropic.claude-v1\", client=boto3_bedrock, model_kwargs={'max_tokens_to_sample':200})\n", + "bedrock_embeddings = BedrockEmbeddings(client=boto3_bedrock)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Preparation\n", + "Let's first download some of the files to build our document store. For this example we will be using public IRS documents from [here](https://www.irs.gov/publications)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from urllib.request import urlretrieve\n", + "files = [\n", + " 'https://www.irs.gov/pub/irs-pdf/p1544.pdf',\n", + " 'https://www.irs.gov/pub/irs-pdf/p15.pdf',\n", + " 'https://www.irs.gov/pub/irs-pdf/p1212.pdf'\n", + "]\n", + "for url in files:\n", + " file_path = './data/' + url.split('/')[-1]\n", + " urlretrieve(url, file_path)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After downloading we can load the documents with the help of [DirectoryLoader from PyPDF available under LangChain](https://python.langchain.com/en/latest/reference/modules/document_loaders.html) and splitting them into smaller chunks.\n", + "\n", + "Note: The retrieved document/text should be large enough to contain enough information to answer a question; but small enough to fit into the LLM prompt. Also the embeddings model has a limit of the length of input tokens limited to 512 tokens, which roughly translates to ~2000 characters. For the sake of this use-case we are creating chunks of roughly 1000 characters with an overlap of 100 characters using [RecursiveCharacterTextSplitter](https://python.langchain.com/en/latest/modules/indexes/text_splitters/examples/recursive_text_splitter.html)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter\n", + "from langchain.document_loaders import PyPDFLoader, PyPDFDirectoryLoader\n", + "\n", + "loader = PyPDFDirectoryLoader(\"./data/\")\n", + "\n", + "documents = loader.load()\n", + "# - in our testing Character split works better with this PDF data set\n", + "text_splitter = RecursiveCharacterTextSplitter(\n", + " # Set a really small chunk size, just to show.\n", + " chunk_size = 1000,\n", + " chunk_overlap = 100,\n", + ")\n", + "docs = text_splitter.split_documents(documents)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "avg_doc_length = lambda documents: sum([len(doc.page_content) for doc in documents])//len(documents)\n", + "avg_char_count_pre = avg_doc_length(documents)\n", + "avg_char_count_post = avg_doc_length(docs)\n", + "print(f'Average length among {len(documents)} documents loaded is {avg_char_count_pre} characters.')\n", + "print(f'After the split we have {len(docs)} documents more than the original {len(documents)}.')\n", + "print(f'Average length among {len(docs)} documents (after split) is {avg_char_count_post} characters.')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We had 3 PDF documents which have been split into smaller ~500 chunks.\n", + "\n", + "Now we can see how a sample embedding would look like for one of those chunks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sample_embedding = np.array(bedrock_embeddings.embed_query(docs[0].page_content))\n", + "print(\"Sample embedding of a document chunk: \", sample_embedding)\n", + "print(\"Size of the embedding: \", sample_embedding.shape)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Following the similar pattern embeddings could be generated for the entire corpus and stored in a vector store.\n", + "\n", + "This can be easily done using [FAISS](https://github.com/facebookresearch/faiss) implementation inside [LangChain](https://python.langchain.com/en/latest/modules/indexes/vectorstores/examples/faiss.html) which takes input the embeddings model and the documents to create the entire vector store. Using the Index Wrapper we can abstract away most of the heavy lifting such as creating the prompt, getting embeddings of the query, sampling the relevant documents and calling the LLM. [VectorStoreIndexWrapper](https://python.langchain.com/en/latest/modules/indexes/getting_started.html#one-line-index-creation) helps us with that.\n", + "\n", + "**⚠️⚠️⚠️ NOTE: it might take few minutes to run the following cell ⚠️⚠️⚠️**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.chains.question_answering import load_qa_chain\n", + "from langchain.vectorstores import FAISS\n", + "from langchain.indexes import VectorstoreIndexCreator\n", + "from langchain.indexes.vectorstore import VectorStoreIndexWrapper\n", + "\n", + "vectorstore_faiss = FAISS.from_documents(\n", + " docs,\n", + " bedrock_embeddings,\n", + ")\n", + "\n", + "wrapper_store_faiss = VectorStoreIndexWrapper(vectorstore=vectorstore_faiss)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Question Answering\n", + "\n", + "Now that we have our vector store in place, we can start asking questions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "query = \"Is it possible that I get sentenced to jail due to failure in filings?\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first step would be to create an embedding of the query such that it could be compared with the documents" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "query_embedding = vectorstore_faiss.embedding_function(query)\n", + "np.array(query_embedding)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use this embedding of the query to then fetch relevant documents.\n", + "Now our query is represented as embeddings we can do a similarity search of our query against our data store providing us with the most relevant information." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "relevant_documents = vectorstore_faiss.similarity_search_by_vector(query_embedding)\n", + "print(f'{len(relevant_documents)} documents are fetched which are relevant to the query.')\n", + "print('----')\n", + "for i, rel_doc in enumerate(relevant_documents):\n", + " print_ww(f'## Document {i+1}: {rel_doc.page_content}.......')\n", + " print('---')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have the relevant documents, it's time to use the LLM to generate an answer based on these documents. \n", + "\n", + "We will take our inital prompt, together with our relevant documents which were retreived based on the results of our similarity search. We then by combining these create a prompt that we feed back to the model to get our result. At this point our model should give us highly informed information on how we can change the tire of our specific car as it was outlined in our manual.\n", + "\n", + "LangChain provides an abstraction of how this can be done easily." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Quick way\n", + "You have the possibility to use the wrapper provided by LangChain which wraps around the Vector Store and takes input the LLM.\n", + "This wrapper performs the following steps behind the scences:\n", + "- Takes input the question\n", + "- Create question embedding\n", + "- Fetch relevant documents\n", + "- Stuff the documents and the question into a prompt\n", + "- Invoke the model with the prompt and generate the answer in a human readable manner." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "answer = wrapper_store_faiss.query(question=query, llm=llm)\n", + "print_ww(answer)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's ask a different question:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "query_2 = \"What is the difference between market discount and qualified stated interest\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "answer_2 = wrapper_store_faiss.query(question=query_2, llm=llm)\n", + "print_ww(answer_2)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Customisable option\n", + "In the above scenario you explored the quick and easy way to get a context-aware answer to your question. Now let's have a look at a more customizable option with the helpf of [RetrievalQA](https://python.langchain.com/en/latest/modules/chains/index_examples/vector_db_qa.html) where you can customize how the documents fetched should be added to prompt using `chain_type` parameter. Also, if you want to control how many relevant documents should be retrieved then change the `k` parameter in the cell below to see different outputs. In many scenarios you might want to know which were the source documents that the LLM used to generate the answer, you can get those documents in the output using `return_source_documents` which returns the documents that are added to the context of the LLM prompt. `RetrievalQA` also allows you to provide a custom [prompt template](https://python.langchain.com/en/latest/modules/prompts/prompt_templates/getting_started.html) which can be specific to the model.\n", + "\n", + "Note: In this example we are using Anthropic Claude as the LLM under Amazon Bedrock, this particular model performs best if the inputs are provided under `Human:` and the model is requested to generate an output after `Assistant:`. In the cell below you see an example of how to control the prompt such that the LLM stays grounded and doesn't answer outside the context." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from langchain.chains import RetrievalQA\n", + "from langchain.prompts import PromptTemplate\n", + "\n", + "prompt_template = \"\"\"Human: Use the following pieces of context to provide a concise answer to the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n", + "\n", + "{context}\n", + "\n", + "Question: {question}\n", + "Assistant:\"\"\"\n", + "PROMPT = PromptTemplate(\n", + " template=prompt_template, input_variables=[\"context\", \"question\"]\n", + ")\n", + "\n", + "qa = RetrievalQA.from_chain_type(\n", + " llm=llm,\n", + " chain_type=\"stuff\",\n", + " retriever=vectorstore_faiss.as_retriever(\n", + " search_type=\"similarity\", search_kwargs={\"k\": 3}\n", + " ),\n", + " return_source_documents=True,\n", + " chain_type_kwargs={\"prompt\": PROMPT}\n", + ")\n", + "query = \"Is it possible that I get sentenced to jail due to failure in filings?\"\n", + "result = qa({\"query\": query})\n", + "print_ww(result['result'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result['source_documents']" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "Congratulations on completing this moduel on retrieval augmented generation! This is an important technique that combines the power of large language models with the precision of retrieval methods. By augmenting generation with relevant retrieved examples, the responses we recieved become more coherent, consistent and grounded. You should feel proud of learning this innovative approach. I'm sure the knowledge you've gained will be very useful for building creative and engaging language generation systems. Well done!\n", + "\n", + "In the above implementation of RAG based Question Answering we have explored the following concepts and how to implement them using Amazon Bedrock and it's LangChain integration.\n", + "\n", + "- Loading documents and generating embeddings to create a vector store\n", + "- Retrieving documents to the question\n", + "- Preparing a prompt which goes as input to the LLM\n", + "- Present an answer in a human friendly manner\n", + "\n", + "### Take-aways\n", + "- Experiment with different Vector Stores\n", + "- Leverage various models available under Amazon Bedrock to see alternate outputs\n", + "- Explore options such as persistent storage of embeddings and document chunks\n", + "- Integration with enterprise data stores\n", + "\n", + "# Thank You" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/03_QuestionAnswering/README.md b/03_QuestionAnswering/README.md new file mode 100644 index 00000000..0641c565 --- /dev/null +++ b/03_QuestionAnswering/README.md @@ -0,0 +1,55 @@ +# Question Answering +## Introduction + +Question Answering (QA) is an important task that involves extracting answers to factual queries posed in natural language. Typically, a QA system processes a query against a knowledge base containing structured or unstructured data and generates a response with accurate information. Ensuring high accuracy is key to developing a useful, reliable and trustworthy question answering system, especially for enterprise use cases. + +Generative AI models like Amazon Titan, Anthropic Claude and AI21 Jurassic 2 use probability distributions to generate responses to questions. These models are trained on vast amounts of text data, which allows them to predict what comes next in a sequence or what word might follow a particular word. However, these models are not able to provide accurate or deterministic answers to every question because there is always some degree of uncertainty in the data. + +Enterprises need to query domain specific and proprietary data and use the information to answer questions, and more generally data on which the model has not been trained on. + +## Patterns + +In these labs we will explore two QA patterns: + +1. First where questions are sent to the model where by we will get answers based on the base model with no modifications. +This poses a challenge, +outputs are generic to common world information, not specific to a customers specific business, and there is no source of information. + + ![Q&A](./images/51-simple-rag.png) + +2. The Second Pattern where we use Retrieval Augmented Generation which improves upon the first where we concatenate our questions with as much relevant context as possible, which is likely to contain the answers or information we are looking for. +The challenge here, There is a limit on how much contextual information can be used is determined by the token limit of the model. + ![RAG Q&A](./images/52-rag-with-external-data.png) + +This can be overcome by using Retrival Augmented Generation (RAG) + +## How Retrieval Augmented Generation (RAG) works + +RAG combines the use of embeddings to index the corpus of the documents to build a knowledge base and the use of an LLM to extract the information from a subset of the documents in the knowledge base. + + +As a preparation step for RAG, the documents building up the knowledge base are split in chunks of a fixed size (matching the maximum input size of the selected embedding model), and are then passed to the model to obtain the embedding vector. The embedding together with the original chunk of the document and additional metadata are stored in a vector database. The vector database is optimized to efficiently perform similarity search between vectors. + +## Target audience +Customers with data stores that may be private or frequently changing. RAG approach solves 2 problems, customers having the following challenges can benefit from this lab. +- Freshness of data: if the data is continously changing and model must only provide latest information. +- Actuality of knowledge: if there is some domain specific knowledge that model might not have understanding of, and the model must output as per the domain data. + +## Objective + +After this module you should have a good understanding of: + +1. What is the QA pattern and how it leverages Retrieval Augmented Generation (RAG) +2. How to use Bedrock to implement a Q&A RAG solution + + +In this module we will walk you through how to implement the QA pattern with Bedrock. +Additionally, we have prepared the embeddings to be loaded in the vector database for you. + +Take note you can use Titan Embeddings to obtain the embeddings of the user question, then use those embedding to retrieve the most relevant documents from the vector database, build a prompt concatenating the top 3 documents and invoke the LLM model via Bedrock. + +## Notebooks + +1. [Q&A with model knowledge and small context](./00_qa_w_bedrock_titan.ipynb) + +2. [Q&A with RAG](./01_qa_w_rag_claude.ipynb) \ No newline at end of file diff --git a/03_QuestionAnswering/images/51-simple-rag.png b/03_QuestionAnswering/images/51-simple-rag.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7c0baed137d528d99e731dbd28c52d7b5d7f67 GIT binary patch literal 83057 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%0A-N_1QX(|muMJ3g|jhk@k4 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

?IbEOQBp-F4g#@gulSl>-j*Gw#7JubmLY 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 HKm30H?F(LT literal 0 HcmV?d00001 diff --git a/03_QuestionAnswering/images/52-rag-with-external-data.png b/03_QuestionAnswering/images/52-rag-with-external-data.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbb9a7f57e6524fc623d32a0401aba203c3e803 GIT binary patch literal 145508 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

xVTrKfm!{6*Jcb? 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 C@i8m_ literal 0 HcmV?d00001 diff --git a/04_Chatbot/images/embeddings_lang.png b/04_Chatbot/images/embeddings_lang.png new file mode 100644 index 0000000000000000000000000000000000000000..11dae65b2603f57b6e1473b5c7c020015a0742c2 GIT binary patch literal 8050 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 literal 0 HcmV?d00001 diff --git a/05_Image/Bedrock Stable Diffusion XL.ipynb b/05_Image/Bedrock Stable Diffusion XL.ipynb new file mode 100644 index 00000000..8d59b93d --- /dev/null +++ b/05_Image/Bedrock Stable Diffusion XL.ipynb @@ -0,0 +1,314 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction to Bedrock - Generating images using Stable Diffusion\n", + "---\n", + "In this demo notebook, we demonstrate how to use the Bedrock SDK for an image generation task. We show how to use the Stable Diffusion foundational model to create images\n", + "1. Text to Image\n", + "2. Image to Image\n", + "\n", + "Images in Stable Diffusion are generated by these 4 main models below\n", + "1. The CLIP text encoder;\n", + "2. The VAE decoder;\n", + "3. The UNet, and\n", + "4. The VAE_post_quant_conv\n", + "\n", + "These blocks are chosen because they represent the bulk of the compute in the pipeline\n", + "\n", + "see this diagram below\n", + "\n", + "![SD Architecture](./images/sd.png)\n", + "\n", + "#### Image prompting\n", + "\n", + "Writing a good prompt can sometime be an art. It is often difficult to predict whether a certain prompt will yield a satisfactory image with a given model. However, there are certain templates that have been observed to work. Broadly, a prompt can be roughly broken down into three pieces: (i) type of image (photograph/sketch/painting etc.), (ii) description (subject/object/environment/scene etc.) and (iii) the style of the image (realistic/artistic/type of art etc.). You can change each of the three parts individually to generate variations of an image. Adjectives have been known to play a significant role in the image generation process. Also, adding more details help in the generation process.\n", + "\n", + "To generate a realistic image, you can use phrases such as “a photo of”, “a photograph of”, “realistic” or “hyper realistic”. To generate images by artists you can use phrases like “by Pablo Piccaso” or “oil painting by Rembrandt” or “landscape art by Frederic Edwin Church” or “pencil drawing by Albrecht Dürer”. You can also combine different artists as well. To generate artistic image by category, you can add the art category in the prompt such as “lion on a beach, abstract”. Some other categories include “oil painting”, “pencil drawing, “pop art”, “digital art”, “anime”, “cartoon”, “futurism”, “watercolor”, “manga” etc. You can also include details such as lighting or camera lens such as 35mm wide lens or 85mm wide lens and details about the framing (portrait/landscape/close up etc.).\n", + "\n", + "Note that model generates different images even if same prompt is given multiple times. So, you can generate multiple images and select the image that suits your application best." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall\n", + "%pip install langchain==0.0.190 --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Install additional dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install pillow==9.5.0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import io, base64\n", + "from PIL import Image" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Text to Image\n", + "In order to generate an image, a description of what needs to be generated is needed. This is called `prompt`.\n", + "\n", + "You can also provide some negative prompts to guide the model to avoid certain type of outputs.\n", + "\n", + "Prompt acts as the input to the model and steers the model to generate a relevant output. With Stable Diffusion XL you have the option to choose certain [style presets](https://platform.stability.ai/docs/release-notes#style-presets) as well" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prompt = \"Dog in a forest\"\n", + "negative_prompts = [\n", + " \"poorly rendered\", \n", + " \"poor background details\", \n", + " \"poorly drawn dog\", \n", + " \"disfigured dog features\"\n", + " ]\n", + "style_preset = \"photographic\" # (photographic, digital-art, cinematic, ...)\n", + "#prompt = \"photo taken from above of an italian landscape. cloud is clear with few clouds. Green hills and few villages, a lake\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`Bedrock` class implements a method `generate_image`. This method takes input a prompt and prepares a payload to be sent over to Bedrock API.\n", + "You can provide the following model inference parameters to control the repetitiveness of responses:\n", + "- prompt (string): Input text prompt for the model\n", + "- seed (int): Determines initial noise. Using same seed with same settings will create similar images.\n", + "- cfg_scale (float): Presence strength - Determines how much final image portrays prompts.\n", + "- steps (int): Generation step - How many times image is sampled. More steps may be more accurate." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As an output the Bedrock generates a `base64` encoded string respresentation of the image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = bedrock.Bedrock(boto3_bedrock)\n", + "base_64_img_str = model.generate_image(prompt, cfg_scale=5, seed=5450, steps=70, style_preset=style_preset)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can convert the `base64` image to a PIL image to be displayed" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image_1 = Image.open(io.BytesIO(base64.decodebytes(bytes(base_64_img_str, \"utf-8\"))))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image_1" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Image to Image\n", + "\n", + "Stable Diffusion let's us do some interesting stuff with our images like adding new characters or modifying scenery let's give it a try.\n", + "\n", + "You can use the previously generated image or use a different one to create a base64 string to be passed on as an initial image to the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from io import BytesIO\n", + "from base64 import b64encode\n", + "\n", + "buffer = BytesIO()\n", + "image_1.save(buffer, format=\"JPEG\")\n", + "img_bytes = buffer.getvalue()\n", + "init_image = b64encode(img_bytes).decode()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A new guiding prompt can then help the model to act on the intial image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "change_prompt = \"add some leaves around the dog\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `generate_image` method also accepts an additional paramter `init_image` which can be used to pass the initial image to the Stable Diffusion model on Bedrock." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "base_64_img_str = model.generate_image(change_prompt, init_image=init_image, seed=321, start_schedule=0.6)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image_2 = Image.open(io.BytesIO(base64.decodebytes(bytes(base_64_img_str, \"utf-8\"))))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image_2" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Summary\n", + "\n", + "And play around with different prompts to see amazing results." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bedrock", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/05_Image/README.md b/05_Image/README.md new file mode 100644 index 00000000..7e9ac12d --- /dev/null +++ b/05_Image/README.md @@ -0,0 +1,45 @@ +# Image Generation +### Overview + +Image generation can be a tidious task for artists, designers and content creators who illustrate their thoughts with the help of images. With the help of Foundation Models (FM) this tidious task can be streamlined to just a single line of text that expresses the thought of the artist, FMs can be used for creating realistic and artistic images of various subjects, environments, and scenes from language prompts. + +In this lab we will explore how to use a foundation model available with Amazon Bedrock to generate images as well as modify existing images. + + +### Image prompting + +Writing a good prompt can sometime be an art. It is often difficult to predict whether a certain prompt will yield a satisfactory image with a given model. However, there are certain templates that have been observed to work. Broadly, a prompt can be roughly broken down into three pieces: (i) type of image (photograph/sketch/painting etc.), (ii) description (subject/object/environment/scene etc.) and (iii) the style of the image (realistic/artistic/type of art etc.). You can change each of the three parts individually to generate variations of an image. Adjectives have been known to play a significant role in the image generation process. Also, adding more details help in the generation process.To generate a realistic image, you can use phrases such as “a photo of”, “a photograph of”, “realistic” or “hyper realistic”. + +To generate images by artists you can use phrases like “by Pablo Piccaso” or “oil painting by Rembrandt” or “landscape art by Frederic Edwin Church” or “pencil drawing by Albrecht Dürer”. You can also combine different artists as well. To generate artistic image by category, you can add the art category in the prompt such as “lion on a beach, abstract”. Some other categories include “oil painting”, “pencil drawing, “pop art”, “digital art”, “anime”, “cartoon”, “futurism”, “watercolor”, “manga” etc. You can also include details such as lighting or camera lens such as 35mm wide lens or 85mm wide lens and details about the framing (portrait/landscape/close up etc.). + +Note that model generates different images even if same prompt is given multiple times. So, you can generate multiple images and select the image that suits your application best. + +## Foundation Model + +To provide this capability, Amazon Bedrock supports a propreitary foundation model, [Stable Diffusion XL](https://stability.ai/stablediffusion) for image generation from Stability AI. Stable Diffusion works on the principle of diffusion and is composed of multiple models each having different purpose: + +1. The CLIP text encoder; +2. The VAE decoder; +3. The UNet, and +4. The VAE_post_quant_conv + +The workings can be explained with this architecture: +![Stable Diffusion Architecture](./images/sd.png) + +## Target Audience + +Marketing companies, agencies, web-designers, and general companies can take advantage on this feature to generate brand new images, from scratch. + +## Patterns + +In this workshop, you will be able to learn following patterns on Image Generation using Amazon Bedrock: + +1. [Text to Image](./Bedrock%20Stable%20Diffusion%20XL.ipynb) + ![Text to Image](./images/71-txt-2-img.png) +2. [Image to Image (In-paiting)](./Bedrock%20Stable%20Diffusion%20XL.ipynb) + ![Text to Image](./images/72-img-2-img.png) + +## Helper +To facilitate image generation there is a utility class `Bedrock` implementation under `/utils/bedrock.py`. This helps you to generate images easily. + +You can also explore different `style_preset` options [here](https://platform.stability.ai/docs/features/animation/parameters#available-styles). \ No newline at end of file diff --git a/05_Image/images/71-txt-2-img.png b/05_Image/images/71-txt-2-img.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc6f7f34608e24b5c4a718cf9b3a9a8cc363e01 GIT binary patch literal 71186 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�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%0Dt}l5EM0j<$5V`ONoCKm{N_!5Eu;32QhR0k zJyDNm%{1B+Ux*wJP2`_7``qRybmuDyx%?`?cYbji+$-;=Hmcgy8+%Vp7si(r)R`7m zTLWcLDvTlF(CWRTh0#jS1{>JZY&VM9jx&zhwXQG~$F%ea)E7(Gxjf->?1Q{%?Osq? z?jpam$j1IHFya5PK!$HSzUp&UFxkT_Ls-If@3VVsM(U7t29wLjGDga8k$P5dgmY#N z#ip%EjRutIATGiw_=Gsv#9;Bt16>PnfG1s#Ps|+5lp?YD%Iqy{V=}BQtn*hTdmYVH zH*S1Nreo$aqEc90()smLev?U(QZk!* zHN{N3bAm!qt!{ZK*y&18UY`^7o$U6L^V-VVOXlH1E!i56{!RxBHH@j_rI13>3%Hu3 zYAzOJ++I42FNJXp`2Rp`_}e#1IEV|}^n3ji#LaKrIgur#SN?dSiFpa=b!7H8KHIgO zE~tw;QjV~Xp*?c@*Kc;2=mhQ{BhX94AZ7m73W34>X;t=#q$@xJE6a!j%)i2A&qhHA3TIpwRJTvT|(#w6*ZK2wC z?6pl$NJE2L?bOce9hD=<{;dau%h-2yXDY!mPgyM`6lI0(HAh&T-t{^k{5x|TJ2-7L z>WltG8;=mr`YyN&FGa{aAAQlBlN_6Uqd)ta`p3lGNGWJtzT2FdPG~68Bau$`YPuP0 zjm>qCd%>s!@o6I!#Cd$9=p!Y;kt~a!+wi6quvvsh@z5#p1tX?;QY(+gA~AZV9HUvr zJj{+y)#)_8F%en3o$OUQOin1QY3Q{WEotzs&|H}<(Qk=eW`+yJy}32VGcctAk6`rj zkx*<;Dos55$I99Y*hSu|BuV*grYIS4ESs^&Q9MFi6Hr@;z#wFn$g<7KwCcmw@Nd;e z4_-ZCUJWKW@(u6($o}1H>T}n`ZR?5S^GwuLY_UKx=~Z5(t~c)e1x3^Qxjx&IfwzBq zpld#NZUZ7F>&g7?r%G%R&{=i!lj(E|zYBs6u{6Y&S{2xxUVnMaD-0zh;5FJ*TPPEx z+6VrR5Ph8|Y3Y8x-P!qYngWu%(GYJ*V#UQK0Li2S-<8GEH9gJCXj9Gz?aC`l=#yb} z?0pGueir?Zx;Uy@4=XinwG9!ot{Cd~j49j`vmY^v78$4snYC<>P)Z}O3b^$zvXL}u zN6jXcxXjN6MpkO^Lge)?J}lJknvZtxw@g1TR5zZ0)aGC8n<;Cj-S#>jnsugMTzvRO zlUn_d|EyUSgw0b9c}U5LTfYOTYlz26-q%iNUF|r3&i{LqaQn&p{#jo2mK(48Vbv{m z!{+NlHIC-=<)0L-x74bn92R`-+j<1O5EOhO6*bQJlrw7HwtR!kWSV!}gHpds<)=oG zRKjFmyul?5Rd#H2eV*v?*_r_FYZ%KESAk=6#xF;BFX@BWWV!i0>Gj&wQ1)k`Ih9(B zaXK8+k9oMx5-CYHZ!U&vd+5fL6u-z$uku@%#G`Q+^PDXnoYaR0jL%04u0RCbEpcXV zqCb*BRH!MWUL_^Cxr7z1$#;k0x4(eZ5iqNo^x{G5i*`qwYsftUKSGcPRc*!k*gc@` zr^b!6^U0AGe}(bzzOXlm=&lCAPx3L&9L{z+RASk}uN=`<)sfCT3HeA&F zh$6>|=89_&Jw2=SD>7YZqU%#3UzxN&2ifio&N-&qJ(di~*XGnFW0$a0+1jiYx^FeV zKWh3`TP+9mI)2C`AzCrc#5Gk>Pt5aVi>6^!Hsh1ziP5|CO1Y2FgG_1YZVNTTaKsz`cPg3) zLd~_Q_fQTx0>0F@oI0h^k_Z`myb06SXtXOu`b~Ph8|#5}Kq_Z7Fn`ME5mkSgu7$}| zM#P3EN7PigQEDDbezf!6_jpe5dni(tJGPrA&*>Fv5_r0}>#lVQHh#t#L9p#(w#X8X zwtdGC5S1$@v{Zb+~!@bH+)Y#5ZmK94@GPWXN#r}t^G;}Tt;VHp0dh^MZB}snlGULXYSPxwXL+%!50pOx27oTkPra{A z@b$fp_>nN8z{x{COx@oQTC1E)Z+`kjdzm0&xhP+x=lV`pOu^JWek!g{NQ()Ioswb9 z78;cw<|n$VgY_@{dLl2@^!G39RI@BYJ2U2stqw55K@LsPKBO1gJgU8TJo5!*`|^5N znKp-G>cclK^PA`yN2bZrMge|zvaUh5g!KJ(^6Bp(#?TbVUzYk{%zL0h%)j?Y7mLZuAv!cbw%21+(Go+`NhFgoZq3YeDsZ#rI z^En{ry%WrodMbB7}DcPz9zF}yiNYz|o)k^mu#SeK?T#`1ZlQ2#16C&c1g z@xx`iy)7fsKZJ+E5E(68uQfUE-j8*`$wRrQ54Sjci!%`0{Up<%CsH=1+pdr6!hL{k zZO~5mB|_AJnk*?r_A^)%Zia6hr+xAmy5j`5@N9{vYEJ*dal19ozIu(9u*+lZ^YF1y zZ@UE9H~rw`j5mW&vU7x3V8&Wl9_C@ByJ2G>aVv)M zvIdpccW$fqnyOQddH18MDz~Q%=hugbq7h28SUxpixW4evO^dM!Y(LKX#R|yC4(F^u zrY6fH@2W`Ig6yQ>YK2d9wmS4rWOdEQjX~Jk-KxI&?oVU35oy$R@gHmr85KCk5+s}iXMa*9XqvRX_)1?L%Q7&up_Kbl{LFqw2a~c}CfUPvaU9)+ z(v8b46)4A%$QfcYLVaz3-^>?|f}yGEr(Sl~%XeU(d4wU3mo=w&6*lh;+kJy$-K~1G z#!Ar19i4>~IxyV)SwZSke`X8VPZr>G2uMnpmkpU$B%t9T=iVY&}w-CUcvnC?oH`Z;Kq{B`1Sa3`+nRrt$^=igFc zHG8cJ`EvIH_QpR;>~s=Y>(Wg-H`zduMqKYE_Nu zgIjNuJVhrNl#4nCZ<~b@dWA-Z5Dj+bcTjEFtw~NF8dxf+gWz;dj&KwzoC;wNFSx{~ zbyWa)d8VvjLcD_NjiUH0RLF(6t0%u$FR^ZA!!mIU>i($R*WsIs49bO_^B>w4cOw>- zgJ+iAAu2EKP~U!Sa>iD_?Wa5-aw^s(^me2ysb!f-s4F8YPahm`VtX`M{<7Az@l$!@ zK^?TDURt|5yYKPw)qI<_m}D3Ut3>d{?hzhe6_k+TY3m$h^@<>4z4jY_(P;nZ*}xNw zdW#qf8_Uv|qo=8gt;c5HhbJY7wxIF#Vb#!t zGG4vIn1^o;qGT78H%34|{m;UKY{{3zEwg0DLz!8Fp zMndBiB7u7FxG%;f2^<@}q>B(>&Us&o{||A0*6_Z@6C)(-7xqhn$4Y5ZflYFSQa0xq z#9S5;9h7!kNA1jFV=h#DDdYAU=@%|pqIn=+Xkl8t13BMJzd9XrnW#5v2ubD_<+7YL zJyyqv5a{Ji`J1FgK!#y}g}n03?iTpzF23RVh=tKaO|w8KWT@TbQry`Bzp}%2rpdk9 z<4e8T*VtF|cVKU90VN9y8NFhiHB)%1#%*P6#qaq&>J~`BXoYQx*e7$BEIe%ZqH*mS zqx5sJ#|nXg3uG>fy1BB|Nw-)cwV5^Q?qkH}M`bZUZaUGC12XPlrf|b4H4HU0+=N}o zX$ya1L4!8%OLV(R%Qx$4jz2;XW+VV8*n%CFPW98bsUzDiwKMN<7BaYKxjiRy-~Gbs z?*YQw65R!Y)8$&}lI6T3I1$y|CYC48U|0<;JP?l_YDULvpAH|0WP7r2E#q=|=5V@k zfpX9==d|;Fhx?KaggEz=3pFs0AI+Rt_H+(rHJ=w=N+{(}0WM^Fq{`4I6srgVWR|_} zEu}RVo@dv=@h81I9eO$J8A=a1q?m*MXgm%oaK#IaqKgDS?PB+n_jR}AsmgHP5r!HG z3}p7%iexu`o^uY-Gmia3`Ht?Pq=$ygJ3`Kn;^f6U1P5*(ijTQ`So|3JKIgbHZ{_K_ zJt4D36uP`o*Wtv$Qs+qVo5lF|g3-!aooh9%yR!HOz{@MAmhX3@X~|_gLoge;nBF@l zJ6%u2wCyG;JPr2k&0Ws-xNpmmk|qZ-U32S?hBRuC1eI< z-f|C_^|4%n+|Pc56nsdH8)H__Qbcy9OD8&ij*-fDXCTu*Jw>|Ji&r=W zFuaL!w;j)1mD10vVaTw_3hBHjl4dFe%5%DGcC#X8oZWrxWQ5D;dOD(DJ~{y!cz@^f z4vuUQs2vu+=ELbDD|-Gc;`OOUvs%4lJ>2>C5>sPda2A9mEu0!Hfhv^#rBmY4@r>K$ z7R`oI_j`qRYIVr%p79xFL)zZcpVhTh_3Ku9E3*KH1BJ%tll5~dCHlSJYE=mswJ4Ko zjxk1xNRQ{d8uUBkURci6P`g1%4{O651uv`-Cn{{p&D??=HJ>!-&6k5Q&+_P*suwFg zxQ+e*C}n3UH|RPEWZakGXHFbta!jTL z&${0KJk`C4E^#lDKbkT3z9ckL_4;G&ZO27$8;cd@)0I?)!UH~K#OQ?nNRmFoE=Hok ztcZqQ?Qrm8xLpH!w1}finD$yLcbe2Z8Ex*_wOX|vnk>zES#=^TEWJJt{idb;%Bhlx z4NR)XRor{JTGI}g*@fpp*uLfaib6<0z8DwUyGMizM>K=Cbo}I;| zuB$j|!573V0sK1rLYUJZO4jC#VnWt>;%E21&(NNSOb+u-o$qwTe%NFS#20uF&u+jf znJ``BA&EsUXb9Qd4->iyDlxOZ_s3=WxKY75a8mWJ>gg4|Pg@9%Ll?KC<}nG|hTR&w z_1ip_@#qVydP+EKfwGh(a;XWma_?rLC?`d|^O}`1_=Q5Hu7HQ{dm!gKwK6yAl9hu9 z+$Cqb4?f{i(AsQmXbcovf}m{Bs-12?bqLa<-LGD(pqQ%wiCX0{GQr$XA)V^v+{ov4YoUcgNJ7YxLP$zchA}+082e7flC835%U;&X zzRbwdAU*aa+t>}+VlY`|?BjRM6YBf?-p~8Kf4qM_{&UaFec#t|p4WLE$8lblB}8a4 zvLmwPo?L3Zm@5F{turEzd9v{Rh(Qdn)rFmTklBvxMX+$Xj#B6#p9ExAxa^EAwYnte zAvTO|rn!ryYa?m%AZ=|)C8jI0NNmHf-Nf;x?N`l4ky7erUP)@)mw3jMIy1x>}XM0u!NrY78#yK!I z{J0;PdNqgmi4pTFPD<4V>$-)EB**TuwxuyzZxb8Trce@3Z3xhd7&;bV9q0|Owm2zO z`>HjCuba3~z-*hKz13s0fp+3k1*-S2H-kuAZ${;P(;GMMm@U)0I}HjeUCtK%<4Cvj z!hk^QpvT2}jbvJ6Hr_2Pu&02c6B*0qwLNY$bCtk(Dk02Ok(BvjS-Mq~TaVc#ZQ!rs3%Y%HaIr7#JRLaxQ4vQN4N-kJa87EO}4o-=s7CYpElc?@v((y?}ygmvY zACGgxt1I0X?^G4{2y$TC8>kyL&eeigxWJQE=@&EPD(S-TUMHjSi44Rn8!Ty(3H`Hl0@u47gkjs!Tj-}Ll14=0{NU0n z5qP=di_e(1#H^TytYV(=pYrI?)AUT-?R0D>nhZNSwTgBn2_l=)5ljuM0d^zhsXXU% zGKDhuF-S84WZOp;FD{Q+2JD=2vPx1XIx2?Nysy&t6X!)BcgO=_T;tFV#kue{v#3g2 zar&+H#O>OC6CwOSF|5d>@rjV~#IPl;;!VolD$$w$vZsOv0za&op6csdx%b#XneBn*M+rlH5dq-jqZVuO%n}4in z#O=%*8`sQ?GtBIRa;HTVO9FCiy58i&@NIeQrH~V4@-LeHCU_RWxCqM&nRiQb%D%}$ zqy_F3O-c{^`bJhxbete-IHh7(W2Ez(Sp7(Yy0uXa~Kl|o1z zhCk(3g31YkeBzHO#ky`;|sezJfW&!6KV11{&h$_MUVbmUHA<`HN^jkewilvwS zUGr@H?pw6u2NAhaD+PB?&N_T<@JSVh7DE8eW}LZr_T%%CcZb6fYWJR4jkD+r{COy= z#xE7~`rL^FxWWiYA%I?z>KJKHHpLWJ|8D>dJZ_PKq1e&bVyYs8jwEaq0b z?#IMWZIr)!oD1-ApEfO7*?wNKQ;;{)n5AooXWI#e!lq8Xn`!CG`*i3f^*a*8@lXQ< zBCmGjvDMN_nKR#!`DOa{&vfp&4(HY4Z=v-UeSG@Zr_2)gcJ&+xF^X=nDS|&XW}O3C#2%_#3Btfk5n@c1ij(l!3y1+-Spr8h13Cug0sGY`#Y5QSj?KE zOF!zNx59=eHxaZ`Hg5oEouT3jAxf5b1e2O6b^$#w{NAhNcJBnUp4o3VRr_%z$-voY zY{Vn`X(sxZS_`kO_1LR`L-8CYJ$(mFm6pdq8X=-W_owyp}remmeat!;=8`| zlO@b0ZStu2HvZOiC6SJ!S8_6op-!0W9*hT4KfZL{BA1%Lc9LSLepp&{k~U)=H`7d$ z;)N{Oe)U=Y?K{Mq!lQBAkHf!;$>)xml zzP^)_E}}mbBV|HcW_Tc9IV>qWtzM%cBJD!D-b`xhnfRVmetFJ;{0f}E`ymF-h;Nhl zmWCtZQ37ku`fQsoo-)s@FSF#1ZESawiFhi{LQACMT0s~VQ9B#_@{j&fUX+cSALs}N z%LtlhgtdlKEIkxOB-f?>mBLrGYn&T!z}Q5!vj|GSeRYeA5vz2@T0qUpCXrf&yS$B_ zSrw|x6z<-1pES#ZLR{tyE4l5HhFRuZdSt5~bIUth6a??3&R>Lp_Oy>s$tt)z@T#Mv zO?>PXo}k;ybxu6F$M`o~}f)lCYqb&*|n4#?=KK$E2?EQ%;DfnN}n(mnse8sPV|s`ePTF zkRUcW3+#OHZ#y?Wt=xGbvY}+L_Pj&gO8IOl6fEVYUL^nEgsV3l>+*^Z7A>vHED9=) zT~9%7krDk+K{#|r!Jr{)yjA4!<^iyb5PLN!jkBnm_Z*%4+;Na+L)(Koc7gf}2d{Q> zbZ2EV2}ZR$dEq21V**;GKW>~o!OcQ;wCuz}0Vao}tBKL?Xv3vTZO#xZv2GUxmjEd4rMx;7Y3^F-d9Qu@y1!odxviNprSS3(kcEznMHsQgngb{lMQ z+}Dcg6_venjP3^oIAtebgX+07a-g0GXxqDL<(Am8<`K?@ChY3@X`CWJ8nTI!TY}#& zZ71pWmXWjr!s0KcUGVFxI0V|oc$xWdcoO@ipJ)NVWeU|mfa@$Htn@Q|lutbQ^*9}z zx&4)~N=ga-zM2{nKNO(m{?Dl!RFYlw&=B!ntauX$aN z@4@-lQ~kw_Mq$G=%jB8+Q!sd2*h)MXulHX21YGQU?6P@-to`$fty}&4g!$zI#kNZ; zY-P4*wu)HL(`AD|k{Wn~>uZ0BFb5Klcvr2_H6 zs?&Af-Cv9(zE3;98YJ8o3qjfEmdtcF>obZ+?Q!R_cUklsAE^S|Y+^QO_M}(MpY_%V zla5!>6v7!9s@j(hM>v|N*v;!!7z*@njki0)-rVaR>3IBHjiP87ova%3kgT~TD@p5v zxx^E52bFzI7PkH}eZ(yw7*c3Sx;j0knRQ>FzhpAB6h6MAZIAwusFTuPrtbCK7X9@~ zAO6Ggsh0oVJRt^Sb1wkxaET}bP;2cGen`j95%%45jx172GRZzI=cY;o`ZbRa0w@ddSp%pUrA^|@jCi>TUjf%h`O;k zzfV`&_dIslG(4dPE-IuN;QEuyggU1x2YolbW$t`pX8p< zQ!+yS%@0epZz7bg$%|9YQ1UEvi!(SWq@_I=Tut{p?ZOwDnJd-&2y0p3!g#XD-(dvb zD|7|++4OX!%g&9CE6iY*g_82rEm43rU}P{Xhfvld_e$>g_E-;>^WY!Cxq%F`w7jLA z?2xCQvVo%mmfuDRKwHq2=&wQm=pvTm6&?a^sqOuEfNFBDK1w6sgGj}XKTYjMP?mb+!f%}=Lokl)F3d3W9i;PE@pd|^*Da65~9o_H!8M)o> zzALZa5`qqiT9;Stoen(DS@+BmYFX_fFR0$mXVhU$xt3k zQB+=OzOAx!C_1 z;*I_&P9arBpX@*`{b<7>`|z|z)>6&$vS59A*wNin-K5O2lwvI(bRW$w2M{kLp#K_Bv#zU z*z{d$Ou5TT28L!a?*I^%Wta5m(KDKGC%L5Uij8bS(ekQ{{mPn(O2ihQ8zF-QTAbn} zXGQv~jPQZ%j3n)N1@3Hn)4{Cz%) zu>SSzL4q5`m4ttoYvb4FRlecG^ZH)5)OUUA2GX;~Nq*-nPbB zbykrUJ;~2u7}CqeoiAcaEoWW%Zt+kWshCtf9Kl=ar@~doN8icCjTj!>zcfCIw1<=!X9Mdav*Rtq_pOFr}jDaPHxusVoO0TqN zPopt(YgZefvU0adoNbLE1r+uL)0k0hDm^R_)B#=bnsUWjJ3xI$Ez6cGP|OR;p&h?+pgsjQ~Vzz!=tmjl@?FMhc25g4X^zEzM?ClKmD zkMxx|yVN{~;a;Exko>S&bJ9;S%h5DS2y?1&;WI#^_`Lb7MQ>BDo@|cM?RmxI z6Ccn3(Ot{X6aHxW$U^=-&nZvQCd!pL>26u|F-jYiQbx!+eTQS+GT_%+Umai*O+T45 zW{JE}TVLL!ycWKbSwVcj*MtyznxL4xS0}T3RW8@HIjjp9 zjtyB0;@sL(s-DE~ty|UOm$ox=m*!XH{P-3BoX2kk-@f=kEJGq!*Aml@YU`-9dZc3% zb&Muok$4RuqW>U`SVGEbMysbR$E2WMc*0QIsIDUkVvZEVEdLV>2S9#QRV`mO|HsOB?Zop(LJG`Noiv8@>mB%F%vyPZrR8Kk)qxUfP?syX?I#P+esjQ0(>PKgsxN zK6&rCZiD>==l}a0;4LV=$N#*%FAcB-wjnL{TVdcozF7bq-|xxmKi=*@B3R$<(#QNl z!1vtD?h9K2$#TN8ga7>5{Z{{QLd%NNNdDDsA}oh1{3xpouZMczY7%Z5JM)h^J% zZ-kMTDC3rJ3{owD(Y>h@yJJ9<$DeVV5(XEi7!Hj50`Ewzr@ z){u+7gNDjrks7<{O`hz2Bu<_y+@@fr8DUbg_fySeriSQq6)nk9stXl(*{2>riyD4K zYqk+^l5?_H|A%$K-zMo4CdL9!^d*1|)rCy5yIoEzds{9S?7t=enXePwnAt zKub<$>A^-xAE^sWaN_TK3NnV!h`}D4+~6HY?+Gs)Js|z&mM$Gw?LLMYrHfPnH0=N>_uLU{BbovMF<5SY-2r))68o{c}h?*mwWK2hG#aG*`?AO8rLJihzr7$7Fe z8jk(m;a6neaYQ9%MWv!0HbVfpkSC3dxXMv`u`!BM%I z8e~8ZaN7npU7aUER45E!tinwX768*KK33j)fur)(3FI#G5DKQ<>#`q-)yl&IYCSJa zs6ydDHhINvV9s{+oIFEpV8~uCfZ=lmGq_(g?3vGgUO&R@deu-tN8Bqu{Wj_0YpP)~ zKcKxTQ|5-#e!cmfnsUO{t?y@kxI6rSE0d~<|98_RxEi4}^HTDGa$}HW(V$VedDOdidf6|YJlEST zg!!b-0t$$Ek?g1_5WiJyDR+S<&An;mtr|(1!pC zU5{(c$hD5k{T3h|QB>8+5dd^>QTZG|Apdivy-t3^nflt%{WpAl;yH_Oa!caMdyuFE z!jB3LI7Rosdn+~^Gt>fCCxNmRx(zB;FB0NWPJ|iS|HvDFsr^U?&fo$Uov*^4E&i$h z2Jq~ipB}(_<bmjkXzGBWA#g_OZ&tq7@nqj}7d+4* z%#ULKfxmr7ZrI3CFj{pE22B6BzV|P15WqRE-ex`eUq9gAR{)*(??C*tk$`*Ny$;nBDhw}Xa{!|q2-pW%jc=rDQAxfCE literal 0 HcmV?d00001 diff --git a/05_Image/images/72-img-2-img.png b/05_Image/images/72-img-2-img.png new file mode 100644 index 0000000000000000000000000000000000000000..462a67951330e140d3f7ca961e2d1f2c62f941f4 GIT binary patch literal 94535 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 C7BvF^ literal 0 HcmV?d00001 diff --git a/05_Image/images/sd.png b/05_Image/images/sd.png new file mode 100644 index 0000000000000000000000000000000000000000..01fc9fd3e0ef093a44cdbf1d9caf4c9d7763d557 GIT binary patch literal 333163 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

8Ba;-uzqkA45qx|&S*GYj!+R;HW^c92b_=^( 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£^D6zUw<7B9++nQy$Mg732G<6?XhuC7^aD2) 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 + +![10-overview](10-overview.png) + + + +Workshop Link: [https://catalog.us-east-1.prod.workshops.aws/workshops/a4bdb007-5600-4368-81c5-ff5b4154f518/en-US/](https://catalog.us-east-1.prod.workshops.aws/workshops/a4bdb007-5600-4368-81c5-ff5b4154f518/en-US) + + + + + + +## Using these notebooks + +Start by cloning the workshop repo + +```sh +git clone https://github.com/aws-samples/amazon-bedrock-workshop.git +cd amazon-bedrock-workshop +``` + +The bedrock SDK is not already a part of boto3. To download the additional python wheel run the following script +```sh +bash ./download-dependencies.sh +``` +This script will create a `dependencies` folder and download the relevant SDKs needed to use Amazon Bedrock. Which can then be installed as follows: + +```bash +pip install ./dependencies/botocore-1.29.162-py3-none-any.whl --force-reinstall +pip install ./dependencies/boto3-1.26.162-py3-none-any.whl --force-reinstall +pip install ./dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall +``` + +Following this a bedrock client can be created as follows: + +```python +import boto3 +bedrock = boto3.client("bedrock", region_name="us-east-1") +``` + +If you need to use a specific role to access bedrock, you can do so using a session as follows: + +```python +import boto3 +session = boto3.session.Session(profile_name='bedrock') +boto3_bedrock = session.client("bedrock", region_name="us-east-1") +``` + +## Content + +This repository contains notebook examples for the Bedrock Architecture Patterns workshop. The notebooks are organised by module as follows: + +## Intro + +[Simple Bedrock Usage](./00_Intro/bedrock_boto3_setup.ipynb) + +This notebook shows setting up the boto3 client and some basic usage of bedrock. + +### Generation + +[Simple use case with boto3](./01_Generation/00_generate_w_bedrock.ipynb) + +In this notebook, you generate text using Amazon Bedrock. We demonstrate consuming the Amazon Titan model directly with boto3 + +[Simple use case with LangChain](./01_Generation/01_zero_shot_generation.ipynb) + +We then perform the same task but using the popular frame LangChain + +[Generation with additional context](./01_Generation/02_contextual_generation.ipynb) + +We then take this further by enhancing the prompt with additional context in order to improve the response. + +### Summarization + +[Small text summarization](./02_Summarization/01.small-text-summarization-claude.ipynb) + +In this notebook, you use use Bedrock to perform a simple task of summarising a small piece of text. + +[Long text summarization](./02_Summarization/02.long-text-summarization-titan.ipynb) + +The above approach may not work as the content to be summarized gets larger and exceeds the max tokens of the model. In this notebook we show an approach of breaking the file up into smaller chunks, summarizing each chunk, and then summarizing the summaries. + +### Question Answering + +[Simple questions with context](./03_QuestionAnswering/00_qa_w_bedrock_titan.ipynb) + +This notebook shows a simple example answerting a question with given context by calling the model directly. + +[Answering questions with Retrieval Augmented Generation](./03_QuestionAnswering/01_qa_w_rag_claude.ipynb) + +We can improve the above process by implementing an architecure called Retreival Augmented Generation (RAG). RAG retrieves data from outside the language model (non-parametric) and augments the prompts by adding the relevant retrieved data in context. + +### Chatbot + +[Chatbot using Claude](./04_Chatbot/00_Chatbot_Claude.ipynb) + +This notebook shows a chatbot using Claude + +[Chatbot using Titan](./04_Chatbot/00_Chatbot_Titan.ipynb) + +This notebook shows a chatbot using Titan + +### Text to Image + +[Image Generation with Stable Diffusion](./05_Image/Bedrock%20Stable%20Diffusion%20XL.ipynb) + +This notebook demonstrates image generation with using the Stable Diffusion model diff --git a/download-dependencies.sh b/download-dependencies.sh new file mode 100644 index 00000000..fb3c313f --- /dev/null +++ b/download-dependencies.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +echo "Creating directory" +mkdir -p ./dependencies && \ +cd ./dependencies && \ +echo "Downloading dependencies" +curl -sS https://preview.documentation.bedrock.aws.dev/Documentation/SDK/bedrock-python-sdk.zip > sdk.zip && \ +echo "Unpacking dependencies" +unzip sdk.zip && \ +rm sdk.zip \ No newline at end of file diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 00000000..177af15b --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1,23 @@ +import textwrap +from io import StringIO +import sys + +def print_ww(*args, **kwargs): + buffer = StringIO() + try: + _stdout = sys.stdout + sys.stdout = buffer + width = 100 + if 'width' in kwargs: + width = kwargs['width'] + del kwargs['width'] + print(*args, **kwargs) + output = buffer.getvalue() + finally: + sys.stdout = _stdout + for line in output.splitlines(): + print("\n".join(textwrap.wrap(line, width=width))) + + + + diff --git a/utils/bedrock.py b/utils/bedrock.py new file mode 100644 index 00000000..482f856a --- /dev/null +++ b/utils/bedrock.py @@ -0,0 +1,185 @@ +import json +import boto3 +import os +from typing import Any, Dict, List, Optional +from pydantic import root_validator +from time import sleep +from enum import Enum +import boto3 +from botocore.config import Config + +def get_bedrock_client(assumed_role=None, region='us-east-1', url_override = None): + boto3_kwargs = {} + session = boto3.Session() + + target_region = os.environ.get('AWS_DEFAULT_REGION',region) + + print(f"Create new client\n Using region: {target_region}") + if 'AWS_PROFILE' in os.environ: + print(f" Using profile: {os.environ['AWS_PROFILE']}") + + retry_config = Config( + region_name = target_region, + retries = { + 'max_attempts': 10, + 'mode': 'standard' + } + ) + + boto3_kwargs = {} + + if assumed_role: + print(f" Using role: {assumed_role}", end='') + sts = session.client("sts") + response = sts.assume_role( + RoleArn=str(assumed_role), # + RoleSessionName="langchain-llm-1" + ) + print(" ... successful!") + boto3_kwargs['aws_access_key_id']=response['Credentials']['AccessKeyId'] + boto3_kwargs['aws_secret_access_key']=response['Credentials']['SecretAccessKey'] + boto3_kwargs['aws_session_token']=response['Credentials']['SessionToken'] + + if url_override: + boto3_kwargs['endpoint_url']=url_override + + bedrock_client = session.client( + service_name='bedrock', + config=retry_config, + region_name= target_region, + **boto3_kwargs + ) + + print("boto3 Bedrock client successfully created!") + print(bedrock_client._endpoint) + return bedrock_client + + +class BedrockMode(Enum): + IMAGE = "image" + + +class BedrockModel(Enum): + STABLE_DIFFUSION = "stability.stable-diffusion-xl" + + +class Bedrock: + __DEFAULT_EMPTY_EMBEDDING = [ + 0.0 + ] * 4096 # - we need to return an array of floats 4096 in size + __RETRY_BACKOFF_SEC = 3 + __RETRY_ATTEMPTS = 3 + + def __init__(self, client=None) -> None: + if client is None: + self.client = get_bedrock_client(assumed_role=None) + else: + assert str(type(client)) == "", f"The client passed in not a valid boto3 bedrock client, got {type(client)}" + self.client = client + + @root_validator() + def validate_environment(cls, values: Dict) -> Dict: + bedrock_client = get_bedrock_client(assumed_role=None) #boto3.client("bedrock") + values["client"] = bedrock_client + return values + + def generate_image(self, prompt: str, init_image: Optional[str] = None, **kwargs): + """ + Invoke Bedrock model to generate embeddings. + Args: + text (str): Input text + """ + mode = BedrockMode.IMAGE + model_type = BedrockModel.STABLE_DIFFUSION + payload = self.prepare_input( + prompt, init_image=init_image, mode=mode, model_type=model_type, **kwargs + ) + response = self._invoke_model(model_id=model_type, body_string=payload) + _, _, img_base_64 = self.extract_results(response, model_type) + return img_base_64 + + @staticmethod + def extract_results(response, model_type: BedrockModel, verbose=False): + response = response["body"].read() + if verbose: + print(f"response body readlines() returns: {response}") + + json_obj = json.loads(response) + if model_type == BedrockModel.STABLE_DIFFUSION: + in_token_count, out_token_count = None, None + if json_obj["result"] == "success": + model_output = json_obj["artifacts"][0]["base64"] + else: + model_output = None + else: + raise Exception(f" This class is for Stable Diffusion ONLY::model_type={model_type}") + + return in_token_count, out_token_count, model_output + + @staticmethod + def prepare_input( + prompt_text, + negative_prompts=[], + stop_sequences=[], + cfg_scale=10, + seed=1, + steps=50, + start_schedule=0.5, + init_image=None, + style_preset='photographic', + mode=BedrockMode.IMAGE, + model_type=BedrockModel.STABLE_DIFFUSION, + **kwargs, + ): + stop_sequences = stop_sequences[ + :1 + ] # Temporary addition as Bedrock models can't take multiple stop_sequences yet. Will change later. + if mode == BedrockMode.IMAGE: + if model_type in [BedrockModel.STABLE_DIFFUSION]: + positives = [{"text": prompt_text, "weight": 1}] + negatives = [{"text": prompt, "weight": -1} for prompt in negative_prompts] + json_obj = { + "text_prompts": positives + negatives, + "cfg_scale": cfg_scale, + "seed": seed, + "steps": steps, + "style_preset": style_preset + } + if init_image is not None: + json_obj["init_image"] = init_image + json_obj["start_schedule"] = start_schedule + else: + raise Exception( + 'Unsupported model_type, only "STABLE_DIFFUSION" model_type is supported.' + ) + + return json.dumps(json_obj) + + def list_models(self): + response = self.client.list_foundation_models() + if response["ResponseMetadata"]["HTTPStatusCode"] == 200: + return response["modelSummaries"] + else: + raise Exception("Invalid response") + + def _invoke_model(self, model_id: BedrockModel, body_string: str): + body = bytes(body_string, "utf-8") + response = None + for attempt_no in range(self.__RETRY_ATTEMPTS): + try: + response = self.client.invoke_model( + modelId=model_id.value, + contentType="application/json", + accept="application/json", + body=body, + ) + break + except: + print( + f"bedrock:invoke_model: Attempt no. {attempt_no+1} failed:: Retrying after {self.__RETRY_BACKOFF_SEC} seconds!" + ) + sleep(self.__RETRY_BACKOFF_SEC) + continue + return response + +

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 literal 0 HcmV?d00001 diff --git a/03_QuestionAnswering/images/Embeddings_lang.png b/03_QuestionAnswering/images/Embeddings_lang.png new file mode 100644 index 0000000000000000000000000000000000000000..11dae65b2603f57b6e1473b5c7c020015a0742c2 GIT binary patch literal 8050 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 literal 0 HcmV?d00001 diff --git a/04_Chatbot/00_Chatbot_Claude.ipynb b/04_Chatbot/00_Chatbot_Claude.ipynb new file mode 100644 index 00000000..c5ab8653 --- /dev/null +++ b/04_Chatbot/00_Chatbot_Claude.ipynb @@ -0,0 +1,1434 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conversational Interface - Chatbot with Claude LLM\n", + "\n", + "In this notebook, we will build a chatbot using the Foundational Models (FMs) in Amazon Bedrock. For our use-case we use Claude as our FM for building the chatbot.\n", + "\n", + "Amazon Bedrock currently supports the following Claude models:\n", + "| Provider | Model Name | Versions | `id` |\n", + "| --- | --- | --- | --- |\n", + "| Anthropic | Claude | V1, Instant | `anthropic.claude-v1`, `anthropic.claude-instant-v1` |\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "\n", + "Conversational interfaces such as chatbots and virtual assistants can be used to enhance the user experience for your customers.Chatbots uses natural language processing (NLP) and machine learning algorithms to understand and respond to user queries. Chatbots can be used in a variety of applications, such as customer service, sales, and e-commerce, to provide quick and efficient responses to users. They can be accessed through various channels such as websites, social media platforms, and messaging apps.\n", + "\n", + "\n", + "## Chatbot using Amazon Bedrock\n", + "\n", + "![Amazon Bedrock - Conversational Interface](./images/chatbot_bedrock.png)\n", + "\n", + "\n", + "## Use Cases\n", + "\n", + "1. **Chatbot (Basic)** - Zero Shot chatbot with a FM model\n", + "2. **Chatbot using prompt** - template(Langchain) - Chatbot with some context provided in the prompt template\n", + "3. **Chatbot with persona** - Chatbot with defined roles. i.e. Career Coach and Human interactions\n", + "4. **Contextual-aware chatbot** - Passing in context through an external file by generating embeddings.\n", + "\n", + "## Langchain framework for building Chatbot with Amazon Bedrock\n", + "In Conversational interfaces such as chatbots, it is highly important to remember previous interactions, both at a short term but also at a long term level.\n", + "\n", + "LangChain provides memory components in two forms. First, LangChain provides helper utilities for managing and manipulating previous chat messages. These are designed to be modular and useful regardless of how they are used. Secondly, LangChain provides easy ways to incorporate these utilities into chains.\n", + "It allows us to easily define and interact with different types of abstractions, which make it easy to build powerful chatbots.\n", + "\n", + "## Building Chatbot with Context - Key Elements\n", + "\n", + "The first process in a building a contextual-aware chatbot is to **generate embeddings** for the context. Typically, you will have an ingestion process which will run through your embedding model and generate the embeddings which will be stored in a sort of a vector store. In this example we are using a GPT-J embeddings model for this\n", + "\n", + "![Embeddings](./images/embeddings_lang.png)\n", + "\n", + "Second process is the user request orchestration , interaction, invoking and returing the results\n", + "\n", + "![Chatbot](./images/chatbot_lang.png)\n", + "\n", + "## Architecture [Context Aware Chatbot]\n", + "![4](./images/context-aware-chatbot.png)\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "source": [ + "### Installing the dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "%pip install faiss-cpu==1.7.4 --quiet\n", + "%pip install pypdf==3.8.1 --quiet\n", + "%pip install langchain==0.0.190 --quiet\n", + "%pip install ipywidgets==7.7.0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot (Basic - without context)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "#### We use [CoversationChain](https://python.langchain.com/en/latest/modules/models/llms/integrations/bedrock.html?highlight=ConversationChain#using-in-a-conversation-chain) from LangChain to start the conversation. We also use the [ConversationBufferMemory](https://python.langchain.com/en/latest/modules/memory/types/buffer.html) for storing the messages. We can also get the history as a list of messages (this is very useful in a chat model).\n", + "Chatbots needs to remember the previous interactions. Conversational memory allows us to do that. There are several ways that we can implement conversational memory. In the context of LangChain, they are all built on top of the ConversationChain.\n", + "\n", + "**Note:** The model outputs are non-deterministic" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.chains import ConversationChain\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain import PromptTemplate" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2023-06-15T20:35:32.414119Z", + "start_time": "2023-06-15T20:35:31.605208Z" + }, + "collapsed": false + }, + "outputs": [], + "source": [ + "from langchain.llms.bedrock import Bedrock\n", + "cl_llm = Bedrock(model_id=\"anthropic.claude-v1\", client=boto3_bedrock, model_kwargs={\"max_tokens_to_sample\": 1000})\n", + "memory = ConversationBufferMemory()\n", + "conversation = ConversationChain(\n", + " llm=cl_llm, verbose=True, memory=memory\n", + ") \n", + "print_ww(conversation.predict(input=\"Hi there!\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What happens here? We said \"Hi there!\" and the model spat out a several conversations. This is due to the fact that the default prompt used by Langchain ConversationChain is not well designed for Claude. An [effective Claude prompt](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design) should end with `\\n\\nHuman\\n\\nAassistant:`. Let's fix this.\n", + "\n", + "To learn more about how to write prompts for Claude, check [Anthropic documentation](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design)." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot using prompt template(Langchain)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "LangChain provides several classes and functions to make constructing and working with prompts easy. We are going to use the [PromptTemplate](https://python.langchain.com/en/latest/modules/prompts/getting_started.html) class to construct the prompt from a f-string template. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.memory import ConversationBufferMemory\n", + "from langchain import PromptTemplate\n", + "\n", + "# turn verbose to true to see the full logs and documents\n", + "conversation= ConversationChain(\n", + " llm=cl_llm, verbose=False, memory=ConversationBufferMemory() #memory_chain\n", + ")\n", + "\n", + "# langchain prompts do not always work with all the models. This prompt is tuned for Claude\n", + "claude_prompt = PromptTemplate.from_template(\"\"\"The following is a friendly conversation between a human and an AI.\n", + "The AI is talkative and provides lots of specific details from its context. If the AI does not know\n", + "the answer to a question, it truthfully says it does not know.\n", + "\n", + "Current conversation:\n", + "{history}\n", + "\n", + "\n", + "Human: {input}\n", + "\n", + "\n", + "Assistant:\n", + "\"\"\")\n", + " \n", + "conversation.prompt = claude_prompt\n", + "\n", + "print_ww(conversation.predict(input=\"Hi there!\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### New Questions\n", + "\n", + "Model has responded with intial message, let's ask few questions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"Give me a few tips on how to start a new garden.\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Build on the questions\n", + "\n", + "Let's ask a question without mentioning the word garden to see if model can understand previous conversation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"Cool. Will that work with tomatoes?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Finishing this conversation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"That's all, thank you!\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Claude is still really talkative. Try changing the prompt to make Claude provide shorter answers." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### Interactive session using ipywidgets\n", + "\n", + "The following utility class allows us to interact with Claude in a more natural way. We write out question in an input box, and get Claude answer. We can then continue our conversation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import ipywidgets as ipw\n", + "from IPython.display import display, clear_output\n", + "\n", + "class ChatUX:\n", + " \"\"\" A chat UX using IPWidgets\n", + " \"\"\"\n", + " def __init__(self, qa, retrievalChain = False):\n", + " self.qa = qa\n", + " self.name = None\n", + " self.b=None\n", + " self.retrievalChain = retrievalChain\n", + " self.out = ipw.Output()\n", + "\n", + "\n", + " def start_chat(self):\n", + " print(\"Starting chat bot\")\n", + " display(self.out)\n", + " self.chat(None)\n", + "\n", + "\n", + " def chat(self, _):\n", + " if self.name is None:\n", + " prompt = \"\"\n", + " else: \n", + " prompt = self.name.value\n", + " if 'q' == prompt or 'quit' == prompt or 'Q' == prompt:\n", + " print(\"Thank you , that was a nice chat !!\")\n", + " return\n", + " elif len(prompt) > 0:\n", + " with self.out:\n", + " thinking = ipw.Label(value=\"Thinking...\")\n", + " display(thinking)\n", + " try:\n", + " if self.retrievalChain:\n", + " result = self.qa.run({'question': prompt })\n", + " else:\n", + " result = self.qa.run({'input': prompt }) #, 'history':chat_history})\n", + " except:\n", + " result = \"No answer\"\n", + " thinking.value=\"\"\n", + " print_ww(f\"AI:{result}\")\n", + " self.name.disabled = True\n", + " self.b.disabled = True\n", + " self.name = None\n", + " \n", + " if self.name is None:\n", + " with self.out:\n", + " self.name = ipw.Text(description=\"You:\", placeholder='q to quit')\n", + " self.b = ipw.Button(description=\"Send\")\n", + " self.b.on_click(self.chat)\n", + " display(ipw.Box(children=(self.name, self.b)))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start a chat. You can also test the following questions:\n", + "1. tell me a joke\n", + "2. tell me another joke\n", + "3. what was the first joke about\n", + "4. can you make another joke on the same topic of the first joke" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chat = ChatUX(conversation)\n", + "chat.start_chat()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Chatbot with persona" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "AI assistant will play the role of a career coach. Role Play Dialogue requires user message to be set in before starting the chat. ConversationBufferMemory is used to pre-populate the dialog" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# store previous interactions using ConversationalBufferMemory and add custom prompts to the chat.\n", + "memory = ConversationBufferMemory()\n", + "memory.chat_memory.add_user_message(\"You will be acting as a career coach. Your goal is to give career advice to users\")\n", + "memory.chat_memory.add_ai_message(\"I am career coach and give career advice\")\n", + "cl_llm = Bedrock(model_id=\"anthropic.claude-v1\",client=boto3_bedrock)\n", + "conversation = ConversationChain(\n", + " llm=cl_llm, verbose=True, memory=memory\n", + ")\n", + "\n", + "conversation.prompt = claude_prompt\n", + "\n", + "print_ww(conversation.predict(input=\"What are the career options in AI?\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"What these people really do? Is it fun?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Let's ask a question that is not specialty of this Persona and the model shouldn't answer that question and give a reason for that" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conversation.verbose = False\n", + "print_ww(conversation.predict(input=\"How to fix my car?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot with Context \n", + "In this use case we will ask the Chatbot to answer question from some external corpus it has likely never seen before. To do this we apply a pattern called RAG (Retrieval Augmented Generation): the idea is to index the corpus in chunks, then lookup which sections of the corpus might be relevant to provide an answer by using semantic similarity between the chunks and the question. Finally the most relevant chunks are aggregated and passed as context to the ConversationChain, similar to providing an history.\n", + "\n", + "We will take a csv file and use **Titan Embeddings Model** to create vectors for each line of the csv. This vector is then stored in FAISS, an open source library providing an in-memory vector datastore. When the chatbot is asked a question, we query FAISS with the question and retrieve the text which is semantically closest. This will be our answer. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Titan embeddings Model\n", + "\n", + "Embeddings are a way to represent words, phrases or any other discrete items as vectors in a continuous vector space. This allows machine learning models to perform mathematical operations on these representations and capture semantic relationships between them.\n", + "\n", + "Embeddings are for example used for the RAG [document search capability](https://labelbox.com/blog/how-vector-similarity-search-works/) \n", + "\n", + "Other possible use for embeddings can be found here. [LangChain Embeddings](https://python.langchain.com/en/latest/reference/modules/embeddings.html)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from langchain.embeddings import BedrockEmbeddings\n", + "\n", + "br_embeddings = BedrockEmbeddings(client=boto3_bedrock)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### FAISS as VectorStore\n", + "\n", + "In order to be able to use embeddings for search, we need a store that can efficiently perform vector similarity searches. In this notebook we use FAISS, which is an in memory store. For permanently store vectors, one can use pgVector, Pinecone or Chroma.\n", + "\n", + "The langchain VectorStore Api's are available [here](https://python.langchain.com/en/harrison-docs-refactor-3-24/reference/modules/vectorstore.html)\n", + "\n", + "To know more about the FAISS vector store please refer to this [document](https://arxiv.org/pdf/1702.08734.pdf)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.document_loaders import CSVLoader\n", + "from langchain.text_splitter import CharacterTextSplitter\n", + "from langchain.indexes.vectorstore import VectorStoreIndexWrapper\n", + "from langchain.vectorstores import FAISS\n", + "\n", + "s3_path = f\"s3://jumpstart-cache-prod-us-east-2/training-datasets/Amazon_SageMaker_FAQs/Amazon_SageMaker_FAQs.csv\"\n", + "!aws s3 cp $s3_path ./rag_data/Amazon_SageMaker_FAQs.csv\n", + "\n", + "loader = CSVLoader(\"./rag_data/Amazon_SageMaker_FAQs.csv\") # --- > 219 docs with 400 chars, each row consists in a question column and an answer column\n", + "documents_aws = loader.load() #\n", + "print(f\"Number of documents={len(documents_aws)}\")\n", + "\n", + "docs = CharacterTextSplitter(chunk_size=2000, chunk_overlap=400, separator=\",\").split_documents(documents_aws)\n", + "\n", + "print(f\"Number of documents after split and chunking={len(docs)}\")\n", + "\n", + "vectorstore_faiss_aws = FAISS.from_documents(\n", + " documents=docs,\n", + " embedding = br_embeddings\n", + ")\n", + "\n", + "print(f\"vectorstore_faiss_aws: number of elements in the index={vectorstore_faiss_aws.index.ntotal}::\")\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Semantic search\n", + "\n", + "We can use a Wrapper class provided by LangChain to query the vector data base store and return to us the relevant documents. Behind the scenes this is only going to run a RetrievalQA chain." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "wrapper_store_faiss = VectorStoreIndexWrapper(vectorstore=vectorstore_faiss_aws)\n", + "print_ww(wrapper_store_faiss.query(\"R in SageMaker\", llm=cl_llm))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's see how the semantic search works:\n", + "1. First we calculate the embeddings vector for the query, and\n", + "2. then we use this vector to do a similarity search on the store" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "v = br_embeddings.embed_query(\"R in SageMaker\")\n", + "print(v[0:10])\n", + "results = vectorstore_faiss_aws.similarity_search_by_vector(v, k=4)\n", + "for r in results:\n", + " print_ww(r.page_content)\n", + " print('----')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Memory\n", + "In any chatbot we will need a QA Chain with various options which are customized by the use case. But in a chatbot we will always need to keep the history of the conversation so the model can take it into consideration to provide the answer. In this example we use the [ConversationalRetrievalChain](https://python.langchain.com/docs/modules/chains/popular/chat_vector_db) from LangChain, together with a ConversationBufferMemory to keep the history of the conversation.\n", + "\n", + "Source: https://python.langchain.com/docs/modules/chains/popular/chat_vector_db\n", + "\n", + "Set `verbose` to `True` to see all the what is going on behind the scenes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "\n", + "from langchain.chains.conversational_retrieval.prompts import CONDENSE_QUESTION_PROMPT\n", + "\n", + "print_ww(CONDENSE_QUESTION_PROMPT.template)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Parameters used for ConversationRetrievalChain\n", + "* **retriever**: We used `VectorStoreRetriever`, which is backed by a `VectorStore`. To retrieve text, there are two search types you can choose: `\"similarity\"` or `\"mmr\"`. `search_type=\"similarity\"` uses similarity search in the retriever object where it selects text chunk vectors that are most similar to the question vector.\n", + "\n", + "* **memory**: Memory Chain to store the history \n", + "\n", + "* **condense_question_prompt**: Given a question from the user, we use the previous conversation and that question to make up a standalone question\n", + "\n", + "* **chain_type**: If the chat history is long and doesn't fit the context you use this parameter and the options are `stuff`, `refine`, `map_reduce`, `map-rerank`\n", + "\n", + "If the question asked is outside the scope of context, then the model will reply it doesn't know the answer\n", + "\n", + "**Note**: if you are curious how the chain works, uncomment the `verbose=True` line." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# turn verbose to true to see the full logs and documents\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.memory import ConversationBufferMemory\n", + "\n", + "memory_chain = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)\n", + "qa = ConversationalRetrievalChain.from_llm(\n", + " llm=cl_llm, \n", + " retriever=vectorstore_faiss_aws.as_retriever(), \n", + " memory=memory_chain,\n", + " condense_question_prompt=CONDENSE_QUESTION_PROMPT,\n", + " #verbose=True, \n", + " chain_type='stuff', # 'refine',\n", + " #max_tokens_limit=300\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's chat! ask the chatbot some questions about SageMaker, like:\n", + "1. What is SageMaker?\n", + "2. What is canvas?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chat = ChatUX(qa, retrievalChain=True)\n", + "chat.start_chat()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Your mileage might vary, but after 2 or 3 questions you will start to get some weird answers. In some cases, even in other languages.\n", + "This is happening for the same reasons outlined at the beginning of this notebook: the default langchain prompts are not optimal for Claude. \n", + "In the following cell we are going to set two new prompts: one for the question rephrasing, and one to get the answer from that rephrased question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# turn verbose to true to see the full logs and documents\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.schema import BaseMessage\n", + "\n", + "\n", + "# We are also providing a different chat history retriever which outputs the history as a Claude chat (ie including the \\n\\n)\n", + "_ROLE_MAP = {\"human\": \"\\n\\nHuman: \", \"ai\": \"\\n\\nAssistant: \"}\n", + "def _get_chat_history(chat_history):\n", + " buffer = \"\"\n", + " for dialogue_turn in chat_history:\n", + " if isinstance(dialogue_turn, BaseMessage):\n", + " role_prefix = _ROLE_MAP.get(dialogue_turn.type, f\"{dialogue_turn.type}: \")\n", + " buffer += f\"\\n{role_prefix}{dialogue_turn.content}\"\n", + " elif isinstance(dialogue_turn, tuple):\n", + " human = \"\\n\\nHuman: \" + dialogue_turn[0]\n", + " ai = \"\\n\\nAssistant: \" + dialogue_turn[1]\n", + " buffer += \"\\n\" + \"\\n\".join([human, ai])\n", + " else:\n", + " raise ValueError(\n", + " f\"Unsupported chat history format: {type(dialogue_turn)}.\"\n", + " f\" Full chat history: {chat_history} \"\n", + " )\n", + " return buffer\n", + "\n", + "# the condense prompt for Claude\n", + "condense_prompt_claude = PromptTemplate.from_template(\"\"\"{chat_history}\n", + "\n", + "Answer only with the new question.\n", + "\n", + "\n", + "Human: How would you ask the question considering the previous conversation: {question}\n", + "\n", + "\n", + "Assistant: Question:\"\"\")\n", + "\n", + "# recreate the Claude LLM with more tokens to sample - this provide longer responses but introduces some latency\n", + "cl_llm = Bedrock(model_id=\"anthropic.claude-v1\", client=boto3_bedrock, model_kwargs={\"max_tokens_to_sample\": 500})\n", + "memory_chain = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)\n", + "qa = ConversationalRetrievalChain.from_llm(\n", + " llm=cl_llm, \n", + " retriever=vectorstore_faiss_aws.as_retriever(), \n", + " #retriever=vectorstore_faiss_aws.as_retriever(search_type='similarity', search_kwargs={\"k\": 8}),\n", + " memory=memory_chain,\n", + " get_chat_history=_get_chat_history,\n", + " #verbose=True,\n", + " condense_question_prompt=condense_prompt_claude, \n", + " chain_type='stuff', # 'refine',\n", + " #max_tokens_limit=300\n", + ")\n", + "\n", + "# the LLMChain prompt to get the answer. the ConversationalRetrievalChange does not expose this parameter in the constructor\n", + "qa.combine_docs_chain.llm_chain.prompt = PromptTemplate.from_template(\"\"\"\n", + "{context}\n", + "\n", + "\n", + "Human: Use at maximum 3 sentences to answer the question inside the XML tags. \n", + "\n", + "{question}\n", + "\n", + "Do not use any XML tags in the answer. If the answer is not in the context say \"Sorry, I don't know as the answer was not found in the context\"\n", + "\n", + "Assistant:\"\"\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start another chat. Feel free to ask the following questions:\n", + "\n", + "1. What is SageMaker?\n", + "2. what is canvas?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chat = ChatUX(qa, retrievalChain=True)\n", + "chat.start_chat()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Do some prompt engineering\n", + "\n", + "You can \"tune\" your prompt to get more or less verbose answers. For example, try to change the number of sentences, or remove that instruction all-together. You might also need to change the number of `max_tokens_to_sample` (eg 1000 or 2000) to get the full answer." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In this demo we used Claude LLM to create conversational interface with following patterns:\n", + "\n", + "1. Chatbot (Basic - without context)\n", + "\n", + "2. Chatbot using prompt template(Langchain)\n", + "\n", + "3. Chatbot with personas\n", + "\n", + "4. Chatbot with context" + ] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/04_Chatbot/00_Chatbot_Titan.ipynb b/04_Chatbot/00_Chatbot_Titan.ipynb new file mode 100644 index 00000000..772e6327 --- /dev/null +++ b/04_Chatbot/00_Chatbot_Titan.ipynb @@ -0,0 +1,1277 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conversational Interface - Chatbot with Titan LLM\n", + "\n", + "In this notebook, we will build a chatbot using the Foundational Models (FMs) in Amazon Bedrock. For our use-case we use Titan as our FM for building the chatbot.\n", + "\n", + "Amazon Bedrock currently supports the following Claude models:\n", + "| Provider | Model Name | Versions | `id` |\n", + "| --- | --- | --- | --- |\n", + "| Amazon | Titan Text | Large | `amazon.titan-tg1-large` |\n", + "|" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "\n", + "Conversational interfaces such as chatbots and virtual assistants can be used to enhance the user experience for your customers.Chatbots uses natural language processing (NLP) and machine learning algorithms to understand and respond to user queries. Chatbots can be used in a variety of applications, such as customer service, sales, and e-commerce, to provide quick and efficient responses to users. They can be accessed through various channels such as websites, social media platforms, and messaging apps.\n", + "\n", + "\n", + "## Chatbot using Amazon Bedrock\n", + "\n", + "![Amazon Bedrock - Conversational Interface](./images/chatbot_bedrock.png)\n", + "\n", + "\n", + "## Use Cases\n", + "\n", + "1. **Chatbot (Basic)** - Zero Shot chatbot with a FM model\n", + "2. **Chatbot using prompt** - template(Langchain) - Chatbot with some context provided in the prompt template\n", + "3. **Chatbot with persona** - Chatbot with defined roles. i.e. Career Coach and Human interactions\n", + "4. **Contextual-aware chatbot** - Passing in context through an external file by generating embeddings.\n", + "\n", + "## Langchain framework for building Chatbot with Amazon Bedrock\n", + "In Conversational interfaces such as chatbots, it is highly important to remember previous interactions, both at a short term but also at a long term level.\n", + "\n", + "LangChain provides memory components in two forms. First, LangChain provides helper utilities for managing and manipulating previous chat messages. These are designed to be modular and useful regardless of how they are used. Secondly, LangChain provides easy ways to incorporate these utilities into chains.\n", + "It allows us to easily define and interact with different types of abstractions, which make it easy to build powerful chatbots.\n", + "\n", + "## Building Chatbot with Context - Key Elements\n", + "\n", + "The first process in a building a contextual-aware chatbot is to **generate embeddings** for the context. Typically, you will have an ingestion process which will run through your embedding model and generate the embeddings which will be stored in a sort of a vector store. In this example we are using a GPT-J embeddings model for this\n", + "\n", + "![Embeddings](./images/embeddings_lang.png)\n", + "\n", + "Second process is the user request orchestration , interaction, invoking and returing the results\n", + "\n", + "![Chatbot](./images/chatbot_lang.png)\n", + "\n", + "## Architecture [Context Aware Chatbot]\n", + "![4](./images/context-aware-chatbot.png)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ⚠️⚠️⚠️ Execute the following cells before running this notebook ⚠️⚠️⚠️\n", + "\n", + "For a detailed description on what the following cells do refer to [Bedrock boto3 setup](../00_Intro/bedrock_boto3_setup.ipynb) notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure you run `download-dependencies.sh` from the root of the repository to download the dependencies before running this cell\n", + "%pip install ../dependencies/botocore-1.29.162-py3-none-any.whl ../dependencies/boto3-1.26.162-py3-none-any.whl ../dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Installing the dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install faiss-cpu==1.7.4 --quiet\n", + "%pip install pypdf==3.8.1 --quiet\n", + "%pip install langchain==0.0.190 --quiet\n", + "%pip install ipywidgets==7.7.0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#### Un comment the following lines to run from your local environment outside of the AWS account with Bedrock access\n", + "\n", + "#import os\n", + "#os.environ['BEDROCK_ASSUME_ROLE'] = ''\n", + "#os.environ['AWS_PROFILE'] = ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import json\n", + "import os\n", + "import sys\n", + "\n", + "module_path = \"..\"\n", + "sys.path.append(os.path.abspath(module_path))\n", + "from utils import bedrock, print_ww\n", + "\n", + "os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'\n", + "boto3_bedrock = bedrock.get_bedrock_client(os.environ.get('BEDROCK_ASSUME_ROLE', None))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.chains import ConversationChain\n", + "from langchain.memory import ConversationBufferMemory" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot (Basic - without context)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "#### Using CoversationChain from LangChain to start the conversation\n", + "Chatbots needs to remember the previous interactions. Conversational memory allows us to do that.There are several ways that we can implement conversational memory. In the context of LangChain, they are all built on top of the ConversationChain.\n", + "\n", + "Note: The model outputs are non-deterministic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.llms.bedrock import Bedrock\n", + "\n", + "titan_llm = Bedrock(model_id=\"amazon.titan-tg1-large\", client=boto3_bedrock)\n", + "memory = ConversationBufferMemory()\n", + "conversation = ConversationChain(\n", + " llm=titan_llm, verbose=True, memory=memory\n", + ")\n", + "\n", + "print_ww(conversation.predict(input=\"Hi there!\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### New Questions\n", + "\n", + "Model has responded with intial message, let's ask few questions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"Give me a few tips on how to start a new garden.\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Build on the questions\n", + "\n", + "Let's ask a question without mentioning the word garden to see if model can understand previous conversation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"Cool. Will that work with tomatoes?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Finishing this conversation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print_ww(conversation.predict(input=\"That's all, thank you!\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot using prompt template(Langchain)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PromptTemplate is responsible for the construction of this input. LangChain provides several classes and functions to make constructing and working with prompts easy. We will use the default Prompt Template here. [PromptTemplate](https://python.langchain.com/en/latest/modules/prompts/getting_started.html)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.memory import ConversationBufferMemory\n", + "from langchain import PromptTemplate\n", + "\n", + "chat_history = []\n", + "\n", + "# turn verbose to true to see the full logs and documents\n", + "qa= ConversationChain(\n", + " llm=titan_llm, verbose=False, memory=ConversationBufferMemory() #memory_chain\n", + ")\n", + "\n", + "print(f\"ChatBot:DEFAULT:PROMPT:TEMPLATE: is ={qa.prompt.template}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import ipywidgets as ipw\n", + "from IPython.display import display, clear_output\n", + "\n", + "class ChatUX:\n", + " \"\"\" A chat UX using IPWidgets\n", + " \"\"\"\n", + " def __init__(self, qa, retrievalChain = False):\n", + " self.qa = qa\n", + " self.name = None\n", + " self.b=None\n", + " self.retrievalChain = retrievalChain\n", + " self.out = ipw.Output()\n", + "\n", + "\n", + " def start_chat(self):\n", + " print(\"Starting chat bot\")\n", + " display(self.out)\n", + " self.chat(None)\n", + "\n", + "\n", + " def chat(self, _):\n", + " if self.name is None:\n", + " prompt = \"\"\n", + " else: \n", + " prompt = self.name.value\n", + " if 'q' == prompt or 'quit' == prompt or 'Q' == prompt:\n", + " print(\"Thank you , that was a nice chat !!\")\n", + " return\n", + " elif len(prompt) > 0:\n", + " with self.out:\n", + " thinking = ipw.Label(value=\"Thinking...\")\n", + " display(thinking)\n", + " try:\n", + " if self.retrievalChain:\n", + " result = self.qa.run({'question': prompt })\n", + " else:\n", + " result = self.qa.run({'input': prompt }) #, 'history':chat_history})\n", + " except:\n", + " result = \"No answer\"\n", + " thinking.value=\"\"\n", + " print_ww(f\"AI:{result}\")\n", + " self.name.disabled = True\n", + " self.b.disabled = True\n", + " self.name = None\n", + " \n", + " if self.name is None:\n", + " with self.out:\n", + " self.name = ipw.Text(description=\"You:\", placeholder='q to quit')\n", + " self.b = ipw.Button(description=\"Send\")\n", + " self.b.on_click(self.chat)\n", + " display(ipw.Box(children=(self.name, self.b)))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start a chat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chat = ChatUX(qa)\n", + "chat.start_chat()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Chatbot with persona" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "AI assistant will play the role of a career coach. Role Play Dialogue requires user message to be set in before starting the chat. ConversationBufferMemory is used to pre-populate the dialog" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "memory = ConversationBufferMemory()\n", + "memory.chat_memory.add_user_message(\"You will be acting as a career coach. Your goal is to give career advice to users\")\n", + "memory.chat_memory.add_ai_message(\"I am career coach and give career advice\")\n", + "titan_llm = Bedrock(model_id=\"amazon.titan-tg1-large\",client=boto3_bedrock)\n", + "conversation = ConversationChain(\n", + " llm=titan_llm, verbose=True, memory=memory\n", + ")\n", + "\n", + "print_ww(conversation.predict(input=\"What are the career options in AI?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Let's ask a question that is not specaility of this Persona and the model shouldnn't answer that question and give a reason for that" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conversation.verbose = False\n", + "print_ww(conversation.predict(input=\"How to fix my car?\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chatbot with Context \n", + "In this use case we will ask the Chatbot to answer question from the context that it was passed. We will take a csv file and use Titan embeddings Model to create the vector. This vector is stored in FAISS. When chatbot is asked a question we pass this vector and retrieve the answer. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Use a Titan embeddings Model - so we can use that to generate the embeddings for the documents\n", + "\n", + "Embeddings are a way to represent words, phrases or any other discrete items as vectors in a continuous vector space. This allows machine learning models to perform mathematical operations on these representations and capture semantic relationships between them.\n", + "\n", + "\n", + "This will be used for the RAG [document search capability](https://labelbox.com/blog/how-vector-similarity-search-works/) \n", + "\n", + "Other Embeddings posible are here. [LangChain Embeddings](https://python.langchain.com/en/latest/reference/modules/embeddings.html)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.embeddings import BedrockEmbeddings\n", + "from langchain.vectorstores import FAISS\n", + "from langchain import PromptTemplate\n", + "\n", + "br_embeddings = BedrockEmbeddings(client=boto3_bedrock)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create the embeddings for document search" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Vector store indexer. \n", + "\n", + "This is what stores and matches the embeddings.This notebook showcases Chroma and FAISS and will be transient and in memory. The VectorStore Api's are available [here](https://python.langchain.com/en/harrison-docs-refactor-3-24/reference/modules/vectorstore.html)\n", + "\n", + "We will use our own Custom implementation of SageMaker Embeddings which needs a reference to the SageMaker endpoint to call the model which will return the embeddings. This will be used by the FAISS or Chroma to store in memory and be used when ever the User runs a query" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### VectorStore as FAISS \n", + "\n", + "You can read up about [FAISS](https://arxiv.org/pdf/1702.08734.pdf) in memory vector store here. However for our example it will be the same \n", + "\n", + "Chroma\n", + "\n", + "[Chroma](https://www.trychroma.com/) is a super simple vector search database. The core-API consists of just four functions, allowing users to build an in-memory document-vector store. By default Chroma uses the Hugging Face transformers library to vectorize documents.\n", + "\n", + "Weaviate\n", + "\n", + "[Weaviate](https://github.com/weaviate/weaviate) is a very posh looking tool - not only does Weaviate offer a GraphQL API with support for vector search. It also allows users to vectorize their content using Weaviate's inbuilt modules or custom modules." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.document_loaders import CSVLoader\n", + "from langchain.text_splitter import CharacterTextSplitter\n", + "from langchain.indexes.vectorstore import VectorStoreIndexWrapper\n", + "\n", + "s3_path = f\"s3://jumpstart-cache-prod-us-east-2/training-datasets/Amazon_SageMaker_FAQs/Amazon_SageMaker_FAQs.csv\"\n", + "!aws s3 cp $s3_path ./rag_data/Amazon_SageMaker_FAQs.csv\n", + "\n", + "loader = CSVLoader(\"./rag_data/Amazon_SageMaker_FAQs.csv\") # --- > 219 docs with 400 chars\n", + "documents_aws = loader.load() #\n", + "print(f\"documents:loaded:size={len(documents_aws)}\")\n", + "\n", + "docs = CharacterTextSplitter(chunk_size=2000, chunk_overlap=400, separator=\",\").split_documents(documents_aws)\n", + "\n", + "print(f\"Documents:after split and chunking size={len(docs)}\")\n", + "\n", + "vectorstore_faiss_aws = FAISS.from_documents(\n", + " documents=docs,\n", + " embedding = br_embeddings, \n", + " #**k_args\n", + ")\n", + "\n", + "print(f\"vectorstore_faiss_aws:created={vectorstore_faiss_aws}::\")\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### To run a quick low code test \n", + "\n", + "We can use a Wrapper class provided by LangChain to query the vector data base store and return to us the relevant documents. Behind the scenes this is only going to run a QA Chain with all default values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "wrapper_store_faiss = VectorStoreIndexWrapper(vectorstore=vectorstore_faiss_aws)\n", + "print_ww(wrapper_store_faiss.query(\"R in SageMaker\", llm=titan_llm))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Chatbot application\n", + "\n", + "For the chatbot we need context management, history, vector stores, and many other things. We will start by with a ConversationalRetrievalChain\n", + "\n", + "This uses conversation memory and RetrievalQAChain which Allow for passing in chat history which can be used for follow up questions.Source: https://python.langchain.com/en/latest/modules/chains/index_examples/chat_vector_db.html\n", + "\n", + "Set verbose to True to see all the what is going on behind the scenes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationChain\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "from langchain.chains.conversational_retrieval.prompts import CONDENSE_QUESTION_PROMPT\n", + "\n", + "\n", + "def create_prompt_template():\n", + " _template = \"\"\"{chat_history}\n", + "\n", + "Answer only with the new question.\n", + "How would you ask the question considering the previous conversation: {question}\n", + "Question:\"\"\"\n", + " CONVO_QUESTION_PROMPT = PromptTemplate.from_template(_template)\n", + " return CONVO_QUESTION_PROMPT\n", + "\n", + "memory_chain = ConversationBufferMemory(memory_key=\"chat_history\", input_key=\"question\", return_messages=True)\n", + "chat_history=[]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Parameters used for ConversationRetrievalChain\n", + "retriever: We used VectoreStoreRetriver, which is backed by a VectorStore. To retrieve text, there are two search types you can choose: search_type: “similarity” or “mmr”. search_type=\"similarity\" uses similarity search in the retriever object where it selects text chunk vectors that are most similar to the question vector.\n", + "\n", + "memory: Memory Chain to store the history \n", + "\n", + "condense_question_prompt: Given a question from the user, we use the previous conversation and that question to make up a standalone question\n", + "\n", + "chain_type: If the chat history is long and doesn't fit the context you use this parameter and the options are \"stuff\", \"refine\", \"map_reduce\", \"map-rerank\"\n", + "\n", + "Note: If the question asked is outside the scope of context passed then the model will reply it doesn't know the answer" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# turn verbose to true to see the full logs and documents\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.chains import ConversationChain\n", + "from langchain.chains import ConversationalRetrievalChain\n", + "qa = ConversationalRetrievalChain.from_llm(\n", + " llm=titan_llm, \n", + " retriever=vectorstore_faiss_aws.as_retriever(), \n", + " #retriever=vectorstore_faiss_aws.as_retriever(search_type='similarity', search_kwargs={\"k\": 8}),\n", + " memory=memory_chain,\n", + " #verbose=True,\n", + " #condense_question_prompt=CONDENSE_QUESTION_PROMPT, # create_prompt_template(), \n", + " chain_type='stuff', # 'refine',\n", + " #max_tokens_limit=100\n", + ")\n", + "\n", + "qa.combine_docs_chain.llm_chain.prompt = PromptTemplate.from_template(\"\"\"\n", + "{context}\n", + "\n", + "Use at maximum 3 sentences to answer the question inside the XML tags. \n", + "\n", + "{question}\n", + "\n", + "Do not use any XML tags in the answer. If the answer is not in the context say \"Sorry, I don't know, as the answer was not found in the context.\"\n", + "\n", + "Answer:\"\"\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start a chat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "chat = ChatUX(qa, retrievalChain=True)\n", + "chat.start_chat()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In this demo we used Titan LLM to create conversational interface with following patterns:\n", + "\n", + "1. Chatbot (Basic - without context)\n", + "\n", + "2. Chatbot using prompt template(Langchain)\n", + "\n", + "3. Chatbot with personas\n", + "\n", + "4. Chatbot with context" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "availableInstances": [ + { + "_defaultOrder": 0, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.t3.medium", + "vcpuNum": 2 + }, + { + "_defaultOrder": 1, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.t3.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 2, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.t3.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 3, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.t3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 4, + "_isFastLaunch": true, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 5, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 6, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 7, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 8, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 9, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 10, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 11, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 12, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.m5d.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 13, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.m5d.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 14, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.m5d.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 15, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.m5d.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 16, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.m5d.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 17, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.m5d.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 18, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.m5d.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 19, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.m5d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 20, + "_isFastLaunch": false, + "category": "General purpose", + "gpuNum": 0, + "hideHardwareSpecs": true, + "memoryGiB": 0, + "name": "ml.geospatial.interactive", + "supportedImageNames": [ + "sagemaker-geospatial-v1-0" + ], + "vcpuNum": 0 + }, + { + "_defaultOrder": 21, + "_isFastLaunch": true, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 4, + "name": "ml.c5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 22, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 8, + "name": "ml.c5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 23, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.c5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 24, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.c5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 25, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 72, + "name": "ml.c5.9xlarge", + "vcpuNum": 36 + }, + { + "_defaultOrder": 26, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 96, + "name": "ml.c5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 27, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 144, + "name": "ml.c5.18xlarge", + "vcpuNum": 72 + }, + { + "_defaultOrder": 28, + "_isFastLaunch": false, + "category": "Compute optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.c5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 29, + "_isFastLaunch": true, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g4dn.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 30, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g4dn.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 31, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g4dn.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 32, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g4dn.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 33, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g4dn.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 34, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g4dn.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 35, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 61, + "name": "ml.p3.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 36, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 244, + "name": "ml.p3.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 37, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 488, + "name": "ml.p3.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 38, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.p3dn.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 39, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.r5.large", + "vcpuNum": 2 + }, + { + "_defaultOrder": 40, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.r5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 41, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.r5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 42, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.r5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 43, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.r5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 44, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.r5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 45, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 512, + "name": "ml.r5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 46, + "_isFastLaunch": false, + "category": "Memory Optimized", + "gpuNum": 0, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.r5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 47, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 16, + "name": "ml.g5.xlarge", + "vcpuNum": 4 + }, + { + "_defaultOrder": 48, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 32, + "name": "ml.g5.2xlarge", + "vcpuNum": 8 + }, + { + "_defaultOrder": 49, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 64, + "name": "ml.g5.4xlarge", + "vcpuNum": 16 + }, + { + "_defaultOrder": 50, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 128, + "name": "ml.g5.8xlarge", + "vcpuNum": 32 + }, + { + "_defaultOrder": 51, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 1, + "hideHardwareSpecs": false, + "memoryGiB": 256, + "name": "ml.g5.16xlarge", + "vcpuNum": 64 + }, + { + "_defaultOrder": 52, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 192, + "name": "ml.g5.12xlarge", + "vcpuNum": 48 + }, + { + "_defaultOrder": 53, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 4, + "hideHardwareSpecs": false, + "memoryGiB": 384, + "name": "ml.g5.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 54, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 768, + "name": "ml.g5.48xlarge", + "vcpuNum": 192 + }, + { + "_defaultOrder": 55, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4d.24xlarge", + "vcpuNum": 96 + }, + { + "_defaultOrder": 56, + "_isFastLaunch": false, + "category": "Accelerated computing", + "gpuNum": 8, + "hideHardwareSpecs": false, + "memoryGiB": 1152, + "name": "ml.p4de.24xlarge", + "vcpuNum": 96 + } + ], + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/04_Chatbot/README.md b/04_Chatbot/README.md new file mode 100644 index 00000000..29cc40d3 --- /dev/null +++ b/04_Chatbot/README.md @@ -0,0 +1,49 @@ +# Conversational Interface - Chatbots + +## Overview + +Conversational interfaces such as chatbots and virtual assistants can be used to enhance the user experience for your customers.Chatbots uses natural language processing (NLP) and machine learning algorithms to understand and respond to user queries. Chatbots can be used in a variety of applications, such as customer service, sales, and e-commerce, to provide quick and efficient responses to users. They can be accessed through various channels such as websites, social media platforms, and messaging apps. + + +## Chatbot using Amazon Bedrock + +![Amazon Bedrock - Conversational Interface](./images/chatbot_bedrock.png) + +## Use Cases + +1. **Chatbot (Basic)** - Zero Shot chatbot with a FM model +2. **Chatbot using prompt** - template(Langchain) - Chatbot with some context provided in the prompt template +3. **Chatbot with persona** - Chatbot with defined roles. i.e. Career Coach and Human interactions +4. **Contextual-aware chatbot** - Passing in context through an external file by generating embeddings. + +## Langchain framework for building Chatbot with Amazon Bedrock +In Conversational interfaces such as chatbots, it is highly important to remember previous interactions, both at a short term but also at a long term level. + +LangChain provides memory components in two forms. First, LangChain provides helper utilities for managing and manipulating previous chat messages. These are designed to be modular and useful regardless of how they are used. Secondly, LangChain provides easy ways to incorporate these utilities into chains. +It allows us to easily define and interact with different types of abstractions, which make it easy to build powerful chatbots. + +## Building Chatbot with Context - Key Elements + +The first process in a building a contextual-aware chatbot is to **generate embeddings** for the context. Typically, you will have an ingestion process which will run through your embedding model and generate the embeddings which will be stored in a sort of a vector store. In this example we are using a GPT-J embeddings model for this + +![Embeddings](./images/embeddings_lang.png) + +Second process is the user request orchestration , interaction, invoking and returing the results + +![Chatbot](./images/chatbot_lang.png) + +## Architecture [Context Aware Chatbot] +![4](./images/context-aware-chatbot.png) + +In this architecture: + +1. The question asked to the LLM, is run through the embeddings model +2. The context documents are embedded using the [Amazon Titan Embeddings Model](https://aws.amazon.com/bedrock/titan/) and stored in the vector database. +3. The embedded text is then input to the FM for contextual search and including the chat history +4. The FM model then gives you the results based on the context. + +## Notebooks +This module provides you with 2 notebooks for the same pattern. You can experience conversation with Anthropic Claude as well as Amazon Titan Text Large to experience each the conversational power of each model. + +1. [Chatbot using Claude](./00_Chatbot_Claude.ipynb) +2. [Chatbot using Titan](./00_Chatbot_Titan.ipynb) diff --git a/04_Chatbot/images/chatbot_bedrock.png b/04_Chatbot/images/chatbot_bedrock.png new file mode 100644 index 0000000000000000000000000000000000000000..0350c8e1b2c6855712fe9a102e64ce77dcaa4674 GIT binary patch literal 169782 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ȹ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 Ji#>eye*g?mzS{r* literal 0 HcmV?d00001 diff --git a/04_Chatbot/images/chatbot_lang.png b/04_Chatbot/images/chatbot_lang.png new file mode 100644 index 0000000000000000000000000000000000000000..6c73f6020a66911fbef6d7b03a07644754d1ad50 GIT binary patch literal 14212 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 literal 0 HcmV?d00001 diff --git a/04_Chatbot/images/context-aware-chatbot.png b/04_Chatbot/images/context-aware-chatbot.png new file mode 100644 index 0000000000000000000000000000000000000000..70b409820e0d7fb56fba5c30df52f0d94a9f7732 GIT binary patch literal 270369 zcmb5W1z1#F*FTJelmgNU2!e<-C`b=uP$D7S2uL?bmm>l)lnE%^-QB1RC?MUbgM{?Z z&9_HE@B9DoK98T*HF7v}&faUU_^sG$6R0RJb(Y`)0R{%fSsCd&N*EY;Di|0zw0Nh% z9jYibMhuKI5cAu&6=iPUW>9pnH8Hm`#=wvce4~!5q5PRLR{Q01s2NN#`RN$;3%%s0 z9gKL=xHOmWN$x&_F&IkS!RhCs%umQ-B*?{iE+Nsdm^iTe1pcA9QX`+;RtehgHR&en?A-Pi9e(Gwej0jVC4P# z-!Pi(c3s>&$aZd3m~c<-m>&92oV_R>Mum5wIHxNjj4^@97Q zVLDXy4B1oHK=QN}`#0oi&8Smv6|DFOkr}ym zFBo)&QWsfx&KP1n^Yt4%_l>~A;vGZeSzet>W(f>&bc6+54YFHqH+c!-tdS#T5*)>s zHFeCh172neran1TJsp?xwMixDnjslOD%47k;aS*Y4GP16>g-4!zxMLP zGinX_VH%{IU&d*XX0<$*p>1Il$$`E}6bHsaZXZ_>rN(#z=LkG`#F=iW=+S4#w7i%k zo_?bHjqt7gN723NhUIS+%UiIUD-}jHo(4L>Po`_GiZf_IDAS%5CXpYMvxf{~Z1IkYK{+>nk@;75khoXwKVUkn7WCpm~84 zdn+321N269#3xC7sYHY?O9$hY)FUDlu2un>%;LlG;eecRj(cYK>Kd0no;z>xF}8uh zkb(C#^}XWv>-PF1G{gbwKI!u1xQjxfVYUZP)1JzIVESlzMBPG0URukxjxZn zr%TLkmeg}zN@KtHco*vYDY)C->p@smz2LnOVo7H|wQxpTb5&|_yF=^K<6>w1=m%c} zzjXR^@NkY^Dsw2aGBjV>a^K7Adqrw!PZWRGs*z`(OYiji8}m{MR`||%B0(_?ZAP3L zOb;HgfRC?dyIt{plOkaveKKK;X!hy54LA-oTs0(LwQrqW<-TIh6I*iN?Ypk9g8-`*a zZFq8-hr%T8RDT6^D@M_KOhtm`_jmJ&tT46T6XoO1^gUe@umqA;R}a{{Dt^~ zp*;+B3{o#%eR4}CtMGlq@;+uYden+t)FjG7Ng2p&WFAQ!74*h{LW5r|fdAvP=h?Xr zI|amo=hD8N8M&DIRZ)~^8rhAi*t+IPR*P#}Ka8?;6@WbUVOGRHjV#6N0Y7QQTa`AR8Ysqm#@hDOFM^Smzml&rh$uOTmbKT|&B zcDVdjDpp4C=9rAl75yul&&BWaT~#Bezste=s_=0kOi4;eu0p{rCp+6Jb3Q}#zGl3r zzMJpLsY%D?(PnxTK2Y;`wX%3NMcKWBGNe@(*f{jdb8b6Py6~y`d{*A{21b&c4jwZM)E-Nt)yj0D9!r$?qIJF zoJPwK1?t219VR^I2ZPTBJ2yTKgvq1_Hax773HZ#S%-${7ZP@MJjcY=Fow$gvsKmtD z1Z%2simcT%s{h@134^w)#zT$lGC@mJTUYb7_YMWdNyd3^aw�KV|mK*7ElbwYyh3 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�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