Skip to content

Commit

Permalink
Update to version v5.2.5
Browse files Browse the repository at this point in the history
  • Loading branch information
ihmaws committed Dec 19, 2022
1 parent 1c0d945 commit e3c75c0
Show file tree
Hide file tree
Showing 56 changed files with 21,658 additions and 732 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ pids
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
# Coverage directory used by tools like istanbul/sonar
**/coverage/
**/coverage-reports/
.coverage
coverage

# nyc test coverage
Expand Down
31 changes: 30 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [5.2.5] - 2022-12-19

### Updated

- Security patches for npm and pip packages
- Added Support for latest LexV2 languages (see [Multi-language Support](docs/multilanguage_support.md))
- Updated:
- English (IN), Spanish (LATAM), Portuguese (PR), Mandarin (PRC) to use neural voice
- New languages:
- Cantonese
- Dutch
- Finnish
- Gulf Arabic
- Hindi
- Norwegian
- Polish
- Swedish
- Added unit tests for translate lambda
- Added unit tests for schema lambda
- Added unit tests for qnabot-common-layer

### Fixed

- Fix undefined exception in kendra.js function
- Readd fulfillment widget into CloudWatch dashboard (#495)
- Convert template urls to https for nested stacks
- Update URLs and references to old repo/branch name
- Fix for case sensitivity on clientFilterValues (#518)

## [5.2.4] - 2022-11-19

### Updated
Expand Down Expand Up @@ -332,7 +361,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

- Bug fixes for Kendra FAQ integration
- Fix for exception - "Cannot convert undefined or null to object" when Session Attributes are no provided during Lex input. https://github.com/aws-samples/aws-ai-qna-bot/issues/229
- Fix for exception - "Cannot convert undefined or null to object" when Session Attributes are no provided during Lex input. https://github.com/aws-solutions/qnabot-on-aws/issues/229
- Package version updates to address current github dependabot alerts

## [4.3.0] - 2020-09-21
Expand Down
2 changes: 1 addition & 1 deletion docs/lambda_hooks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def handler(event, context):

## Adding your own Lambda hooks from the repository

1. Navigate to the `aws-ai-qna-bot/templates/examples/extensions/` folder in your local repository.
1. Navigate to the `qnabot-on-aws/templates/examples/extensions/` folder in your local repository.
2. Create javascript (node.js) lambda hooks under `./js_lambda_hooks`.
3. Create python3 lambda hooks under `./py_lambda_hooks`.
4. Create a new subdirectory for your new lambda hook, e.g MyLambdaHook
Expand Down
223 changes: 116 additions & 107 deletions docs/multilanguage_support.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ By default the multi language feature is disabled. QnABot uses a property named
QnABot converts the question posed by the user to English, using Amazon Translate, and performs a lookup of the answer in Amazon OpenSearch Service (successor to Amazon Elasticsearch Service) just as it normally does, using the English translation of the question. Searches are done in English only since QnABot documents are indexed using the English text analyzer (stemming, stop words, etc.)
Once it finds the question, QnABot will serve up the configured answer.

You can also import the sample or extension named Language / Multiple Language Support from the QnABot Import menu option.
You can also import the sample or extension named Language / Multiple Language Support from the QnABot Import menu option.
This adds two questions to the system: Language.000 and Language.001. The first question allows the end user to set their preferred language explicitly; the latter resets the preferred language and allow QnABot to choose the locale based on the automatically detected predominant language.


## Using Voice to interact
## Using Voice to interact
When deploying the AWS QnABot solution (version 4.7.0 and higher) CloudFormation template, you will see a parameter `LexV2BotLocaleIds`. This parameter is used to support users to interact with the bot using voice in the configured languages.

`LexV2BotLocaleIds` — enter one or more of the language codes (with multiple values separated by comma without any spaces. Such as: en_US,es_US,es_ES,fr_FR). For a list of supported languages, see [Supported Languages](#supported-languages) section below.
Expand All @@ -22,7 +22,7 @@ Once you have added the language specific questions, choose `LEX REBUILD` from t

## Setting up alternate curated answers in a different language
If you do not explicitly define an answer in the user's language, QnABot will automatically use Amazon Translate to convert the default English. answer to the target language.
However, you might need to provide a more natural experience and want to add a curated answer in the native language of your choice. To further customize the translation for each question, you can use the {{handlebar}} functionality. QnABot provides the {{handlebar}} function `ifLang`, which takes the locale as a quoted parameter. For a list of supported languages, see [Supported Languages](#supported-languages) section below.
However, you might need to provide a more natural experience and want to add a curated answer in the native language of your choice. To further customize the translation for each question, you can use the {{handlebar}} functionality. QnABot provides the {{handlebar}} function `ifLang`, which takes the locale as a quoted parameter. For a list of supported languages, see [Supported Languages](#supported-languages) section below.

For example, to customize the translation in Spanish, the ifLang function uses es as the locale parameter.
```
Expand Down Expand Up @@ -50,112 +50,121 @@ For additional information, take a look at our blog post on [Building a multilin
### Using Voice for interaction
(one or more of the below codes can be used in the `LexV2BotLocaleIds` Cloudformation parameter. Separate multiple values by comma without any spaces. Such as: `en_US,es_US,es_ES,fr_FR`)

|Code |Language and locale |
|-------|-----------------------|
|de_AT |German (Austria) |
|de_DE |German (Germany) |
|en_AU |English (Australia) |
|en_GB |English (UK) |
|en_IN |English (India) |
|en_US |English (US) |
|en_ZA |English (South Africa) |
|es_419 |Spanish (Latin America)|
|es_ES |Spanish (Spain) |
|es_US |Spanish (US) |
|fr_CA |French (Canada) |
|fr_FR |French (France) |
|it_IT |Italian (Italy) |
|ja_JP |Japanese (Japan) |
|ko_KR |Korean (Korea) |
|pt_BR |Portuguese (Brazil)* |
|pt_PT |Portuguese (Portugal)* |
|zh_CN |Mandarin (PRC)* |
|Code |Language and locale |
|-------|------------------------------------|
|ar_AE |Gulf Arabic (United Arab Emirates)* |
|de_AT |German (Austria) |
|de_DE |German (Germany) |
|en_AU |English (Australia) |
|en_GB |English (UK) |
|en_IN |English (India) |
|en_US |English (US) |
|en_ZA |English (South Africa) |
|es_419 |Spanish (Latin America) |
|es_ES |Spanish (Spain) |
|es_US |Spanish (US) |
|fi_FI |Finnish (Finland)* |
|fr_CA |French (Canada) |
|fr_FR |French (France) |
|hi_IN |Hindi (India)* |
|it_IT |Italian (Italy) |
|ja_JP |Japanese (Japan) |
|ko_KR |Korean (Korea) |
|nl_NL |Dutch (Netherlands)* |
|no_NO |Norwegian (Norway)* |
|pl_PL |Polish (Poland)* |
|pt_BR |Portuguese (Brazil)* |
|pt_PT |Portuguese (Portugal)* |
|sv_SE |Swedish (Sweden)* |
|zh_CN |Mandarin (PRC)* |
|zh_HK |Cantonese (HK)* |


`* Language and locale not available in Asia Pacific (Singapore) (ap-southeast-1) and Africa (Cape Town) (ap-south-1) AWS regions`


### Using Text for interaction
When using text for interacting with the Bot, the following languages are supported.
These language codes can also be used via the handlebar functionality.

|Language |Language Code |
|-----------|-------------------|
|Afrikaans |af |
|Albanian |sq |
|Amharic |am |
|Arabic |ar |
|Armenian |hy |
|Azerbaijani |az |
|Bengali |bn |
|Bosnian |bs |
|Bulgarian |bg |
|Catalan |ca |
|Chinese |zh |
|Chinese (Simplified) |zh |
|Chinese (Traditional) |zh-TW |
|Creole |ht |
|Croatian |hr |
|Czech |cs |
|Danish |da |
|Dari |fa-AF |
|Dutch |nl |
|English |en |
|Estonian |et |
|Farsi (Persian) |fa |
|Filipino, Tagalog |tl |
|Finnish |fi |
|French |fr |
|French (Canada) |fr-CA |
|Georgian |ka |
|German |de |
|Greek |el |
|Gujarati |gu |
|Haitian Creole |ht |
|Hausa |ha |
|Hebrew |he |
|Hindi |hi |
|Hungarian |hu |
|Icelandic |is |
|Indonesian |id |
|Irish |ga |
|Italian |it |
|Japanese |ja |
|Kannada |kn |
|Kazakh |kk |
|Korean |ko |
|Latvian |lv |
|Lithuanian |lt |
|Macedonian |mk |
|Malay |ms |
|Malayalam |ml |
|Maltese |mt |
|Marathi |mr |
|Mongolian |mn |
|Norwegian |no |
|Pashto |ps |
|Persian |fa |
|Polish |pl |
|Portuguese |pt |
|Portuguese (Portugal) |pt-PT |
|Punjabi |pa |
|Romanian |ro |
|Russian |ru |
|Serbian |sr |
|Sinhala |si |
|Slovak |sk |
|Slovenian |sl |
|Somali |so |
|Spanish |es |
|Spanish (Mexico) |es-MX |
|Swahili |sw |
|Swedish |sv |
|Tagalog |tl |
|Tamil |ta |
|Telugu |te |
|Thai |th |
|Turkish |tr |
|Ukrainian |uk |
|Urdu |ur |
|Uzbek |uz |
|Vietnamese |vi |
|Welsh |cy |
When using text for interacting with the Bot, the following languages are supported.
These language codes can also be used via the handlebar functionality.

|Language |Language Code|
|----------------------|-------------|
|Afrikaans |af |
|Albanian |sq |
|Amharic |am |
|Arabic |ar |
|Armenian |hy |
|Azerbaijani |az |
|Bengali |bn |
|Bosnian |bs |
|Bulgarian |bg |
|Catalan |ca |
|Chinese |zh |
|Chinese (Simplified) |zh |
|Chinese (Traditional) |zh-TW |
|Creole |ht |
|Croatian |hr |
|Czech |cs |
|Danish |da |
|Dari |fa-AF |
|Dutch |nl |
|English |en |
|Estonian |et |
|Farsi (Persian) |fa |
|Filipino, Tagalog |tl |
|Finnish |fi |
|French |fr |
|French (Canada) |fr-CA |
|Georgian |ka |
|German |de |
|Greek |el |
|Gujarati |gu |
|Haitian Creole |ht |
|Hausa |ha |
|Hebrew |he |
|Hindi |hi |
|Hungarian |hu |
|Icelandic |is |
|Indonesian |id |
|Irish |ga |
|Italian |it |
|Japanese |ja |
|Kannada |kn |
|Kazakh |kk |
|Korean |ko |
|Latvian |lv |
|Lithuanian |lt |
|Macedonian |mk |
|Malay |ms |
|Malayalam |ml |
|Maltese |mt |
|Marathi |mr |
|Mongolian |mn |
|Norwegian |no |
|Pashto |ps |
|Persian |fa |
|Polish |pl |
|Portuguese |pt |
|Portuguese (Portugal) |pt-PT |
|Punjabi |pa |
|Romanian |ro |
|Russian |ru |
|Serbian |sr |
|Sinhala |si |
|Slovak |sk |
|Slovenian |sl |
|Somali |so |
|Spanish |es |
|Spanish (Mexico) |es-MX |
|Swahili |sw |
|Swedish |sv |
|Tagalog |tl |
|Tamil |ta |
|Telugu |te |
|Thai |th |
|Turkish |tr |
|Ukrainian |uk |
|Urdu |ur |
|Uzbek |uz |
|Vietnamese |vi |
|Welsh |cy |
2 changes: 1 addition & 1 deletion docs/using_cloud9/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ git clone https://github.com/aws-solutions/aws-qnabot.git
sudo yum install jq
```

Follow the steps in the main readme [Clone the git repo and build a version](https://github.com/aws-samples/aws-ai-qna-bot#clone-the-git-repo-and-build-a-version)
Follow the steps in the main readme [Clone the git repo and build a version](https://github.com/aws-solutions/qnabot-on-aws#build-a-version)

## Alternate QnABot Deployment using CloudFormation

Expand Down
Loading

0 comments on commit e3c75c0

Please sign in to comment.