Amplify Interactionsのセットアップ
AWS Amplify Interactionsは、ウェブアプリやモバイルアプリでAIを活用したチャットボットを有効にします。_Interactions_を使用して、バックエンドチャットボットプロバイダーを構成し、わずか1行のコードでチャットボットUIをアプリに統合できます。
AWS でのInteractions
AWS Amplifyは、Amazon Lexをデフォルトのチャットボットサービスとしてサポートしています。Amazon Lexは、Amazon Alexaを動かす同じ深層学習技術を使用して、会話型ボットを作成することをサポートしています。
AWS LexV2ボットのセットアップ
Amazon Lexコンソールで、Amazon Lex V2チャットボットを作成できます。ボットを作成するには、Amazon Lex V2開発者ガイドに示されている手順に従ってください。
IAMポリシーの更新
Amazon Lexサービスは、Interactions API を使用するためにIAMポリシーが必要です(テンプレートを実際の値に置き換えることを忘れずに):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["lex:RecognizeText", "lex:RecognizeUtterance"], "Resource": "arn:aws:lex:<your-app-region>:<your-account-id>:bot-alias/<your-bot-id>/<your-bot-alias-id>" } ]}フロントエンドの構成
Amplifyとその依存関係をインストール
React Nativeバージョン0.72以下の場合の手順
@aws-amplify/react-nativeには、react-nativeバージョンが0.72以下の場合、iOSの最小デプロイメント対象が13.0である必要があります。_ios_ディレクトリにある_Podfile_を開き、target値を更新してください:
- platform :ios, min_ios_version_supported + platform :ios, 13.0npm add aws-amplify \ @aws-amplify/react-native \ @aws-amplify/interactions \ @react-native-community/netinfo \ @react-native-async-storage/async-storage \ react-native-get-random-valuesAmplifyの構成
アプリ内で設定ファイルをインポートして読み込みます。Amplifyの設定ステップをアプリのルートエントリーポイントに追加することをお勧めします。例えば、App.js(Expo)またはindex.js(React Native CLI)です。
import { Amplify } from 'aws-amplify';import { parseAmplifyConfig } from "aws-amplify/utils";import outputs from '../amplify_outputs.json';
const amplifyConfig = parseAmplifyConfig(outputs);
Amplify.configure({ ...amplifyConfig, Interactions: { LexV2: { '<your-bot-name>': { aliasId: '<your-bot-alias-id>', botId: '<your-bot-id>', localeId: '<your-bot-locale-id>', region: '<your-bot-region>' } } }});アプリケーションのエントリーポイントファイル(ほとんどのReact Nativeアプリではトップレベルのindex.js)に、crypto.getRandomValuesポリフィルを追加する必要があります。
import 'react-native-get-random-values';import { AppRegistry } from 'react-native';import App from './App';import { name as appName } from './app.json';
AppRegistry.registerComponent(appName, () => App);既知の問題
バンドラーの起動時に以下のエラーが発生する可能性があります:
Error: Unable to resolve module stream from /path/to/node_modules/@aws-sdk/...