mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-16 12:03:23 +00:00
feat(ai): add Vercel AI Gateway routing support (#1051)
* feat(ai): add Vercel AI Gateway routing support Add vercelGatewayRouting to OpenAICompletionsCompat, parallel to openRouterRouting. When a model targets ai-gateway.vercel.sh and has vercelGatewayRouting configured, the openai-completions provider passes providerOptions.gateway with only/order in the request body. Changes: - types.ts: VercelGatewayRouting interface + field on OpenAICompletionsCompat - openai-completions.ts: buildParams passes providerOptions.gateway, detectCompat/getCompat include the new field - model-registry.ts: VercelGatewayRoutingSchema for models.json validation - test: updated Required<OpenAICompletionsCompat> in test fixture * docs(coding-agent): add vercelGatewayRouting to custom models documentation
This commit is contained in:
parent
d1560a9640
commit
e045a9f142
5 changed files with 67 additions and 0 deletions
|
|
@ -165,6 +165,7 @@ For providers with partial OpenAI compatibility, use the `compat` field:
|
|||
| `supportsUsageInStreaming` | Supports `stream_options: { include_usage: true }` (default: `true`) |
|
||||
| `maxTokensField` | Use `max_completion_tokens` or `max_tokens` |
|
||||
| `openRouterRouting` | OpenRouter routing config passed to OpenRouter for model/provider selection |
|
||||
| `vercelGatewayRouting` | Vercel AI Gateway routing config for provider selection (`only`, `order`) |
|
||||
|
||||
Example:
|
||||
|
||||
|
|
@ -191,3 +192,34 @@ Example:
|
|||
}
|
||||
}
|
||||
```
|
||||
|
||||
Vercel AI Gateway example:
|
||||
|
||||
```json
|
||||
{
|
||||
"providers": {
|
||||
"vercel-ai-gateway": {
|
||||
"baseUrl": "https://ai-gateway.vercel.sh/v1",
|
||||
"apiKey": "AI_GATEWAY_API_KEY",
|
||||
"api": "openai-completions",
|
||||
"models": [
|
||||
{
|
||||
"id": "moonshotai/kimi-k2.5",
|
||||
"name": "Kimi K2.5 (Fireworks via Vercel)",
|
||||
"reasoning": true,
|
||||
"input": ["text", "image"],
|
||||
"cost": { "input": 0.6, "output": 3, "cacheRead": 0, "cacheWrite": 0 },
|
||||
"contextWindow": 262144,
|
||||
"maxTokens": 262144,
|
||||
"compat": {
|
||||
"vercelGatewayRouting": {
|
||||
"only": ["fireworks", "novita"],
|
||||
"order": ["fireworks", "novita"]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue