diff --git a/models/aihubmix/manifest.yaml b/models/aihubmix/manifest.yaml index 966d068fb..a66cdb5a6 100644 --- a/models/aihubmix/manifest.yaml +++ b/models/aihubmix/manifest.yaml @@ -1,4 +1,4 @@ -version: 0.0.28 +version: 0.0.29 type: plugin author: langgenius name: aihubmix @@ -8,10 +8,10 @@ label: zh_Hans: Aihubmix pt_BR: Aihubmix description: - en_US: 'One Gateway, Infinite Models;one-stop request: OpenAI, Claude, Gemini, DeepSeek, Qwen, and over 500 AI models.' - ja_JP: '1つのAPIで無限のAIモデルを利用可能。OpenAI、Claude、Gemini、DeepSeek、Qwenなど、500種類以上のAIモデルにワンストップでアクセス。' - zh_Hans: '一个接口,无限模型;一站式请求:OpenAI、Claude、Gemini、DeepSeek、Qwen等 500+AI 模型' - pt_BR: 'Um Gateway, Modelos Infinitos; solicitação única: OpenAI, Claude, Gemini, DeepSeek, Qwen e mais de 500 modelos de IA.' + en_US: "One Gateway, Infinite Models;one-stop request: OpenAI, Claude, Gemini, DeepSeek, Qwen, and over 500 AI models." + ja_JP: "1つのAPIで無限のAIモデルを利用可能。OpenAI、Claude、Gemini、DeepSeek、Qwenなど、500種類以上のAIモデルにワンストップでアクセス。" + zh_Hans: "一个接口,无限模型;一站式请求:OpenAI、Claude、Gemini、DeepSeek、Qwen等 500+AI 模型" + pt_BR: "Um Gateway, Modelos Infinitos; solicitação única: OpenAI, Claude, Gemini, DeepSeek, Qwen e mais de 500 modelos de IA." icon: icon.svg resource: memory: 268435456 diff --git a/models/aihubmix/models/llm/_position.yaml b/models/aihubmix/models/llm/_position.yaml index 700e49fb4..dc055ef05 100644 --- a/models/aihubmix/models/llm/_position.yaml +++ b/models/aihubmix/models/llm/_position.yaml @@ -1,3 +1,6 @@ +- qwen3.7-max +- gemini-3.5-flash +- grok-4.3 - gpt-5.5 - claude-opus-4-7 - deepseek-v4-flash diff --git a/models/aihubmix/models/llm/anthropic.py b/models/aihubmix/models/llm/anthropic.py index 0becfb9f2..e4bb88f17 100644 --- a/models/aihubmix/models/llm/anthropic.py +++ b/models/aihubmix/models/llm/anthropic.py @@ -201,6 +201,35 @@ def _chat_generate( "max_tokens_to_sample" ) + if "max_tokens" not in model_parameters: + # Model-aware default: use each model's native max output limit + # See: https://platform.claude.com/docs/en/about-claude/models/overview + _MAX_TOKENS_128K = { + "claude-opus-4-7", "claude-opus-4-7-think", + "claude-opus-4-6", "claude-opus-4-6-think", + } + _MAX_TOKENS_64K = { + "claude-sonnet-4-6", "claude-sonnet-4-6-think", + "claude-sonnet-4-5", + "claude-sonnet-4-20250514", + "claude-haiku-4-5", + "claude-opus-4-5", "claude-opus-4-5-think", + "claude-opus-4-1-20250805", + "claude-opus-4-20250514", + } + _MAX_TOKENS_8K = { + "claude-3-5-sonnet-20241022", + "claude-3-5-haiku-20241022", + } + if model in _MAX_TOKENS_128K: + model_parameters["max_tokens"] = 128000 + elif model in _MAX_TOKENS_64K: + model_parameters["max_tokens"] = 64000 + elif model in _MAX_TOKENS_8K: + model_parameters["max_tokens"] = 8192 + else: + model_parameters["max_tokens"] = 4096 + thinking = model_parameters.pop("thinking", False) thinking_budget = model_parameters.pop("thinking_budget", 1024) context_1m = model_parameters.pop("context_1m", False) diff --git a/models/aihubmix/models/llm/claude-haiku-4-5.yaml b/models/aihubmix/models/llm/claude-haiku-4-5.yaml index 3801637a7..70465f64d 100644 --- a/models/aihubmix/models/llm/claude-haiku-4-5.yaml +++ b/models/aihubmix/models/llm/claude-haiku-4-5.yaml @@ -37,9 +37,9 @@ parameter_rules: use_template: top_p - name: max_tokens use_template: max_tokens - default: 8192 + default: 64000 min: 1 - max: 131072 + max: 64000 - name: response_format label: zh_Hans: 回复格式 diff --git a/models/aihubmix/models/llm/claude-opus-4-5.yaml b/models/aihubmix/models/llm/claude-opus-4-5.yaml index 6decd88da..77f1a4942 100644 --- a/models/aihubmix/models/llm/claude-opus-4-5.yaml +++ b/models/aihubmix/models/llm/claude-opus-4-5.yaml @@ -18,9 +18,9 @@ parameter_rules: use_template: top_p - name: max_tokens use_template: max_tokens - default: 8192 + default: 64000 min: 1 - max: 32000 + max: 64000 - name: response_format label: zh_Hans: 回复格式 diff --git a/models/aihubmix/models/llm/claude-opus-4-7.yaml b/models/aihubmix/models/llm/claude-opus-4-7.yaml index 316fbd1dd..4ae927d29 100644 --- a/models/aihubmix/models/llm/claude-opus-4-7.yaml +++ b/models/aihubmix/models/llm/claude-opus-4-7.yaml @@ -18,9 +18,9 @@ parameter_rules: use_template: top_p - name: max_tokens use_template: max_tokens - default: 8192 + default: 128000 min: 1 - max: 32000 + max: 128000 - name: response_format label: zh_Hans: 回复格式 diff --git a/models/aihubmix/models/llm/gemini-3.5-flash.yaml b/models/aihubmix/models/llm/gemini-3.5-flash.yaml new file mode 100644 index 000000000..516d13474 --- /dev/null +++ b/models/aihubmix/models/llm/gemini-3.5-flash.yaml @@ -0,0 +1,134 @@ +model: gemini-3.5-flash +label: + en_US: Gemini 3.5 Flash +model_type: llm +features: + - tool-call + - multi-tool-call + - agent-thought + - vision + - stream-tool-call + - document + - video + - audio + - structured-output +model_properties: + mode: chat + context_size: 1048576 +parameter_rules: + - name: include_thoughts + type: boolean + required: true + default: false + label: + en_US: Include thoughts + zh_Hans: 返回思考过程 + help: + en_US: Indicates whether to include thoughts in the response. If true, thoughts are returned only if the model supports thought and thoughts are available. Default is false. + zh_Hans: 是否返回思考过程。若为 true 则只有模型支持思考且启动思考模式时才返回思考过程。默认为 false。 + - name: media_resolution + type: string + required: true + default: "Default" + options: + - Default + - Low + - Medium + - High + label: + en_US: Media resolution + zh_Hans: 媒体分辨率 + help: + en_US: | + Gemini 3 introduces fine-grained control over multimodal visual processing via the `media_resolution` parameter. Higher resolution improves the model's ability to read small text or recognize fine details, but increases token usage and latency. + + Recommended Settings: + - Images: `media_resolution_high` (1120 tokens) - Recommended for most image analysis tasks to ensure best quality. + - PDF: `media_resolution_medium` (560 tokens) - Great for document understanding; quality usually saturates at medium. + - Video (Regular): `media_resolution_low` or `medium` (70 tokens/frame) - Sufficient for most action recognition and description tasks. + - Video (Text-heavy): `media_resolution_high` (280 tokens/frame) - Needed only when use cases involve reading dense text (OCR) or tiny details in video frames. + + Note: If not specified, the model uses the best default value based on the media type. + zh_Hans: | + Gemini 3 通过 `media_resolution` 参数引入了对多模态视觉处理的精细控制。分辨率越高,模型读取细小文本或识别细微细节的能力就越强,但会增加令牌用量和延迟时间。 + + 推荐设置: + - 图片:`media_resolution_high` (1120 tokens) - 建议用于大多数图片分析任务,以确保获得最佳质量。 + - PDF:`media_resolution_medium` (560 tokens) - 非常适合文档理解;质量通常在 medium 时达到饱和。 + - 视频(常规):`media_resolution_low` 或 `medium` (70 tokens/帧) - 对于大多数动作识别和描述任务来说已经足够。 + - 视频(文字较多):`media_resolution_high` (280 tokens/帧) - 仅当用例涉及读取密集文本 (OCR) 或视频帧中的微小细节时才需要。 + + 注意:如果不指定,模型会根据媒体类型使用最佳默认值。 + - name: thinking_level + type: string + required: true + default: "Medium" + options: + - Minimal + - Low + - Medium + - High + label: + en_US: Thinking level + zh_Hans: 思考层级 + help: + en_US: Indicates the thinking level. Default is Medium. + zh_Hans: 思考层级。默认为 Medium。 + - name: grounding + type: boolean + required: true + default: false + label: + en_US: Grounding + zh_Hans: 事实核查 + ja_JP: 事実チェック + help: + en_US: Grounding with Google Search + zh_Hans: Google 事实核查 + ja_JP: Google 検索に基づいた応答をします。 + - name: url_context + type: boolean + required: true + default: false + label: + en_US: URL context + zh_Hans: 链接详情 + ja_JP: 網羅閲覧 + help: + en_US: Browse the url context + zh_Hans: 获取并分析该链接的详细信息,为回答提供参考依据。 + ja_JP: リンク先の詳細情報を取得し、文脈を理解します。 + - name: code_execution + type: boolean + required: true + default: false + label: + en_US: Code execution + zh_Hans: 代码执行 + ja_JP: コード実行 + help: + en_US: Lets Gemini use code to solve complex tasks + zh_Hans: 让 Gemini 使用代码来解决复杂任务。 + ja_JP: Gemini にコードを使って複雑なタスクを解決させましょう。 + - name: use_inline_file + type: boolean + required: true + default: false + label: + en_US: Use inline file mode + zh_Hans: 使用内嵌文件模式 + help: + en_US: | + When enabled, files will be embedded directly in the request (inline mode) for better performance. + When disabled, files will be uploaded using the Files API. Default is disabled (Files API). + zh_Hans: | + 启用后,文件将直接内嵌在请求中(内联模式)以提高性能。 + 禁用后,文件将使用 Files API 上传。默认为禁用(使用 Files API)。 + - name: json_schema + use_template: json_schema +# https://ai.google.dev/gemini-api/docs/pricing#gemini-3-flash-preview +pricing: + input: "1.5" + output: "9" + unit: "0.000001" + currency: USD diff --git a/models/aihubmix/models/llm/grok-4.3.yaml b/models/aihubmix/models/llm/grok-4.3.yaml new file mode 100644 index 000000000..8af6af8f6 --- /dev/null +++ b/models/aihubmix/models/llm/grok-4.3.yaml @@ -0,0 +1,46 @@ +model: grok-4.3 +label: + en_US: Grok 4.3 +model_type: llm +features: + - agent-thought + - tool-call + - stream-tool-call + - multi-tool-call + - vision +model_properties: + mode: chat + context_size: 1000000 +parameter_rules: + - name: reasoning_effort + label: + zh_Hans: 推理努力程度 + en_US: Reasoning Effort + type: string + help: + zh_Hans: 控制模型的推理强度。none 为关闭思考,low/medium/high 为推荐值。 + en_US: Controls the model's reasoning intensity. none disables thinking, low/medium/high are recommended. + required: false + default: none + options: + - none + - low + - medium + - high + - name: response_format + label: + zh_Hans: 回复格式 + en_US: Response Format + type: string + required: false + options: + - text + - json_object + - json_schema + - name: json_schema + use_template: json_schema +pricing: + input: "1.25" + output: "2.5" + unit: "0.000001" + currency: USD diff --git a/models/aihubmix/models/llm/qwen3.7-max.yaml b/models/aihubmix/models/llm/qwen3.7-max.yaml new file mode 100644 index 000000000..04c0513f2 --- /dev/null +++ b/models/aihubmix/models/llm/qwen3.7-max.yaml @@ -0,0 +1,37 @@ +model: qwen3.7-max +label: + en_US: Qwen3.7 Max +model_type: llm +features: + - agent-thought + - tool-call + - stream-tool-call + - multi-tool-call +model_properties: + mode: chat + context_size: 1014784 +parameter_rules: + - name: enable_thinking + required: false + type: boolean + default: false + label: + zh_Hans: 深度思考 + en_US: Deep Thinking + help: + zh_Hans: 是否开启深度思考模式,开启后模型会先进行推理再给出回答。 + en_US: Whether to enable deep thinking mode. When enabled, the model will reason before answering. + - name: response_format + label: + zh_Hans: 回复格式 + en_US: Response Format + type: string + required: false + options: + - text + - json_object +pricing: + input: "1.69" + output: "5.07" + unit: "0.000001" + currency: USD