OpenRouter 集成与实践

OpenRouter 集成与实践

Arize AX

2 分钟阅读

Arize AX

将 OpenRouter 与 Arize AX 配合使用

使用 Arize AX

Arize AX 为 LLM 应用提供可观测性与追踪。由于 OpenRouter 使用 OpenAI API 模式,你可以利用 Arize 的 OpenInference 自动插桩,配合 OpenAI SDK,自动追踪和监控 OpenRouter API 调用。

安装

pip install openinference-instrumentation-openai openai arize-otel

前提条件

  • OpenRouter 账户和 API 密钥
  • 带有 Space ID 和 API Key 的 Arize 账户

为何 OpenRouter 能与 Arize AX 配合

Arize 的 OpenInference 自动插桩能与 OpenRouter 配合,是因为:

  1. OpenRouter 提供完全兼容 OpenAI API 的端点 - /v1 端点镜像 OpenAI 的模式
  2. 复用官方 OpenAI SDK - 将 OpenAI 客户端的 base_url 指向 OpenRouter
  3. 自动插桩 - OpenInference 无缝挂钩 OpenAI SDK 调用

配置

设置环境变量:

import os

# 设置你的 OpenRouter API 密钥
os.environ["OPENAI_API_KEY"] = "<OPENROUTER_API_KEY>"

简单的 LLM 调用

初始化 Arize AX,并对 OpenAI 客户端插桩,以自动追踪 OpenRouter 调用:

from arize.otel import register
from openinference.instrumentation.openai import OpenAIInstrumentor
import openai

# 初始化 Arize 并注册 tracer provider
tracer_provider = register(
    space_id="your-space-id",
    api_key="your-arize-api-key",
    project_name="your-project-name",
)

# 对 OpenAI SDK 进行插桩
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)

# 为 OpenRouter 配置 OpenAI 客户端
client = openai.OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="your_openrouter_api_key",
    default_headers={
        "HTTP-Referer": "<YOUR_SITE_URL>",  # 可选:你的站点 URL
        "X-OpenRouter-Title": "<YOUR_SITE_NAME>",      # 可选:你的站点名称
    }
)

# 发起一次被追踪的聊天补全请求
response = client.chat.completions.create(
    model="meta-llama/llama-3.1-8b-instruct:free",
    messages=[
        {"role": "user", "content": "写一首关于可观测性的俳句。"}
    ],
)

# 打印助手的回复
print(response.choices[0].message.content)

会追踪哪些内容

所有 OpenRouter 模型调用都会被自动追踪,并包含:

  • 请求/响应数据与耗时
  • 模型名称与提供商信息
  • Token 用量与费用数据(在支持时)
  • 错误处理与调试信息

JavaScript/TypeScript 支持

OpenInference 也为 OpenAI JavaScript/TypeScript SDK 提供插桩,可与 OpenRouter 配合使用。关于设置和示例,请参阅 OpenInference 的 OpenAI JavaScript 示例

常见问题

  • API 密钥:使用你的 OpenRouter API 密钥,而不是 OpenAI 的
  • 模型名称:使用 OpenRouter 模型列表中的准确模型名称
  • 速率限制:在 OpenRouter 控制台查看用量限制

了解更多