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 using the pre-built generative AI model and RAG environment provided by WebPerformer-NX, you can use chatbot functions and chatbot functions that utilize RAG without complex configuration.
You can also use chatbot functions and chatbot functions that utilize RAG by integrating with resources built using external services.

Properties

NoItemInput ValueDefault ValueAction PropertyTypeAction Default ValueDescription
1IDStringAuto-generatedidstringAuto-generatedThe [id] property cannot be set by action.
2WidthNumber
String
640widthnumber/string640Component width
3HeightNumber
String
480heightnumber/string480Component height
4XNumber
String
xnumber/stringX coordinate position
5YNumber
String
ynumber/stringY coordinate position
6LockBooleanOFFlockbooleanfalseWhen ON, the component stays fixed even when the screen is scrolled.
When OFF, the component moves along with the screen scroll.
Added in v4.1.0.
7Background ColorString
Color Picker
backgroundColorstringComponent background color
8BorderBooleanONborderbooleantrueBorder display setting
9Border WidthNumber1borderWidthnumber1Border width
10Rounded SizeNumber0roundedSizenumber0Corner rounding
11Border ColorString
Color Picker
#DDDDDDborderColorstring#DDDDDDBorder color
12Agent Name ColorString
Color Picker
agentNameColorstringAgent name text color
13Agent Message ColorString
Color Picker
agentMessageColorstringAgent message text color
14Agent Message Background ColorString
Color Picker
agentMessageBackgroundColorstringAgent message background color
15User Name ColorString
Color Picker
userNameColorstringUser name text color
16User Message ColorString
Color Picker
userMessageColorstringUser message text color
17User Message Background ColorString
Color Picker
#BAD6F2userMessageBackgroundColorstring#BAD6F2User message background color
18Submit Button ColorString
Color Picker
submitButtonColorstringSubmit button color
19Message Form Input ColorString
Color Picker
messageFormInputColorstringInput form text color
20Message Form Background ColorString
Color Picker
messageFormBackgroundColorstringInput form background color
21Disclaimer ColorString
Color Picker
disclaimerColorstringDisclaimer text color
22Read OnlyBooleanOFFreadOnlybooleanfalseRead-only mode
23VisibilityBooleanONvisibilitybooleantrueVisibility state
24Agent Name LStringAgentagentNamestringAgentAgent name
25User Name LStringYouuserNamestringYouUser name
26Agent AvatarStringhttps://template-ui-image.webperformer.jp/image/Chatbot-Agent_alpha.svgagentAvatarstringhttps://template-ui-image.webperformer.jp/image/Chatbot-Agent_alpha.svgAgent avatar image URL
27User AvatarStringhttps://template-ui-image.webperformer.jp/image/Chatbot-User_alpha.svguserAvatarstringhttps://template-ui-image.webperformer.jp/image/Chatbot-User_alpha.svgUser avatar image URL
28AI ServiceSelection
1. Internal
2. External
ExternalWhen set to Internal, the pre-built generative AI model can be used.
When set to External, resources built with external services can be connected and used.
Added in v4.1.0.
29RAGBooleanONRAG feature enablement
30Service NameSelection
1. AWS Bedrock
2. Azure Open AI
3. GCP Vertex AI
AWS BedrockExternal service to integrate.
Disabled when AI Service is set to Internal.
31AI SettingsJSONAI settings JSON for external services.
Disabled when AI Service is set to Internal.
32AI CredentialsString Selection DialogCredential file path.
Disabled when AI Service is set to Internal.
33Internal AI SettingsJSONAI settings JSON for the pre-built AI.
Only enabled when AI Service is set to Internal.
Added in v4.1.0.
34System PromptStringSystem prompt
35Cache DisabledBooleanOFFcacheDisabledbooleanfalseCache usage state for avatar image.
Added in v4.1.0.
36Message Form Value LStringmessageFormValuestringInput form initial value
37Message Form Placeholder LStringType your message…messageFormPlaceholderstringType your message…Input form placeholder
38Message Form RowsNumber1messageFormRowsnumber1Input form row count
39Messages LTable[{“role”:“agent”,“content”:“Hello! How can I help you today?”}]messagesarray of object[{“role”:“agent”,“content”:“Hello! How can I help you today?”}]Chat messages
40Disclaimer LStringAI-generated. May contain errors.disclaimerstringAI-generated. May contain errors.Disclaimer text

Using the Pre-built Generative AI Model

When the AI Service property is set to Internal, you can use the generative AI model and RAG environment provided by WebPerformer-NX.
The available model is as follows:

  • Claude Sonnet 4.5

Internal AI Settings Specifications

Internal AI Settings describe settings for using the generative AI model and RAG environment provided by WebPerformer-NX.
Additionally, settings to control response content can be described as desired.

Service Pattern Setting items (* indicates required fields)
Internal chat

{
    "chat": {
        "temperature": <Random value of generation (numerical value)>,
        "level": <Maximum token count level for response output (numerical value)>
    }
}
chat + rag

{
    "chat": {
        "temperature": <Random value of generation (numerical value)>,
        "level": <Maximum token count level for response output (numerical value)>
    },
    "rag": {
        "param": {
            "topK": <Maximum number of documents to retrieve (numerical value) *>
            "knowledgeBaseId": <Knowledge Base ID (string) *>,
        }
    }
}

Using External Services

When the AI Service property is set to External, you can use generative AI models and RAG environments prepared with external services.
The following external services can be integrated:

  • 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": <Safety 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.

Service Pattern Setting items (* indicates required fields)
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": { 
            "clientOptions": { 
                "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) *> 
            } 
        } 
    } 
}