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 AGENTIC_CHATBOT, COMPLETION, CHATBOT, GENERIC_AGENT, 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 AGENTIC_CHATBOT, 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 AGENTIC_CHATBOT, or 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 AGENTIC_CHATBOT, or 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. |
relevantMetadata |
String | No | Only with AGENTIC_CHATBOT and GENERIC_AGENT profiles. relevantMetadata allow the agent to use metadata filters for their queries. relevantMetadata contains a stringified JSON array of metadata objects, each containing a key identifier, an array of values, and a description. Proper description on how and when to use metadata filters is essential. If the agentic chatbot runs a query with filters and gets no response, it runs the query again. |
promoteRules |
String | No | Only with AGENTIC_CHATBOT and GENERIC_AGENT profiles. promoteRules uses metadata to indicate which variant of a document is the most relevant in a document cluster. For example "version": "latest". promoteRules contains a stringified JSON array of metadata objects, each containing a key identifier, and an array of values.
|
agentPrompt |
String | Yes | Only with AGENTIC_CHATBOT and GENERIC_AGENT profiles. The agentPrompt defines specific instructions and the conversation scope for the bot. For optimal results, add specific instructions that are relevant to your context. Below are a few examples:
|
agentTools |
Array | No | Only with GENERIC_AGENT profiles. agentTools defines tools that the agent has access to. The only available value is semsearch. |
responseJson |
String | Yes | Only with GENERIC_AGENT profiles. The stringified JSON schema representing the format of the response. responseJson cannot contain the top-level field title. |
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.