An agent never talks to a model provider directly. It calls a Fabric interface — llm://<name or tag> — and the interface's connector translates the call into the provider's API. Switching an agent from one model or provider to another is therefore a configuration change, not a code change.
This article lists the connector extensions, their interface types and key properties, and explains how agents select an interface, how thinking levels and prompt caching map to each provider, and how MCP interfaces add external tools. For creating an interface in Fabric Studio, see the Fabric article AI LLM Interface. For installation order and prerequisites, see Installation and Setup.
Each provider is a separate K2exchange extension. Install the ones you need next to the aifusion extension, then create interfaces of the types they add.
| Extension | Interface types | Notes |
Anthropic (anthropic, 3.0.4) |
Anthropic (LLM) |
Claude models through the Anthropic API. No embedding models. |
AWS Bedrock (aws-bedrock, 3.0.2) |
AWSBedrockLLM (LLM), AWSBedrockEmbedding (Embedding), AWSBedrockKnowledgeBase, BedrockLambdaLLM (LLM), BedrockLambdaEmbedding (Embedding) |
Foundation models through the Bedrock Converse API, including Bedrock Guardrails. The Knowledge Base type retrieves from an AWS Bedrock Knowledge Base. The BedrockLambda types reach Bedrock through an HTTP endpoint (for example an API gateway) instead of the AWS SDK. |
Google GenAI (google-genai) |
GoogleLLM (LLM), GoogleEmbedding (Embedding) |
Gemini and embedding models through Vertex AI. |
OpenAI (openai, 3.0.1) |
OpenAI (LLM), OpenAIEmbedding (Embedding) |
OpenAI models, and any OpenAI-compatible endpoint (for example Azure OpenAI or a self-hosted inference server) through the Host property. |
Ollama (ollama, 3.0.1) — preview |
OllamaLLM (LLM), OllamaEmbedding (Embedding) |
Open-source models served by Ollama on your own infrastructure. |
MCP Client (mcp, 1.0.1) — preview |
Mcp |
Connects to MCP servers, whose tools agents can call. See MCP Interfaces. |
The LLM connectors require Fabric 8.4.0 or later. They do not depend on the aifusion extension, but when both are installed, aifusion must be 3.0.4 or later.
Each connector caches one client per interface configuration. Changing any property of an interface creates a new client on the next request; deploying any Data Product (LU) clears the cache.
All AI interface types have a Tag property, used to select the interface (see Selecting an Interface).
| Property | Description |
| Model | The Claude model ID. Required. |
| API Key | The Anthropic API key. Required. |
| Max Tokens | Maximum response length. Required; default 4096. Reasoning and answer share this budget on Claude 4.6 and later — see Thinking Levels. |
| Temperature | Default -1, which means "do not send". Newer Claude models reject a temperature value; requests with thinking on never send it. |
| Host, Version (override) | Optional endpoint and anthropic-version header overrides. |
| Timeout (MS) | Default 180000. |
| Property | Description |
| AuthenticationType | default — the IAM role of the Fabric instance or pod (recommended on AWS); credentials — explicit AccessKey and SecretAccessKey. |
| Model, Region | The model ID or ARN, and the AWS region where it is enabled. |
| MaxTokens, Temperature, Timeout, Host | Response length, randomness, timeout, and an optional custom endpoint (for example a VPC endpoint). |
| GuardrailID, GuardrailVersion | Optional Bedrock Guardrail to apply to every call (version default DRAFT). |
| s3BucketName, s3Interface, s3InputPrefix, s3OutputPrefix, roleArn | Batch inference only — see Batch Inference. |
The IAM identity needs bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream, plus bedrock:ApplyGuardrail when a guardrail is set. AWSBedrockEmbedding takes ModelType (Amazon Titan Embed or Cohere Embed) or a custom Model, and Region. AWSBedrockKnowledgeBase takes KbId and Region.
GoogleEmbedding adds Type, the embedding task type (RETRIEVAL_DOCUMENT, RETRIEVAL_QUERY, SEMANTIC_SIMILARITY, CLASSIFICATION, CLUSTERING).
OpenAIEmbedding takes AuthenticationType, Token, Model and Host.
OllamaLLM takes HOST, PORT (default 11434), Path (default /api/chat), ProtocolType, optional HTTP authentication (Basic, Bearer or OAuth2) for an Ollama behind a gateway, Model (exactly as shown by ollama list), Temperature and Think. OllamaEmbedding uses the /api/embed path.
Agents normally use the default interface. llm://default resolves to the interface whose Tag is default; more generally, llm://<id> resolves to the interface with that name, then to an interface with that tag, then to the default one (see AI LLM Interface).
default in each environment. New Anthropic and OllamaLLM interfaces are created with the Tag default, so change it when you add a second one.default interface must be active in the environment the agent runs in. If none is, agent calls to llm://default fail with an unsupported-interface error.default is resolved at run time, you can point the same agents at a different model per environment (for example a cheaper model in QA) without editing any agent.| Where | What it controls |
settings.llm_interface |
The interface an agent uses for its reasoning loop. Default default. Sub-agents use their own settings.llm_interface, so a sub-agent can run on a different model from its parent. |
settings.compaction_interface, settings.chat_name_interface |
The interfaces for context-compaction summaries and chat titles. Both fall back to llm_interface. Point them at a cheaper model. See Sessions and Context. |
interface input of the aifusion.Agent flow or AgentInvoke actor |
Overrides the main agent's llm_interface for one turn. See Invoking Agents. |
settings:
llm_interface: claude_sonnet # an interface name or tag; "default" if omitted
compaction_interface: claude_haiku
chat_name_interface: claude_haiku
settings.thinking sets how hard the model reasons before answering: off (default), low, medium, high, xhigh or max. It is a provider-neutral intensity, not a token budget; each connector maps it to its own API and clamps when the provider has no exact equivalent.
off turns thinking on.xhigh and max need Anthropic connector 3.0.3 or later, or Bedrock, OpenAI or Google GenAI connector 3.0.1 or later. Older connectors ignore or mis-map them.xhigh is the recommended level for agentic Claude agents that loop over tools or delegate. max costs considerably more for a small gain; high suits simple single-domain agents.off really is off. Claude 4.6 and later reason by default, so the connectors send an explicit "disabled" for off.off.thinking_delta events. The level applies to the main agent's LLM calls.settings.use_cache (default true) asks the connector to cache the stable prompt prefix — the system prompt and tool definitions — so repeated calls in a session cost less and respond faster.
Anything that changes the prompt prefix — a different skill set, a context compaction — misses the cache for that call.
Embedding interfaces (OpenAIEmbedding, AWSBedrockEmbedding, BedrockLambdaEmbedding, GoogleEmbedding, OllamaEmbedding) are used through the Embed actor in Broadway flows — for example a flow tool that runs a semantic search. Embed takes the interface, an input that is either one string or an array of strings (batched in one request when the provider supports it), and an optional dimensionsOverride; it returns embeddings, total_tokens and dimensions. Anthropic offers no embedding models.
Several connectors support the providers' asynchronous batch APIs, for offline workloads where no one waits for the answer. Each needs different configuration on the LLM interface:
The MCP Client extension (preview) adds the Mcp interface type, which connects Fabric to a server implementing the Model Context Protocol. An agent can use every tool the server exposes:
mcp_interfaces:
- crm_mcp # the Mcp interface name
The server's tools are advertised to the model as MCP__<interface>__<tool> — for example MCP__crm_mcp__get_open_tickets — and called through the interface. Tool hooks and the tool-name guard apply to them like any other tool. See Tools.
Fabric 8.4 and later can expose Data Products as MCP servers, so an agent in one environment can use another Data Product's capabilities as MCP tools. See Data Product MCP.
The extension also provides Broadway actors (McpListTools, McpCallTool, McpListPrompts, McpGetPrompt, McpListResources, McpReadResource) for using MCP servers from your own flows.
Store provider keys and credentials through Fabric's secret manager or environment-level interface overrides, not in plain text in the project. Prefer identity-based authentication where the platform offers it — the instance IAM role for Bedrock, Application Default Credentials for Google. See Secrets Management and Security and Privacy.
Next article: Security and Privacy
An agent never talks to a model provider directly. It calls a Fabric interface — llm://<name or tag> — and the interface's connector translates the call into the provider's API. Switching an agent from one model or provider to another is therefore a configuration change, not a code change.
This article lists the connector extensions, their interface types and key properties, and explains how agents select an interface, how thinking levels and prompt caching map to each provider, and how MCP interfaces add external tools. For creating an interface in Fabric Studio, see the Fabric article AI LLM Interface. For installation order and prerequisites, see Installation and Setup.
Each provider is a separate K2exchange extension. Install the ones you need next to the aifusion extension, then create interfaces of the types they add.
| Extension | Interface types | Notes |
Anthropic (anthropic, 3.0.4) |
Anthropic (LLM) |
Claude models through the Anthropic API. No embedding models. |
AWS Bedrock (aws-bedrock, 3.0.2) |
AWSBedrockLLM (LLM), AWSBedrockEmbedding (Embedding), AWSBedrockKnowledgeBase, BedrockLambdaLLM (LLM), BedrockLambdaEmbedding (Embedding) |
Foundation models through the Bedrock Converse API, including Bedrock Guardrails. The Knowledge Base type retrieves from an AWS Bedrock Knowledge Base. The BedrockLambda types reach Bedrock through an HTTP endpoint (for example an API gateway) instead of the AWS SDK. |
Google GenAI (google-genai) |
GoogleLLM (LLM), GoogleEmbedding (Embedding) |
Gemini and embedding models through Vertex AI. |
OpenAI (openai, 3.0.1) |
OpenAI (LLM), OpenAIEmbedding (Embedding) |
OpenAI models, and any OpenAI-compatible endpoint (for example Azure OpenAI or a self-hosted inference server) through the Host property. |
Ollama (ollama, 3.0.1) — preview |
OllamaLLM (LLM), OllamaEmbedding (Embedding) |
Open-source models served by Ollama on your own infrastructure. |
MCP Client (mcp, 1.0.1) — preview |
Mcp |
Connects to MCP servers, whose tools agents can call. See MCP Interfaces. |
The LLM connectors require Fabric 8.4.0 or later. They do not depend on the aifusion extension, but when both are installed, aifusion must be 3.0.4 or later.
Each connector caches one client per interface configuration. Changing any property of an interface creates a new client on the next request; deploying any Data Product (LU) clears the cache.
All AI interface types have a Tag property, used to select the interface (see Selecting an Interface).
| Property | Description |
| Model | The Claude model ID. Required. |
| API Key | The Anthropic API key. Required. |
| Max Tokens | Maximum response length. Required; default 4096. Reasoning and answer share this budget on Claude 4.6 and later — see Thinking Levels. |
| Temperature | Default -1, which means "do not send". Newer Claude models reject a temperature value; requests with thinking on never send it. |
| Host, Version (override) | Optional endpoint and anthropic-version header overrides. |
| Timeout (MS) | Default 180000. |
| Property | Description |
| AuthenticationType | default — the IAM role of the Fabric instance or pod (recommended on AWS); credentials — explicit AccessKey and SecretAccessKey. |
| Model, Region | The model ID or ARN, and the AWS region where it is enabled. |
| MaxTokens, Temperature, Timeout, Host | Response length, randomness, timeout, and an optional custom endpoint (for example a VPC endpoint). |
| GuardrailID, GuardrailVersion | Optional Bedrock Guardrail to apply to every call (version default DRAFT). |
| s3BucketName, s3Interface, s3InputPrefix, s3OutputPrefix, roleArn | Batch inference only — see Batch Inference. |
The IAM identity needs bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream, plus bedrock:ApplyGuardrail when a guardrail is set. AWSBedrockEmbedding takes ModelType (Amazon Titan Embed or Cohere Embed) or a custom Model, and Region. AWSBedrockKnowledgeBase takes KbId and Region.
GoogleEmbedding adds Type, the embedding task type (RETRIEVAL_DOCUMENT, RETRIEVAL_QUERY, SEMANTIC_SIMILARITY, CLASSIFICATION, CLUSTERING).
OpenAIEmbedding takes AuthenticationType, Token, Model and Host.
OllamaLLM takes HOST, PORT (default 11434), Path (default /api/chat), ProtocolType, optional HTTP authentication (Basic, Bearer or OAuth2) for an Ollama behind a gateway, Model (exactly as shown by ollama list), Temperature and Think. OllamaEmbedding uses the /api/embed path.
Agents normally use the default interface. llm://default resolves to the interface whose Tag is default; more generally, llm://<id> resolves to the interface with that name, then to an interface with that tag, then to the default one (see AI LLM Interface).
default in each environment. New Anthropic and OllamaLLM interfaces are created with the Tag default, so change it when you add a second one.default interface must be active in the environment the agent runs in. If none is, agent calls to llm://default fail with an unsupported-interface error.default is resolved at run time, you can point the same agents at a different model per environment (for example a cheaper model in QA) without editing any agent.| Where | What it controls |
settings.llm_interface |
The interface an agent uses for its reasoning loop. Default default. Sub-agents use their own settings.llm_interface, so a sub-agent can run on a different model from its parent. |
settings.compaction_interface, settings.chat_name_interface |
The interfaces for context-compaction summaries and chat titles. Both fall back to llm_interface. Point them at a cheaper model. See Sessions and Context. |
interface input of the aifusion.Agent flow or AgentInvoke actor |
Overrides the main agent's llm_interface for one turn. See Invoking Agents. |
settings:
llm_interface: claude_sonnet # an interface name or tag; "default" if omitted
compaction_interface: claude_haiku
chat_name_interface: claude_haiku
settings.thinking sets how hard the model reasons before answering: off (default), low, medium, high, xhigh or max. It is a provider-neutral intensity, not a token budget; each connector maps it to its own API and clamps when the provider has no exact equivalent.
off turns thinking on.xhigh and max need Anthropic connector 3.0.3 or later, or Bedrock, OpenAI or Google GenAI connector 3.0.1 or later. Older connectors ignore or mis-map them.xhigh is the recommended level for agentic Claude agents that loop over tools or delegate. max costs considerably more for a small gain; high suits simple single-domain agents.off really is off. Claude 4.6 and later reason by default, so the connectors send an explicit "disabled" for off.off.thinking_delta events. The level applies to the main agent's LLM calls.settings.use_cache (default true) asks the connector to cache the stable prompt prefix — the system prompt and tool definitions — so repeated calls in a session cost less and respond faster.
Anything that changes the prompt prefix — a different skill set, a context compaction — misses the cache for that call.
Embedding interfaces (OpenAIEmbedding, AWSBedrockEmbedding, BedrockLambdaEmbedding, GoogleEmbedding, OllamaEmbedding) are used through the Embed actor in Broadway flows — for example a flow tool that runs a semantic search. Embed takes the interface, an input that is either one string or an array of strings (batched in one request when the provider supports it), and an optional dimensionsOverride; it returns embeddings, total_tokens and dimensions. Anthropic offers no embedding models.
Several connectors support the providers' asynchronous batch APIs, for offline workloads where no one waits for the answer. Each needs different configuration on the LLM interface:
The MCP Client extension (preview) adds the Mcp interface type, which connects Fabric to a server implementing the Model Context Protocol. An agent can use every tool the server exposes:
mcp_interfaces:
- crm_mcp # the Mcp interface name
The server's tools are advertised to the model as MCP__<interface>__<tool> — for example MCP__crm_mcp__get_open_tickets — and called through the interface. Tool hooks and the tool-name guard apply to them like any other tool. See Tools.
Fabric 8.4 and later can expose Data Products as MCP servers, so an agent in one environment can use another Data Product's capabilities as MCP tools. See Data Product MCP.
The extension also provides Broadway actors (McpListTools, McpCallTool, McpListPrompts, McpGetPrompt, McpListResources, McpReadResource) for using MCP servers from your own flows.
Store provider keys and credentials through Fabric's secret manager or environment-level interface overrides, not in plain text in the project. Prefer identity-based authentication where the platform offers it — the instance IAM role for Bedrock, Application Default Credentials for Google. See Secrets Management and Security and Privacy.
Next article: Security and Privacy