首先,通过 在此注册 获取您的 Portkey API 密钥。(点击左下角的个人资料图标,然后点击“复制 API 密钥”)或部署开源 AI 网关到 您自己的环境。接下来,安装 Portkey SDK
pip install -U portkey_ai
现在,通过更新 LangChain 中的 @[ChatOpenAI] 模型,我们可以连接到 Portkey AI 网关
from langchain_openai import ChatOpenAIfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URLPORTKEY_API_KEY = "..." # Not needed when hosting your own gatewayPROVIDER_API_KEY = "..." # Add the API key of the AI provider being usedportkey_headers = createHeaders(api_key=PORTKEY_API_KEY,provider="openai")llm = ChatOpenAI(api_key=PROVIDER_API_KEY, base_url=PORTKEY_GATEWAY_URL, default_headers=portkey_headers)llm.invoke("What is the meaning of life, universe and everything?")
请求会通过您的 Portkey AI 网关路由到指定的 provider。Portkey 还会记录您帐户中所有请求的日志,使调试变得极其简单。
AI 网关的强大功能体现在您能够使用上述代码片段连接到通过 AI 网关支持的 20 多家提供商的 150 多个模型。让我们修改上述代码以调用 Anthropic 的 claude-opus-4-8 模型。Portkey 支持 虚拟密钥,它们是安全保险库中存储和管理 API 密钥的便捷方式。让我们尝试使用虚拟密钥进行 LLM 调用。您可以在 Portkey 中的虚拟密钥选项卡中为 Anthropic 创建一个新的密钥。virtual_key 参数设置了正在使用的 AI 提供商的认证和提供商。在我们的案例中,我们使用的是 Anthropic 虚拟密钥。
注意,api_key 可以留空,因为该认证不会被使用。
from langchain_openai import ChatOpenAIfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URLPORTKEY_API_KEY = "..."VIRTUAL_KEY = "..." # Anthropic's virtual key we copied aboveportkey_headers = createHeaders(api_key=PORTKEY_API_KEY,virtual_key=VIRTUAL_KEY)llm = ChatOpenAI(api_key="X", base_url=PORTKEY_GATEWAY_URL, default_headers=portkey_headers, model="claude-opus-4-8")llm.invoke("What is the meaning of life, universe and everything?")
Portkey AI 网关将认证对 Anthropic 的 API 请求,并将响应以 OpenAI 格式返回供您使用。AI 网关扩展了 LangChain 的 @[ChatOpenAI] 类,使其成为调用任何提供商和任何模型的单一接口。
portkey_headers = createHeaders( api_key=PORTKEY_API_KEY, config=config)llm = ChatOpenAI(api_key="X", base_url=PORTKEY_GATEWAY_URL, default_headers=portkey_headers)llm.invoke("What is the meaning of life, universe and everything?")