LLM Provider Reference
setup_llm parameters
| provider |
modelType examples |
Connection type |
Notes |
| openAI |
gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini |
OpenAIProvider |
Requires apiKey (sk-...) |
| anthropic |
claude-sonnet-4-0, claude-opus-4-0, claude-3-opus-20240229 |
AnthropicProvider |
Requires apiKey |
| azureOpenAI |
gpt-4o (deployment name) |
AzureOpenAIProviderV2 |
Requires apiKey, may need connectionId with deployment config |
| google |
gemini-2.0-flash, gemini-1.5-pro |
GoogleVertexAIProvider |
Requires apiKey |
| mistral |
mistral-small-2503, mistral-medium-latest |
MistralProvider |
Requires apiKey |
| openAICompatible |
custom-model, custom-embedding-model |
OpenAICompatibleProvider |
Requires apiKey + baseCustomUrl + customModel (see below) |
| awsBedrock |
amazon.nova-pro-v1:0, custom-model |
AwsBedrockProvider / AwsBedrockProviderIamRole |
Requires region + accessKeyId/secretAccessKey or roleArn (see below) |
Model groups
setup_llm can create different kinds of Cognigy LLM resources. The important distinction is the modelType:
- Chat models: used for AI Agents, Knowledge Search, and Answer Extraction.
Examples:
gpt-4o, gpt-4o-mini, gpt-4.1, claude-sonnet-4-0, gemini-2.0-flash, mistral-small-2503.
- Embedding models: used for knowledge-store vector indexing.
Examples:
text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002, luminous-embedding-128, amazon.titan-embed-text-v2:0, Pharia-1-Embedding-4608, gemini-embedding-001, custom-embedding-model.
Chat/completion models are not embedding models. gpt-4o-mini is a chat model, not a valid embedding-model choice for knowledge-store indexing.
When using list_resources { resourceType: "llm_model", projectId }, inspect the returned modelType and select the model by its exact role. Do not infer that all LLMs are interchangeable.
OpenAI-compatible providers (openAICompatible)
Use provider openAICompatible for ANY endpoint that speaks the OpenAI API but is not OpenAI itself: vLLM, Hugging Face, LiteLLM, Groq, Together AI, Azure AI Foundry (model router), or self-hosted deployments. Do NOT mislabel these as openAI — without a base URL the connection test hits api.openai.com and fails.
Required parameters:
modelType: exactly custom-model (chat) or custom-embedding-model (embedding) — never the real model name
customModel: the model name as known by the provider, e.g. llama-3.3-70b-instruct
baseCustomUrl: the provider's OpenAI-compatible base URL, e.g. https://my-llm-host.example.com/v1
apiKey (or a same-project connectionId)
Optional parameters:
customAuthHeader: custom HTTP header name for authentication (e.g. Ocp-Apim-Subscription-Key). When set, the API key is sent in that header instead of Authorization: Bearer <key>.
apiType: chatCompletion (default) or responses — only use responses if the provider supports OpenAI's Responses API.
Example:
{
"projectId": "<projectId>",
"provider": "openAICompatible",
"modelType": "custom-model",
"customModel": "llama-3.3-70b-instruct",
"baseCustomUrl": "https://my-llm-host.example.com/v1",
"apiKey": "<key>"
}
Notes:
- The Completions API for custom LLMs is deprecated (removal planned for Cognigy.AI 2026.24.0) — use Chat Completions or Responses.
- When inspecting existing models via
list_resources / get_resource, openAI-compatible models show modelType: "custom-model"; the real model name and endpoint are in the openAICompatible object (customModel, baseCustomUrl, customAuthHeader).
AWS Bedrock (awsBedrock)
Use provider awsBedrock for models hosted on AWS Bedrock (Amazon Nova, Anthropic Claude on Bedrock, Titan embeddings).
Required parameters:
region: AWS region of the Bedrock deployment, e.g. us-east-1
modelType: a Bedrock model id from Cognigy's supported list — chat: amazon.nova-pro-v1:0, amazon.nova-lite-v1:0, amazon.nova-micro-v1:0, amazon.nova-2-lite-v1:0; embedding: amazon.titan-embed-text-v2:0. For any other Bedrock model (including Claude) use custom-model and put the model id — or an inference profile id like eu.anthropic.claude-sonnet-4-6 — in customModel. Cognigy's list changes with platform releases (anthropic.claude-3-5-sonnet-20240620-v1:0 was removed in 2026.10); check the deprecations table in the docs if a named id is rejected.
- Credentials — one of (NOT
apiKey):
accessKeyId + secretAccessKey (access-key auth → AwsBedrockProvider connection) — the standard option, works everywhere
roleArn (IAM-role auth → AwsBedrockProviderIamRole connection) — feature-gated: only works when the Cognigy installation has IAM connections enabled for the organisation (FEATURE_ENABLE_IAM_AWS_CONNECTION_WHITELIST); otherwise connection creation is rejected with "This type is not enabled for your installation". Don't steer users here unless they asked for IAM-role auth — default to the key pair.
connectionId of an existing same-project connection
Optional parameters:
location: inference-call routing — region (default; requests stay in the given AWS region), geo (routed within a geographic boundary; requires geo), or global (routed worldwide, highest throughput, no data-residency guarantee)
geo: required when location is geo — the geographic boundary, e.g. us, eu, apac. The AWS region must lie inside it.
Example:
{
"projectId": "<projectId>",
"provider": "awsBedrock",
"modelType": "amazon.nova-pro-v1:0",
"region": "eu-central-1",
"accessKeyId": "<AWS access key id>",
"secretAccessKey": "<AWS secret access key>"
}
When inspecting existing models, the region, routing location/geo, and custom model id are in the awsBedrock object of the response.
Caveat: AWS Bedrock rejects requests with an empty or whitespace-only system prompt (HTTP 400). For AI Agents this applies only when persona, job description, AND instructions are all empty — make sure a Bedrock-backed agent has at least one of them filled.
Credential resolution
- Provide the provider's credentials — a Connection is auto-created, then the LLM resource is linked to it. For most providers that is apiKey; for awsBedrock it is accessKeyId + secretAccessKey or roleArn instead (apiKey is rejected there)
- Provide connectionId (UUID referenceId of an existing Connection in the SAME project, of a type matching the provider) to skip connection creation — never together with inline credentials
- Either the provider's credentials or connectionId is required
- If the only working connection lives in another project, transfer the LLM + connection via manage_packages instead of passing that connectionId directly
Connection validation
After creating the model, setup_llm automatically tests the connection by sending a minimal probe to the provider. This catches invalid API keys, wrong model types, and misconfigured providers before they can break downstream flows.
- Test passes: the response includes
connectionTest.isCredentialsValid: true and the provider's confirmation message.
- Test fails: the model is automatically deleted to prevent broken references, and an error is returned with the provider's error message.
- Test endpoint unreachable: the model is kept but a warning is returned advising manual verification.
Common errors
- "Invalid provider": use exact camelCase strings from the provider column (openAI, not openai)
- "Authentication failed": verify the credentials are valid for that provider (apiKey; or AWS access keys / role ARN for awsBedrock)
- "Model not found": check exact modelType spelling (e.g. gpt-4o, not gpt4o)
Troubleshooting: dangerouslySkipConnectionTest
If the connection test cannot run in your environment (e.g., air-gapped setup, unsupported custom model provider), you can pass dangerouslySkipConnectionTest: true to skip validation. This is a last resort — it may leave a non-functional model reference that silently breaks agent conversations and knowledge stores. Always prefer fixing the root cause instead. Do not use this to work around a missing, invalid, or cross-project connection.
1---2name: llm-providers3description: Use when configuring or choosing an LLM for a Cognigy agent — valid provider names (openAI, anthropic, azureOpenAI, google, mistral, openAICompatible, awsBedrock), model strings, connection types, credential resolution, OpenAI-compatible endpoints (vLLM, Hugging Face, LiteLLM, Azure AI Foundry, self-hosted), and AWS Bedrock models.4---56# LLM Provider Reference78## setup_llm parameters910| provider | modelType examples | Connection type | Notes |11| ----------- | ---------------------------------------------------------- | ---------------------- | ------------------------------------------------------------- |12| openAI | gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini | OpenAIProvider | Requires apiKey (sk-...) |13| anthropic | claude-sonnet-4-0, claude-opus-4-0, claude-3-opus-20240229 | AnthropicProvider | Requires apiKey |14| azureOpenAI | gpt-4o (deployment name) | AzureOpenAIProviderV2 | Requires apiKey, may need connectionId with deployment config |15| google | gemini-2.0-flash, gemini-1.5-pro | GoogleVertexAIProvider | Requires apiKey |16| mistral | mistral-small-2503, mistral-medium-latest | MistralProvider | Requires apiKey |17| openAICompatible | custom-model, custom-embedding-model | OpenAICompatibleProvider | Requires apiKey + baseCustomUrl + customModel (see below) |18| awsBedrock | amazon.nova-pro-v1:0, custom-model | AwsBedrockProvider / AwsBedrockProviderIamRole | Requires region + accessKeyId/secretAccessKey or roleArn (see below) |1920## Model groups2122`setup_llm` can create different kinds of Cognigy LLM resources. The important distinction is the `modelType`:2324- Chat models: used for AI Agents, Knowledge Search, and Answer Extraction.25 Examples: `gpt-4o`, `gpt-4o-mini`, `gpt-4.1`, `claude-sonnet-4-0`, `gemini-2.0-flash`, `mistral-small-2503`.26- Embedding models: used for knowledge-store vector indexing.27 Examples: `text-embedding-3-small`, `text-embedding-3-large`, `text-embedding-ada-002`, `luminous-embedding-128`, `amazon.titan-embed-text-v2:0`, `Pharia-1-Embedding-4608`, `gemini-embedding-001`, `custom-embedding-model`.2829Chat/completion models are not embedding models. `gpt-4o-mini` is a chat model, not a valid embedding-model choice for knowledge-store indexing.3031When using `list_resources { resourceType: "llm_model", projectId }`, inspect the returned `modelType` and select the model by its exact role. Do not infer that all LLMs are interchangeable.3233## OpenAI-compatible providers (openAICompatible)3435Use provider `openAICompatible` for ANY endpoint that speaks the OpenAI API but is not OpenAI itself: vLLM, Hugging Face, LiteLLM, Groq, Together AI, Azure AI Foundry (model router), or self-hosted deployments. Do NOT mislabel these as `openAI` — without a base URL the connection test hits api.openai.com and fails.3637Required parameters:3839- `modelType`: exactly `custom-model` (chat) or `custom-embedding-model` (embedding) — never the real model name40- `customModel`: the model name as known by the provider, e.g. `llama-3.3-70b-instruct`41- `baseCustomUrl`: the provider's OpenAI-compatible base URL, e.g. `https://my-llm-host.example.com/v1`42- `apiKey` (or a same-project `connectionId`)4344Optional parameters:4546- `customAuthHeader`: custom HTTP header name for authentication (e.g. `Ocp-Apim-Subscription-Key`). When set, the API key is sent in that header instead of `Authorization: Bearer <key>`.47- `apiType`: `chatCompletion` (default) or `responses` — only use `responses` if the provider supports OpenAI's Responses API.4849Example:5051```json52{53 "projectId": "<projectId>",54 "provider": "openAICompatible",55 "modelType": "custom-model",56 "customModel": "llama-3.3-70b-instruct",57 "baseCustomUrl": "https://my-llm-host.example.com/v1",58 "apiKey": "<key>"59}60```6162Notes:6364- The Completions API for custom LLMs is deprecated (removal planned for Cognigy.AI 2026.24.0) — use Chat Completions or Responses.65- When inspecting existing models via `list_resources` / `get_resource`, openAI-compatible models show `modelType: "custom-model"`; the real model name and endpoint are in the `openAICompatible` object (`customModel`, `baseCustomUrl`, `customAuthHeader`).6667## AWS Bedrock (awsBedrock)6869Use provider `awsBedrock` for models hosted on AWS Bedrock (Amazon Nova, Anthropic Claude on Bedrock, Titan embeddings).7071Required parameters:7273- `region`: AWS region of the Bedrock deployment, e.g. `us-east-1`74- `modelType`: a Bedrock model id from Cognigy's supported list — chat: `amazon.nova-pro-v1:0`, `amazon.nova-lite-v1:0`, `amazon.nova-micro-v1:0`, `amazon.nova-2-lite-v1:0`; embedding: `amazon.titan-embed-text-v2:0`. For any other Bedrock model (including Claude) use `custom-model` and put the model id — or an inference profile id like `eu.anthropic.claude-sonnet-4-6` — in `customModel`. Cognigy's list changes with platform releases (`anthropic.claude-3-5-sonnet-20240620-v1:0` was removed in 2026.10); check the deprecations table in the docs if a named id is rejected.75- Credentials — one of (NOT `apiKey`):76 - `accessKeyId` + `secretAccessKey` (access-key auth → `AwsBedrockProvider` connection) — the standard option, works everywhere77 - `roleArn` (IAM-role auth → `AwsBedrockProviderIamRole` connection) — feature-gated: only works when the Cognigy installation has IAM connections enabled for the organisation (`FEATURE_ENABLE_IAM_AWS_CONNECTION_WHITELIST`); otherwise connection creation is rejected with "This type is not enabled for your installation". Don't steer users here unless they asked for IAM-role auth — default to the key pair.78 - `connectionId` of an existing same-project connection7980Optional parameters:8182- `location`: inference-call routing — `region` (default; requests stay in the given AWS region), `geo` (routed within a geographic boundary; requires `geo`), or `global` (routed worldwide, highest throughput, no data-residency guarantee)83- `geo`: required when `location` is `geo` — the geographic boundary, e.g. `us`, `eu`, `apac`. The AWS region must lie inside it.8485Example:8687```json88{89 "projectId": "<projectId>",90 "provider": "awsBedrock",91 "modelType": "amazon.nova-pro-v1:0",92 "region": "eu-central-1",93 "accessKeyId": "<AWS access key id>",94 "secretAccessKey": "<AWS secret access key>"95}96```9798When inspecting existing models, the region, routing location/geo, and custom model id are in the `awsBedrock` object of the response.99100Caveat: AWS Bedrock rejects requests with an empty or whitespace-only system prompt (HTTP 400). For AI Agents this applies only when persona, job description, AND instructions are all empty — make sure a Bedrock-backed agent has at least one of them filled.101102## Credential resolution103104- Provide the provider's credentials — a Connection is auto-created, then the LLM resource is linked to it. For most providers that is apiKey; for awsBedrock it is accessKeyId + secretAccessKey or roleArn instead (apiKey is rejected there)105- Provide connectionId (UUID referenceId of an existing Connection in the SAME project, of a type matching the provider) to skip connection creation — never together with inline credentials106- Either the provider's credentials or connectionId is required107- If the only working connection lives in another project, transfer the LLM + connection via manage_packages instead of passing that connectionId directly108109## Connection validation110111After creating the model, setup_llm automatically tests the connection by sending a minimal probe to the provider. This catches invalid API keys, wrong model types, and misconfigured providers before they can break downstream flows.112113- **Test passes**: the response includes `connectionTest.isCredentialsValid: true` and the provider's confirmation message.114- **Test fails**: the model is automatically deleted to prevent broken references, and an error is returned with the provider's error message.115- **Test endpoint unreachable**: the model is kept but a warning is returned advising manual verification.116117## Common errors118119- "Invalid provider": use exact camelCase strings from the provider column (openAI, not openai)120- "Authentication failed": verify the credentials are valid for that provider (apiKey; or AWS access keys / role ARN for awsBedrock)121- "Model not found": check exact modelType spelling (e.g. gpt-4o, not gpt4o)122123## Troubleshooting: dangerouslySkipConnectionTest124125If the connection test cannot run in your environment (e.g., air-gapped setup, unsupported custom model provider), you can pass `dangerouslySkipConnectionTest: true` to skip validation. **This is a last resort** — it may leave a non-functional model reference that silently breaks agent conversations and knowledge stores. Always prefer fixing the root cause instead. Do not use this to work around a missing, invalid, or cross-project connection.