createLLMProviderRef

workflow.createLLMProviderRef() 创建一个 provider 引用对象。LLM 节点执行时会通过 getLLMProvider 按节点名、provider id、绑定表和 fallback 解析出实际 provider。

签名

workflow.createLLMProviderRef(
  id: string,
  fallback?: LLMProviderSource,
): LLMProviderRef

参数

参数类型说明
idstringprovider id,用于从 context.providers.llmProviders 中查找 provider。
fallbackLLMProviderSource可选 fallback;找不到 id 时继续解析。

返回值

字段类型说明
kind"llm-provider-ref"标识这是 provider ref。
idstringprovider id。
fallbackLLMProviderSource | undefinedfallback provider source。

Provider 解析顺序

顺序来源说明
1context.providers.llmProviderBindings[nodeName]节点级绑定优先。
2source 本身如果 source 是 provider、字符串、ref 或 resolver,先解析它。
3defaultLLMProviderBinding / defaultLLMProviderId使用默认绑定或默认 provider id。
4context.providers.llm兼容单默认 provider。
5ref fallbackref 找不到 id 时最后尝试 fallback。

解析流程

阶段输入结果
workflow 定义idfallbackLLMProviderRef
LLM 节点执行LLMProviderRefNodeContextnodeNameLLMProvider
provider 调用LLMProviderLLMChatInputLLM 输出

示例

const defaultProvider = workflow.createLLMProviderRef("default", () => {
  return workflow.createLLMProviderFromEnv();
});

const llmNode = workflow.createLLMNode({
  provider: defaultProvider,
  mapInput(input) {
    return { prompt: input.message };
  },
});

常见场景

场景做法
本地默认 providercreateLLMProviderRef("default", () => workflow.createLLMProviderFromEnv())
server 按节点绑定模型使用节点名在 llmProviderBindings 中配置。
多 provider 切换传不同 provider id,或者使用 resolver。