Skip to content

Commit

Permalink
Update to version v1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mallenahally committed Apr 7, 2021
1 parent 4f37805 commit c8d10dd
Show file tree
Hide file tree
Showing 47 changed files with 3,749 additions and 1,754 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
build
*.iml
.gradle
.settings
bin
.classpath
.project
.DS_Store
source/start_codebuild/package/
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ 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).
## [1.1.0] - 2021-03-31
### Added
- added AWS Fargate to the solution so that the transcription will occur throughout the call, but not only the first 15 minutes of the call which is a limitation if AWS Lambda function is used for processing the call audio for real-time transcribing because the Lambda has a 15 minute limitation and will stop transcribing if a call is longer than 15 minutes.
- added a new parameter called CreateFargateResources to the AWS CloudFormation template to conditionally launch AWS resources based on user input to create real-time transcripts of a contact. If the provided value is set to true, Fargate resources will be deployed or else if the value is false Lambda resources will be deployed
- added a new environment variable 'START_SELECTOR_TYPE' with default value of 'NOW' to kvs_transcribe_streaming_lambda
- added DeletionPolicy attribute and UpdateReplacePolicy attribute to createS3Bucket resource in CloudFormation template
- upgraded AWS services to a newer version

## [1.0.2] - 2020-03-16
### Changed
Expand Down
4 changes: 3 additions & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
MIT No Attribution

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0

Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
Expand Down
12 changes: 10 additions & 2 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
AI Powered Speech Analytics for Amazon Connect
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0

**********************
THIRD PARTY COMPONENTS
Expand All @@ -12,6 +13,8 @@ aws-java-sdk-kinesisvideo under the Apache License Version 2.0
aws-java-sdk-dynamodb under the Apache License Version 2.0
aws-lambda-java-core under the Apache License Version 2.0
aws-lambda-java-events under the Apache License Version 2.0
aws-java-sdk-cloudwatch under the Apache License Version 2.0
aws-java-sdk-sqs under the Apache License Version 2.0
amazon-kinesis-video-streams-parser-library under the Apache License Version 2.0
jquery.dataTables.min.js under the MIT license
jquery under the JS Foundation
Expand All @@ -23,4 +26,9 @@ ApacheCommonsLang under the Apache License Version 2.0
SLF4J under the JS Foundation
slf4j-api under the MIT License
slf4j-log4j12 under the MIT License
netty-nio-client under the Apache License Version 2.0
netty-nio-client under the Apache License Version 2.0
commons-lang3 under the Apache License Version 2.0
rxjava under the Apache License Version 2.0
reactive-streams under the Public Domain (CC0)
json under the JSON License
jackson-databind under the Apache License Version 2.0
82 changes: 22 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,33 @@
# AI Powered Speech Analytics for Amazon Connect
todo
The AI Powered Speech Analytics for Amazon Connect solution provides the combination of speech to text transcription, translation into preferred languages, and insights for agents and supervisors all in real-time. This enables agents to better understand customer needs and drive resolution using the insights the solution provides while they are still interacting with their customer.

## Running unit tests for customization
* Clone the repository, then make the desired code changes
* Next, run unit tests to make sure added customization passes the tests
```
cd ./deployment
chmod +x ./run-unit-tests.sh \n
./run-unit-tests.sh \n
```

## Building distributable for customization
* Configure the bucket name of your target Amazon S3 distribution bucket
```
export DIST_OUTPUT_BUCKET=my-bucket-name # bucket where customized code will reside
export SOLUTION_NAME=my-solution-name
export VERSION=my-version # version number for the customized code
```
_Note:_ You would have to create an S3 bucket with the prefix 'my-bucket-name-<aws_region>'; aws_region is where you are testing the customized solution. Also, the assets in bucket should be publicly accessible.

* Now build the distributable:
```
chmod +x ./build-s3-dist.sh \n
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION \n
```

* Deploy the distributable to an Amazon S3 bucket in your account. _Note:_ you must have the AWS Command Line Interface installed.
```
aws s3 cp ./dist/ s3://my-bucket-name-<aws_region>/$SOLUTION_NAME/$VERSION/ --recursive --acl bucket-owner-full-control --profile aws-cred-profile-name \n
## OS/Python Environment Setup
```bash
sudo apt-get update
sudo apt-get install zip wget sed -y
sudo wget -qO- https://deb.nodesource.com/setup_8.x | bash
sudo apt-get -y install nodejs
```

* Get the link of the solution template uploaded to your Amazon S3 bucket.
* Deploy the solution to your account by launching a new AWS CloudFormation stack using the link of the solution template in Amazon S3.

***

## File Structure

```
|-deployment/
|-build-s3-dist.sh [ shell script for packaging distribution assets ]
|-run-unit-tests.sh [ shell script for executing unit tests ]
|-solution.yaml [ solution CloudFormation deployment template ]
|-source/
|-example-function-js [ Example microservice function in javascript ]
|- lib/ [ Example function libraries ]
|-example-function-py [ Example microservice function in python ]
## Building Lambda Package
```bash
cd deployment
./build-s3-dist.sh source-bucket-base-name version
```
source-bucket-base-name should be the base name for the S3 bucket location where the template will source the Lambda code from.
The template will append '-[region_name]' to this value.
version should be a version prefix for the S3 bucket to indicate different build versions.
For example: ./build-s3-dist.sh solutions v1.0.0
The template will then expect the source code to be located in the solutions-[region_name]/ai-powered-speech-analytics-for-amazon-connect/v1.0.0/ bucket

Each microservice follows the structure of:

```
|-service-name/
|-lib/
|-[service module libraries and unit tests]
|-index.js [injection point for microservice]
|-package.json
```
## CF template and Lambda function
Located in deployment/dist

***


Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License Version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at

http://www.apache.org/licenses/
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0

or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and limitations under the License.
Licensed under the the MIT-0 License. See the LICENSE file.
This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and limitations under the License.
Loading

0 comments on commit c8d10dd

Please sign in to comment.