Skip to content

Chatbot

A chatbot is a component that responds to questions sent by users in chat format with answers in chat format.
By linking with resources built using external services, you can use chatbot functions and chatbot functions that utilize RAG.

Dialog Property

IDStringAuto setting
WidthNumber
String
640
HeightNumber
String
480
XNumber
String
YNumber
String
Background colorString
Color picker
LineBoolean・On
・Off
On
WidthNumber1
Roundness sizeNumber0
ColorString
Color picker
#DDDDDD
Agent name colourString
Color picker
Agent message colorString
Color picker
Agent message background colorString
Color picker
User name colourString
Color picker
User message colorString
Color picker
User message background colorString
Color picker
#BAD6F2
Submit button colorString
Color picker
Message form input text colorString
Color picker
Message form background colorString
Color picker
Disclaimer ColorString
Color picker
Read onlyTrue/False・On
・Off
Off
VisibleTrue/False・On
・Off
On
Agent nameStringAgent
User nameStringYou
Agent avatarStringhttps://template-ui-image.webperformer.jp/image/Chatbot-Agent_alpha.svg
User avatarStringhttps://template-ui-image.webperformer.jp/image/Chatbot-User_alpha.svg
RAGTrue/False・On
・Off
On
Service nameSelect・AWS Bedrock
・Azure Open AI
・GCP Vertex AI
AWS Bedrock
AI settingsJSON
AI credentialsString selection dialog
System promptString
Message form valueString
Message form placeholderString・Type your message… (default)
・Type your message… (English)
・メッセージを入力してください… (Japanese)
Number of message form rowsNumber1
MessageTabular format[{"role":"agent","content":"Hello! How can I help you today?"}](Default)
[{"role":"agent","content":"Hello! How can I help you today?"}](English)
[{"role":"agent","content":"こんにちは!今日はどんなことをお手伝いしましょうか?"}](Japanese)
DisclaimerString• AI-generated. May contain errors. (Default)
•AI-generated. May contain errors. (English)
• AI 応答のため、誤りを含む可能性があります。 (Japanese)

Action Property

ItemPropertyData TypeOptionDefault Value
IDidstringAutomatic setting
Widthwidthnumber
string
640
Heightheightnumber
string
480
Xxnumber
string
Yynumber
string
Background ColorbackgroundColorstring
Lineborderboolean・true
・false
true
WidthborderWidthnumber1
Rounded SizeroundedSizenumber0
ColorborderColorstring#DDDDDD
Agent name colouragentNameColorstring
Agent Message ColoragentMessageColorstring
Agent Message Background ColoragentMessageBackgroundColorstring
User name coloruserNameColorstring
User message coloruserMessageColorstring
User message background coloruserMessageBackgroundColorstring#BAD6F2
Submit button colorsubmitButtonColorstring
Message form input text colormessageFormInputColorstring
Message form background colormessageFormBackgroundColorstring
Disclaimer ColordisclaimerColorstring
Read onlyreadOnlyboolean・true
・false
false
Visibilityboolean・true
・false
true
Agent nameagentNamestringAgent
User nameuserNamestringYou
Agent avataragentAvatarstringhttps://template-ui-image.webperformer.jp/image/Chatbot-Agent_alpha.svg
User avataruserAvatarstringhttps://template-ui-image.webperformer.jp/image/Chatbot-User_alpha.svg
RAGragboolean・true
・false
true
Service nameserviceNamestring・awsBedrock
・azureOpenAI
・gcpVertexAI
awsBedrock
Message form valuemessageFormValuestring
Message form placeholdermessageFormPlaceholderstring・Type your message… (default)
・Type your message… (English)
・メッセージを入力してください… (Japanese)
Number of message form rowsmessageFormRowsnumber1
Messagemessagesarray of object[{"role":"agent","content":"Hello! How can I help you today?"}](Default)
[{"role":"agent","content":"Hello! How can I help you today?"}](English)
[{"role":"agent","content":"こんにちは!今日はどんなことをお手伝いしましょうか?"}](Japanese) 
Disclaimerdisclaimerstring• AI-generated. May contain errors. (Default)
•AI-generated. May contain errors. (English)
• AI 応答のため、誤りを含む可能性があります。 (Japanese)

External Services

The following external services can be linked.

  • AWS Bedrock
  • Azure OpenAI
  • GCP VertexAI

The combinations of retrievers and embedding models supported for each service are shown in the table below.

ServiceRetrieverEmbedding model
AWS BedrockAmazon Bedrock Knowledge BasesNo setup required
PineconeAmazon Bedrock
Azure Open AIAzure AI SearchAzure Open AI
PineconeAzure Open AI
GCP Vertex AIVertex AI Vector SearchVertex AI
PineconeVertex AI

AI Settings Specifications

AI settings describe settings for using resources built with external services.
In addition, settings for controlling response content can be described as desired.
Please describe settings according to the specifications of the external services you use.

AWS Bedrock:
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/model-parameters.html

Azure OpenAI:
https://learn.microsoft.com/ja-jp/azure/ai-foundry/openai/reference

GCP Vertex AI:
https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference?hl=ja#request
https://ai.google.dev/gemini-api/docs/safety-settings?hl=ja#javascript
https://cloud.google.com/vertex-ai/docs/general/googleapi-access-methods?hl=ja

Service Pattern Setting items (* indicates required fields)
AWS Bedrock chat
{ 
    "chat": { 
        "region": <Region (string) *>, 
        "model": <AI model identifier (string) *>, 
        "topP": <Probability value (numerical value) that controls the diversity of generation>, 
        "temperature": <Random value (numerical value) of generation>, 
        "maxTokens": <Maximum number of tokens to output in response (numerical value)>, 
        "stop": <List of tokens or strings that stop output (string array)> 
    } 
}
chat + rag
Retriever:Amazon Bedrock Knowledge Bases
{ 
     "chat": { 
        "region": <Region(string)*>, 
        "model": <AI model identifier(string)* >, 
        "topP": <Probability value (numerical value) that controls the diversity of generation>, 
        "temperature": <Random values (numbers) generated>, 
        "maxTokens": <Maximum number of tokens to output in response (numerical value)>, 
        "stop": <List of tokens or strings (string array) to stop outputting>
     }, 
     "rag": { 
         "source": <Retriever name (string) *>, 
         "param": { 
             "topK": <Maximum number of documents to be retrieved (numerical value) * >, 
             "knowledgeBaseId": <Knowledge Base ID(string)*>, 
             "region": <Region(string)*> 
         } 
     } 
}
chat + rag
Retriever:Pinecone
{ 
     "chat": { 
        "region": <Region(string)*>, 
        "model": <AI model identifier(string)*>, 
        "topP": <Probability value (numerical value) that controls the diversity of generation>, 
        "temperature": <Random values (numbers) generated>, 
        "maxTokens": <Maximum number of tokens to output in response (numerical value)>, 
        "stop": <List of tokens or strings (string array) to stop outputting>
     }, 
     "rag": { 
         "source": <Retriever Name(string)*>, 
         "param": { 
             "indexName": <Index name (string) *>, 
             "namespace": <Namespace (string)>, 
         }, 
         "embedding": { 
             "region": <Region(string)*>, 
             "model": <Embedding model identifier (string) *>
         }, 
         "retriever": { 
             "k": <Maximum number of documents to be retrieved (numerical value) *> 
         } 
     } 
}
Azure OpenAI chat
{ 
     "chat":{ 
         "azureOpenAIApiDeploymentName": <Deployment name (string) *>, 
         "azureOpenAIApiInstanceName": <Resource name (string) *>, 
         "azureOpenAIApiVersion": <API version (string) *>, 
         "topP": <Probability value (number) that controls the diversity of generation>, 
         "temperature": <Random value (numerical value) for generation>, 
         "maxTokens": <Maximum number of tokens to output in response (number)>, 
         "stop": <List of tokens or strings to stop outputting (string array)>, 
         "frequencyPenalty": <Penalty value (number) to suppress repetition of the same word>, 
         "presencePenalty": <Penalty value (number) to encourage the introduction of new topics> 
     } 
}
chat+rag
Retriever:Azure AI Search

[Notes]
The index structure should be designed as follows
・ id (String) => Retrievable, searchable
・ content (String) => Retrievable, searchable
・ content_vector (SingleCollection) => Searchable
・ metadata (ComplexType)
  〇 source (String) => Retrievable, searchable
  〇 chunk (String) => Searchable
  〇 attributes (ComplexTypeCollection)
    ・ key (String) => Filterable
    ・ value (String) => Searchable
{ 
     "chat": {          
         "azureOpenAIApiDeploymentName": <Deployment name (string) *>, 
         "azureOpenAIApiInstanceName": <Resource name (string) *>, 
         "azureOpenAIApiVersion": <API version (string) *>, 
         "topP": <Probability value (numerical value) that controls the diversity of generation>, 
         "temperature": <Random values (numbers) generated>, 
         "maxTokens": <Maximum number of tokens to output in response (numerical value)>, 
         "stop": <List of tokens or strings (string array) to stop outputting>, 
         "frequencyPenalty": <Penalty value (numerical value) for suppressing repetition of the same word>, 
         "presencePenalty": <Penalty value (numerical value) to encourage the introduction of new topics> 
     }, 
     "rag": { 
         "source": <Retriever Name(string)*>, 
         "param": { 
             "endpoint": <End point(string)*>, 
             "indexName": <Index name (string)*>, 
             "search": { 
                 "type": <Search type(string)> 
             } 
         }, 
         "embedding": { 
             "azureOpenAIApiDeploymentName": <Deployment Name(string)*>, 
             "azureOpenAIApiInstanceName": <Resource name(string)*>, 
             "azureOpenAIApiVersion": <API Version(string)*>, 
             "dimensions": <Vectorisation dimension (numerical value)> 
         }, 
         "retriever": { 
             "k": <Maximum number of documents to be retrieved (numerical value) *> 
         } 
     } 
}
chat+rag
Retriever:Pinecone
{ 
     "chat": {          
         "azureOpenAIApiDeploymentName": <Deployment name (string) *>, 
         "azureOpenAIApiInstanceName": <Resource Name(string)*>, 
         "azureOpenAIApiVersion": <API version(string)*>, 
         "topP": <Probability value (numerical value) that controls the diversity of generation>, 
         "temperature": <Random value (numerical value) of generation>, 
         "maxTokens": <Maximum number of tokens to output in response (numerical value)>, 
         "stop": <List of tokens or strings that stop output (string array)>, 
         "frequencyPenalty": <Penalty value (numerical value) to suppress repetition of the same word>, 
         "presencePenalty": <Penalty value (numerical value) to encourage the introduction of new topics> 
     }, 
     "rag": { 
         "source": <Retriever Name(string)*>, 
         "param": { 
             "indexName": <Index Name(string)*>, 
             "namespace": <Namespace (string)> 
         }, 
         "embedding": { 
             "azureOpenAIApiDeploymentName": <Deployment Name(string)*>, 
             "azureOpenAIApiInstanceName": <Resource Name(string)*>, 
             "azureOpenAIApiVersion": <API Version(string)*>, 
             "dimensions": <Vectorisation dimension (numerical value)> 
         }, 
         "retriever": { 
             "k": <Maximum number of documents to be retrieved (numerical value) *> 
         } 
     } 
} 

[Supplement] Instead of azureOpenAIApiInstanceName, it is also possible to specify azureOpenAIEndpoint. { "azureOpenAIEndpoint": <Endpoint URL(string)*>, }
GCP Vertex AI chat
{ 
    "chat": { 
        "model": <AI model identifier (string) *>, 
        "topP": <Parameters for controlling output diversity (numerical values)>, 
        "topK": <Select from the top K tokens in terms of probability (numerical value)>, 
        "temperature": <Random value of output (the lower the value, the more deterministic) (numerical value)>, 
        "maxOutputTokens": <Maximum number of tokens output in response (numerical value)>, 
        "safetySettings": <Safety settings (array)>, 
        "stopSequences": <List of strings that stop response output (string array)> 
    } 
}
chat+rag
Retriever:Vertex AI Vector Search
{ 
    "chat": {          
        "model": <AI Model Identifier (string) *>, 
        "topP": <Parameters for controlling output diversity (numerical values)>, 
        "topK": <Select from the top K tokens in terms of probability (numerical value)>, 
        "temperature": <Random value of output (the lower the value, the more deterministic) (numerical value)>, 
        "maxOutputTokens": <Maximum number of tokens output in response (numerical value)>, 
        "safetySettings": <Safety settings (array)>, 
        "stopSequences": <List of strings that stop response output (string array)> 
    }, 
    "rag": { 
        "source": <Retriever Name(String)*>, 
        "param": { 
            "index": <Index ID (string) *>, 
            "indexEndpoint": <Index endpoint ID (string) *>, 
            "location": <Region (string) *>, 
            "endpoint": <API endpoint (string) *>, 
            "deployedIndexId": <Deployed index ID (string) *> 
        }, 
        "docstore": { 
            "bucket": <Cloud storage bucket name (string) *>, 
            "prefix": <Cloud storage prefix name (string) *> 
        }, 
        "embedding": { 
            "model": <Embedding model identifier (string) *> 
        }, 
        "retriever": { 
            "k": <Maximum number of documents to retrieve (numeric) *> 
        } 
    } 
}
chat+rag
Retriever:Pinecone
{ 
    "chat": {          
        "model": <AI model identifier (string) *>, 
        "topP": <Parameter to control the diversity of output (numerical value)>, 
        "topK": <Select from the top K tokens in terms of probability (numerical value)>, 
        "temperature": <Random value of output (the lower the value, the more deterministic) (numerical value)>, 
        "maxOutputTokens": <Maximum number of tokens to output in response (numeric value)>, 
        "safetySettings": <Security settings (array)>, 
        "stopSequences": <List of strings to stop response output (string array)> 
    }, 
    "rag": { 
        "source": <Retriever name (string) *>, 
        "param": { 
            "indexName": <Index name (string) *>, 
            "namespace": <Namespace (string)> 
        }, 
        "embedding": { 
            "model": <Embedding model identifier (string) *> 
        }, 
        "retriever": { 
            "k": <Maximum number of documents to be retrieved (numerical value) *> 
        } 
    } 
}

AI Credential File Specification

AI Credential files contain authentication information for using resources built by external services.

Services Patterns Setting items (* indicates required items)
AWS Bedrock chat
{ 
     "chat": { 
         "credentials": { 
             "accessKeyId": <Access Key ID (string) *>, 
             "secretAccessKey": <Secret Access Key (string) *> 
         } 
     } 
} 
chat + rag
Retriever:Amazon Bedrock Knowledge Bases
{ 
    "chat": {          
        "credentials": { 
            "accessKeyId": <Access Key ID (string) *>, 
            "secretAccessKey": <Secret access key (string) *> 
        } 
    }, 
    "rag": { 
        "param": { 
            "credentials": { 
                "accessKeyId": <Access Key ID (string) *>, 
                "secretAccessKey": <Secret access key (string) *> 
            } 
        } 
    } 
}
chat + rag
Retriever:Pinecone
{ 
    "chat": {          
        "credentials": { 
            "accessKeyId": <Access Key ID(string)*>, 
            "secretAccessKey": <Secret Access Key(string)*> 
        } 
    }, 
    "rag": { 
        "param": { 
            "config": { 
                "apiKey": <API Key(string)*> 
            } 
        }, 
        "embedding": { 
            "credentials": { 
                "accessKeyId": <Access Key ID(string)*>, 
                "secretAccessKey": <Secret Access Key(string)*> 
            } 
        } 
    } 
}
Azure OpenAI chat
{ 
    "chat":{ 
        "azureOpenAIApiKey": <API Key(string)*> 
    } 
}
chat+rag
Retriever:Azure AI Search
{ 
    "chat": {          
         "azureOpenAIApiKey": <API Key(string)*> 
    }, 
    "rag": { 
        "param": { 
            "key": <API Key(string)*> 
        }, 
        "embedding": { 
            "azureOpenAIApiKey": <API Key(string)*> 
        } 
    } 
}
chat+rag
Retriever:Pinecone
{ 
    "chat": {          
        "azureOpenAIApiKey": <API Key(string)*>
    }, 
    "rag": { 
        "param": { 
            "config": { 
                "apiKey": <API Key(string)*>
            } 
        }, 
        "embedding": { 
            "azureOpenAIApiKey": <API Key(string)*>
        } 
    } 
}
GCP Vertex AI chat
{ 
    "chat": { 
        "authOptions": { 
            "credentials": <Service account key file json (object) *>, 
            "projectId": <Project ID (string) *> 
        } 
    } 
}
chat+rag
Retriever:Vertex AI Vector Search
{ 
    "chat": {          
       "authOptions": { 
            "credentials": <Service account key file json (object) *>, 
            "projectId": <Project ID(string)*> 
        } 
    }, 
    "rag": { 
        "param": { 
            "authOptions": { 
                "credentials": <Service account key file json (object) *>, 
                "projectId": <Project ID(string)*>, 
                "scopes": <Scope (string array) *> 
            } 
        }, 
        "docstore": { 
            "authOptions": { 
                "credentials": <Service account key file json (object) *>, 
                "projectId": <Project ID(string)*> 
            } 
        }, 
        "embedding": { 
            "authOptions": { 
                "credentials": <Service account key file json (object) *>, 
                "projectId": <Project ID(string)*> 
            } 
        } 
    } 
}
chat+rag
Retriever:Pinecone
{ 
    "chat": {          
        "authOptions": { 
            "credentials": <Service account key file json (object) *>, 
            "projectId": <Project ID (string) *> 
        } 
    }, 
    "rag": { 
        "param": { 
            "config": { 
                "apiKey": <API Key(string)*> 
            } 
        }, 
        "embedding": { 
            "authOptions": { 
                "credentials": <Service account key file json (object) *>, 
                "projectId": <Project ID (string) *> 
            } 
        } 
    } 
}