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.
|
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 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. |
customPrompt |
String | Yes | Only with CHATBOT or COMPLETION profiles. The LLM prompt. The prompt can contain variables. Place variables in single curly brackets. Users can set the values of variables when using the AI method in Custom components, or the Query a large language model (LLM) web service. |
numSemanticSearchResults |
Number | No | Only with CHATBOT profiles. 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. 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 | Only with CHATBOT profiles. 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 | Only with CHATBOT profiles. A Retrieval-augmented generation (RAG) prompt. Asks the user question to the LLM. It must have the {relevant_documents} variable, and the {chatbot_instructions} variable for Chatbot profiles. {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 | Only with CHATBOT profiles. 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. |
translationAdvancedSettings |
String | No | Only with TRANSLATION profiles. Parameters for the translation engine. Accepts JSON as a string. |
translationDestinationLanguages |
Array | No | Only with TRANSLATION profiles. A list of target languages available to end users in On-demand translation components that use this profile. The expected format depends on the translation provider. For example, it may be fr or fr-FR for French. |
profileIdandnamevalues must be different from existing AI profiles.- For 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.