HARMONI Bot
This package wraps different chatbot services that can be used with HARMONI. Currently we support AWS Lex, Google Dialogflow, and ChatGPT. Rasa is a high priority on our roadmap for local chatbot functionality.
You can run this module in the harmoni_full container.
Usage
AWS Lex
The API for AWS Lex Bot has:
Request Name: ActionType: DO
Body: data(str)
Response:
response (int): SUCCESS, or FAILURE
message (str): response from the AWS lex
Google DialogFlow
The API for Google DialogFlow has:
Request Name: ActionType: REQUEST
Body: data(str)
Response:
response (int): SUCCESS, or FAILURE
message (str): response from the dialogflow
ChatGPT
The API for ChatGPT has:
Request Name: ActionType: REQUEST
Body: data(str): input text
Response:
response (int): SUCCESS, or FAILURE
message (str): response from the chatgpt
You can run the service with the following command:
roslaunch harmoni_bot bot_service.launch
Parameters
AWS Lex
Parameters input for the aws lex service:
Parameters |
Definition |
Values |
|---|---|---|
user_id |
name of the use in your AWS Lex |
str; e.g., “Micol” |
bot_name |
the name of the bot you have created in AWS Lex |
str; e.g., “QTRobot” |
bot_alias |
the alias name of your published bot in AWS Lex |
str; e.g., “DemoBot” |
region_name |
the region of your AWS |
str; e.g., “eu-west-2” |
Google DialogFlow
Parameters |
Definition |
Values |
|---|---|---|
project_id |
the ID of your project in the Cloud Service from Google |
str; e.g., “agent1-ewhnht” |
language |
the language for your dialogue |
str; e.g., “it” |
session_id |
the name of your session |
str; e.g., “test_bot” |
credential_path |
path where your credentials are stored |
str; e.g., “$(find harmoni_stt)/config/private-keys.json” |
OpenAI ChatGPT
The service ChatGPT has no parameters required.
Testing.
AWS Lex module can be tested using
rostest harmoni_bot lex.test
ChatGPT module can be tested using
rostest harmoni_bot chatgpt.test