Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Choose your framework/language

Gen1 DocsLegacy

Page updated Feb 8, 2025

Amplify Interactionsのセットアップ

AWS will end support for Amazon Lex V1 on September 15, 2025,, and is no longer accepting any new users as of March 31. The guidance is to migrate to Amazon Lex V2.

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開発者ガイドに示されている手順に従ってください。

Amazon Lexインテントページ。『BookTripNew』というボット内に、ユーザーが『BookCar』や『FallbackIntent』といったボットに実行させたいインテント(ユーザーが達成したいこと)が2つ作成されている状態を表示

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.0
Terminal
npm add aws-amplify \
@aws-amplify/react-native \
@aws-amplify/interactions \
@react-native-community/netinfo \
@react-native-async-storage/async-storage \
react-native-get-random-values

package.jsonファイル内の@aws-amplify/interactionsパッケージがaws-amplifyパッケージと同じバージョン番号であることを確認してください。

Amplifyの構成

アプリ内で設定ファイルをインポートして読み込みます。Amplifyの設定ステップをアプリのルートエントリーポイントに追加することをお勧めします。例えば、App.js(Expo)またはindex.js(React Native CLI)です。

src/index.js
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ポリフィルを追加する必要があります。

src/index.js
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);

アプリケーションのライフサイクルの可能な限り早い段階でAmplify.configureを呼び出してください。Amplify.configureが他のAmplify JavaScript APIを呼び出す前に呼び出されていない場合、設定の欠落またはエラーNoCredentialsがスローされます。この問題の考えられる原因については、ライブラリが構成されていないトラブルシューティングガイドを参照してください。

既知の問題

バンドラーの起動時に以下のエラーが発生する可能性があります:

Error: Unable to resolve module stream from /path/to/node_modules/@aws-sdk/...

これは既知の問題です。リンクされた問題に記載されている手順に従ってエラーを解決してください。