Whatever message this page gives is out now! Go check it out!

Admin UI - AI Services

Last update:
May 18, 2026
ColdFusion 2025.0.08 adds a new AI Services section to the ColdFusion Administrator, providing a central place to configure LLM providers, embedding models, vector stores, RAG pipelines, and MCP servers without writing code.

Navigating to AI Services

  1. Log in to the ColdFusion Administrator.
  2. On the home page, click the AI Services tile.
  3. The AI Services section opens with the following tabs:
    • LLMs: Configure LLM providers
    • Embedding Models: Configure embedding model providers
    • Vector Stores: Configure vector database connections
    • RAG: Configure retrieval-augmented generation pipelines
    • MCP Servers: Configure Model Context Protocol server connections

LLMs tab

The LLMs tab lets you add, view, edit, and delete LLM configurations. Each configuration is saved with a unique alias that can be referenced in your CFML code.
See LLMs for more information.

Add LLM Configuration

Fill in the following fields to register a new LLM provider configuration:
Identity fields
FieldRequiredDescription
Config AliasYesUnique identifier for this configuration. Alphanumeric, underscore, and hyphen characters only. Example: gpt4-prod, openaiconfig
ProviderYesSelect the LLM provider from the dropdown.
Model NameConditionalModel identifier to use. Required for all providers except Azure OpenAI.
Connection fields
FieldRequiredDescription
API KeyConditionalAuthentication key for the provider API. Leave blank to supply at runtime. Not used by Ollama.
Endpoint URLConditionalCustom API endpoint URL. Required for Azure OpenAI and Ollama.
Deployment NameConditionalAzure OpenAI deployment name. Required for Azure only.
API VersionConditionalAzure API version string (e.g., 2024-02-15-preview). Azure only.
Organization IDOptionalOpenAI organization ID. OpenAI only.
Service VersionOptionalAzure OpenAI service version. Azure only.

Model Parameters

Tune the model's behavior using the following optional parameters:
FieldDescriptionApplicable providers
TemperatureControls output randomness. Range: 0–2 typical.All
Max TokensMaximum response length in tokens.All
Top PNucleus sampling threshold (0–1 typical).All
Top KNumber of top tokens to consider during sampling.Gemini, Anthropic
Presence PenaltyPenalizes tokens based on appearance in text (>= 0).OpenAI, Azure OpenAI
Repeat PenaltyPenalizes repeated tokens (>= 0).Ollama
SeedRandom seed for deterministic outputs (> 0).OpenAI, Azure OpenAI, Ollama
Response FormatOutput format for model responses (Default or JSON).OpenAI, Azure OpenAI, Ollama
Stop SequencesComma-separated strings that stop generation (e.g., \n\n, END).All

Advanced Settings

Additional settings are available under the Advanced Settings section of the Add LLM Configuration form, including HTTP client and proxy configuration.

Configured LLMs

Below the Add LLM Configuration form, the Configured LLMs table lists all saved configurations with the following columns:
ColumnDescription
ActionsEdit or delete the configuration
Config AliasThe unique name given to the configuration
ProviderThe selected LLM provider
ModelThe model name
API KeyMasked display of the stored API key
Note:
Disclaimer: The listed models/services are offerings of third-party providers supported for use with AI Services. Adobe does not own, control, or operate them. All names, trademarks, and associated branding are the property of their respective third-party owners and are used for identification purposes only. Their inclusion does not imply any partnership with, endorsement by, or sponsorship of Adobe.

 <cfscript>
    //add chat model config via admin ui/api/cfsetup with these 3 details , save config name as anth 

   //chatModelConfig = {
   //     PROVIDER: "anthropic",
   //     APIKEY: "#application.anthropicKey#",
    //    MODELNAME: "claude-sonnet-4-5"
  //  };
     
    chatModel = ChatModel("anth");

    response = chatModel.chat("What is 2 + 2?");
    
    hasResponse = len(response.message ?: "") > 0;
    containsFour = findNoCase("4", response.message ?: "") > 0 || 
                   findNoCase("four", response.message ?: "") > 0;
    
    writeOutput("provider:anthropic | operation:basicChat | hasResponse:" & (hasResponse ? "YES" : "NO") & " | correctAnswer:" & (containsFour ? "YES" : "NO"));

    agent = Agent({CHATMODEL : chatModel});
    res = agent.chat("hello");
    writeDump(res);
</cfscript>
        
Example 2
An OpenAI configuration named "myopenai" is saved, containing the provider and model name. Additional configuration parameters can be passed to override any existing values in the saved configuration, regardless of whether those parameters were originally defined.

<cfscript>
    chatModel = ChatModel("myopenai", { apiKey : "#application.apiKey#" });
    response = chatModel.chat("What is 2 + 3? how did to calculate it?");
    writeDump(var=response);
</cfscript>
        

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page