This web service allows users with the ADMIN role to create an AI profile.
It is necessary to provide an Ft-Calling-App value when using Fluid Topics web services. See Fluid Topics calling app.
For more information about AI profiles, see AI.
| Method | Endpoint |
|---|---|
POST |
|
Request example for API key authentication
{
"profileType": "CHATBOT",
"name": "My Chatbot",
"profileId": "my_chatbot",
"modelEndpoint": {
"provider": "openai",
"providerLabel": "OpenAI",
"host": "",
"modelOrDeploymentId": "gpt-5"
},
"customPrompt": "Insert your prompt here",
"numSemanticSearchResults": 5,
"authenticationMethod": {
"type": "api_key",
"label": "API key",
"authenticationParameters": [
{
"label": "API key",
"key": "api_key",
"isSecret": true,
"isOptional": false,
"value": "XXX"
}
]
}
}
Request example for username/password authentication
{
"profileType": "TRANSLATION",
"name": "Phrase profile",
"profileId": "phrase_profile",
"modelEndpoint": {
"provider": "phrase",
"providerLabel": "Phrase",
"modelOrDeploymentId": ""
},
"customPrompt": "",
"authenticationMethod": {
"type": "username_password",
"label": "Username and password",
"authenticationParameters": [
{
"label": "Username",
"key": "username",
"isSecret": false,
"isOptional": false,
"value": "Username"
},
{
"label": "Password",
"key": "password",
"isSecret": true,
"isOptional": false,
"value": "Password"
}
]
}
}
| Field | Type | Required? | Description |
|---|---|---|---|
name |
String | Yes | The name of the profile. |
profileId |
String | Yes | The profile ID of the profile. It can only include alphanumeric characters, hyphens (-), and underscores (_). |
profileType |
String | Yes | The type of the profile. Can be COMPLETION, CHATBOT, or TRANSLATION. |
modelEndpoint |
Object | Yes | An object containing the model details. |
provider |
String | Yes |
|
providerLabel |
String | No | Enter the name of the provider:
|
host |
String | Yes (only with an azureopenai or myllm provider) |
The resource name. For example: my-resource.openai.azure.com. |
modelOrDeploymentId |
String | Yes | The LLM model or translation engine.
|
customPrompt |
String | Yes | The LLM prompt for COMPLETION and CHATBOT type profiles. The prompt can contain variables. Place variables in single curly brackets. Users can set the values of these variables when using the Query a large language model (LLM) web service. Leave empty for machine translation (MT) providers. |
numSemanticSearchResults |
Number | No | Defines the number of semantic search results provided to the large language model (LLM) when calling the Retrieval-augmented generation web service. The value can range from 1 to 20. By default, the value is 5. Users can only set this field when profileType has a value of CHATBOT. A higher number of semantic search results can increase the cost of requests, and decrease the speed and quality of answers. For most use cases, use the default value of 5.The Chatbot component calls the Retrieval-augmented generation web service. |
numSemanticSearchResultsAfterRerank |
Number | No | The number of semantic search results provided to the large language model (LLM) after reranking. The value must be smaller or equal to the value of the numSemanticSearchResults field. |
ragPrompt |
String | No | A Retrieval-augmented generation (RAG) prompt. Asks the user question to the LLM. It must have the {relevant_documents} and {chatbot_instructions} variables. {relevant_documents} dynamically contains the relevant documents (gotten through the Clustered semantic search web service), and {chatbot_instructions} is the customPrompt value. |
ragHistoryPrompt |
String | No | A Retrieval-augmented generation (RAG) history prompt. Asks the LLM to transform the user question and the conversation history into a standalone question asked to the LLM. |
authenticationMethod |
Object | Yes | Contain the details for the authentication to the provider. |
type |
String | Yes | The type of authentication. Possible values are username_password or api_key. |
label |
String | Yes | The label for the type of authentication. |
authenticationParameters |
Object | Yes | The list of parameters that are used to connect to the provider. |
label |
String | Yes | The label for the authentication parameter. |
key |
String | Yes | The key for the authentication parameter. |
value |
String | Yes | The value for the authentication parameter. |
isSecret |
Boolean | Yes | Whether the parameter is secret or not. |
isOptional |
Boolean | Yes | Whether the parameter is optional or not. |
profileIdandnamevalues must be different from existing AI profiles.- In case of username/password authentication, the
authenticationParametersobject requires a list of string values for the username and one for the password, as shown in the example.
See Chatbot architecture for a better understanding of the use of Chatbot prompts and reranking.
Response body
{
"id": "7ed9433f-af15-40df-8f32-15beddce37df",
"name": "Phrase profile"
}
| Field | Type | Description |
|---|---|---|
id |
String | The unique identifier for the profile. |
name |
String | The name of the profile as set in the request. |
| Return code | Description |
|---|---|
200 OK |
The profile was created successfully. |
401 UNAUTHORIZED |
The authorization header is absent or invalid. |
For a comprehensive list of all possible return codes, see Return codes.