Files
2026-07-13 12:28:55 +08:00

28 lines
1.9 KiB
TOML

name = "Helicone"
env = ["HELICONE_API_KEY"]
npm = "@ai-sdk/openai-compatible"
# Reasoning HTTP format (accessed 2026-06-25):
# POST /v1/chat/completions accepts top-level `reasoning_effort` = minimal, low,
# medium, or high and `reasoning_options.budget_tokens` = an integer from
# -9007199254740991 through 9007199254740991 (gateway schema, not model bounds).
# POST /v1/responses uses `reasoning.effort` plus the same nonstandard
# `reasoning_options.budget_tokens`; actual valid values and bounds are model-native.
# Anthropic routes translate any supplied effort to `thinking.type = "enabled"`
# and `thinking.budget_tokens` (explicit budget, else floor(max_tokens / 2));
# Google routes translate to `generationConfig.thinkingConfig.thinkingLevel` for
# Gemini 3+, or `thinkingBudget = -1` for Gemini 2.5, then apply an explicit budget.
# These translators rebuild native payloads, stripping the two generic fields.
# Without effort, Gemini 2.5 gets `thinkingBudget = 0`; Gemini 3+ defaults to low.
# OpenAI routes pass native Chat/Responses shapes through. The Helicone-provider
# route sends GPT Pro/Codex to Responses even when the gateway request used Chat;
# other non-native Responses requests are converted through Chat first.
# Model comments record native exceptions, including disable sentinels and bounds.
# Sources:
# https://docs.helicone.ai/gateway/concepts/reasoning
# https://docs.helicone.ai/rest/ai-gateway/post-v1-chat-completions
# https://github.com/Helicone/helicone/blob/4df16a30ab79bc6f31e4b3a29aca179d767db878/packages/llm-mapper/transform/providers/openai/request/toAnthropic.ts
# https://github.com/Helicone/helicone/blob/4df16a30ab79bc6f31e4b3a29aca179d767db878/packages/llm-mapper/transform/providers/openai/request/toGoogle.ts
# https://github.com/Helicone/helicone/blob/4df16a30ab79bc6f31e4b3a29aca179d767db878/packages/cost/models/providers/helicone.ts
api = "https://ai-gateway.helicone.ai/v1"
doc = "https://helicone.ai/models"