Skip to content

Commit bd92fc6

Browse files
Added Vercel AI Gateway as a provider (#11)
* added Vercel AI Gateway as a provider * fix merging bug --------- Co-authored-by: az <alex.lx.zhang@gmail.com>
1 parent 555ac3f commit bd92fc6

3 files changed

Lines changed: 18 additions & 2 deletions

File tree

‎rlm/clients/__init__.py‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ def get_client(
3636

3737
backend_kwargs.setdefault("base_url", "https://openrouter.ai/api/v1")
3838
return OpenAIClient(**backend_kwargs)
39+
elif backend == "vercel":
40+
from rlm.clients.openai import OpenAIClient
41+
42+
backend_kwargs.setdefault("base_url", "https://ai-gateway.vercel.sh/v1")
43+
return OpenAIClient(**backend_kwargs)
3944
elif backend == "litellm":
4045
from rlm.clients.litellm import LiteLLMClient
4146

@@ -54,5 +59,5 @@ def get_client(
5459
return AzureOpenAIClient(**backend_kwargs)
5560
else:
5661
raise ValueError(
57-
f"Unknown backend: {backend}. Supported backends: ['openai', 'vllm', 'portkey', 'openrouter', 'litellm', 'anthropic', 'azure_openai', 'gemini']"
62+
f"Unknown backend: {backend}. Supported backends: ['openai', 'vllm', 'portkey', 'openrouter', 'litellm', 'anthropic', 'azure_openai', 'gemini', 'vercel']"
5863
)

‎rlm/clients/openai.py‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# Load API keys from environment variables
1414
DEFAULT_OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
1515
DEFAULT_OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY")
16+
DEFAULT_VERCEL_API_KEY = os.getenv("AI_GATEWAY_API_KEY")
1617
DEFAULT_PRIME_INTELLECT_BASE_URL = "https://api.pinference.ai/api/v1/"
1718

1819

@@ -35,6 +36,8 @@ def __init__(
3536
api_key = DEFAULT_OPENAI_API_KEY
3637
elif base_url == "https://openrouter.ai/api/v1":
3738
api_key = DEFAULT_OPENROUTER_API_KEY
39+
elif base_url == "https://ai-gateway.vercel.sh/v1":
40+
api_key = DEFAULT_VERCEL_API_KEY
3841

3942
# For vLLM, set base_url to local vLLM server address.
4043
self.client = openai.OpenAI(api_key=api_key, base_url=base_url)

‎rlm/core/types.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,15 @@
33
from typing import Any, Literal
44

55
ClientBackend = Literal[
6-
"openai", "portkey", "openrouter", "vllm", "litellm", "anthropic", "azure_openai", "gemini"
6+
"openai",
7+
"portkey",
8+
"openrouter",
9+
"vercel",
10+
"vllm",
11+
"litellm",
12+
"anthropic",
13+
"azure_openai",
14+
"gemini",
715
]
816
EnvironmentType = Literal["local", "prime", "modal"]
917

0 commit comments

Comments
 (0)