-
Notifications
You must be signed in to change notification settings - Fork 0
/
LF0.py
48 lines (40 loc) · 1.6 KB
/
LF0.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import boto3
import json
# Define the client to interact with Lex
client = boto3.client('lexv2-runtime')
def lambda_handler(event, context):
# msg_from_user = event['messages'][0]
# change this to the message that user submits on
# your website using the 'event' variable
print(event)
msg_from_user = event["messages"][0]
print(f"Message from frontend: {msg_from_user}")
# Initiate conversation with Lex
botMessage = "Please try again."
if msg_from_user is None or len(msg_from_user) < 1:
return {
'statusCode': 200,
'body': json.dumps(botMessage)
}
response = client.recognize_text(
botId='UZY8NMWSUL', # MODIFY HERE
botAliasId='TSTALIASID', # MODIFY HERE
localeId='en_US',
sessionId='testuser',
text=msg_from_user["unstructured"]["text"])
msg_from_lex = response.get('messages', [])
if msg_from_lex:
print(f"Message from Chatbot: {msg_from_lex[0]['content']}")
print(response)
resp = {
'statusCode': 200,
'messages': [{"type": "unstructured",
"unstructured": {
"text": json.dumps(msg_from_lex[0]['content'])
}}]
}
# modify resp to send back the next question Lex would ask from the user
# format resp in a way that is understood by the frontend
# HINT: refer to function insertMessage() in chat.js that you uploaded
# to the S3 bucket
return resp