Beta: LLM Gateway 当前处于 测试版。
除了内置提供商外,LLM Gateway 还可以将请求代理到你自行配置的任何 OpenAI 兼容或 Anthropic 兼容端点,例如通过推理服务器(vLLM、Ollama 等)提供服务的自行托管开源模型。

工作原理

自定义提供商由一个模型配置定义,你可以在 LangSmith UI 的 Settings → Model configurations 下保存该配置。你在该配置中选择的提供商决定网关与上游通信时使用的格式: 网关会使用配置中的以下选项:
  • 基础 URL:网关将请求转发到的上游端点。
  • 模型名称:你的上游所期望的模型标识符。
  • API 密钥:作为工作区密钥存储,绝不会由客户端发送。
你可以根据希望调用方选择模型,还是强制使用已配置模型,通过以下两种路由之一按名称访问保存的配置: 两种路由都会查找同一个配置、解析同一个密钥并代理到相同的上游 URL;它们的唯一区别在于是否强制使用模型名称。
{configName} 是你的工作区模型配置中的配置名称。如果名称包含不适用于 URL 的字符(如 / 或空格),请在路径中对其进行 URL 编码。例如,名为 meta-llama/Llama-3.1-8B-Instruct 的配置会变为 https://gateway.smith.langchain.com/providers/meta-llama%2FLlama-3.1-8B-Instruct/v1/chat/completions。

1. 创建自定义提供商配置

  1. 在 Settings → Integrations → Provider Secrets 下,将上游端点的 API 密钥添加为工作区密钥。为其指定一个描述性名称(例如 MY_PROVIDER_API_KEY)。
  2. 前往 Settings → Model configurations,并创建一个以 OpenAI Compatible Endpoint 或 Anthropic 为提供商的配置。
  3. 将 Base URL 设置为你的上游端点(例如 https://my-inference-server.example.com/v1),并将 Model Name 设置为该端点所期望的模型标识符。
  4. 将 API Key Name 设置为你创建的密钥。
  5. 使用一个名称保存配置。此名称将用于网关路由。
你保存的 Model Name 仅在通过 /models/{configName} 调用配置时生效。通过 /providers/{configName} 时,客户端的 model 字段会保持不变地发送出去,因此单个配置可以服务于上游支持的任何模型(例如,拉取到共享 Ollama 实例中的任何模型)。

2. 发起调用

通过名称调用保存的配置(以下示例中为 my-custom-openai-endpoint 和 my-anthropic-endpoint)。

任意模型:/providers/{configName}

当上游提供多个模型,并且你希望调用方自行选择模型时,请使用此路由:
网关会将请求正文中的 model 字段按原样转发给上游。

单个模型:/models/{configName}

使用此路由可将通过此配置的每次调用固定到单个模型,无论客户端请求什么模型——这对于为团队或应用程序强制规定模型行为非常有用:
网关会使用已保存配置中的模型名称覆盖请求正文的 model 字段,因此客户端传入的任何值(或如示例所示省略该字段)都会被忽略。若要从同一个上游提供多个固定模型,请为每个模型创建一个配置(每个配置都具有自己的名称和 /models/{configName} 路由)。

后续步骤

  • 模型回退:将这些配置串联起来,以便某个配置遇到速率限制或错误时由备用配置接管。
  • 支出策略:对自定义提供商应用成本限制。
  • 数据保护:在敏感数据到达你的端点之前对其进行脱敏处理。