Skip to content

feat(models): add Qwen3 Max model via Alibaba - #744

Merged
steebchen merged 1 commit into
mainfrom
feat/qwen3
Sep 5, 2025
Merged

steebchen merged 1 commit into
mainfrom
feat/qwen3

Conversation

@steebchen

@steebchen steebchen commented Sep 5, 2025 •

Copy link
Copy Markdown
Member

Introduce the Qwen3 Max model with its specifications, including pricing, context size, and advanced features like vision, reasoning, and tools support.

Summary by CodeRabbit

  • New Features
    • Added support for the Alibaba Qwen3 Max (preview) model. Highlights include long-context (256k), higher maximum output, reasoning-enabled responses, streaming output, vision input, and tool use. Available via the Alibaba provider and selectable in the model picker for chat and generation workflows. This expands capability for complex tasks, multimodal inputs, and interactive tool-powered experiences.

Introduce the Qwen3 Max model with its specifications, including pricing, context size, and
advanced features like vision, reasoning, and tools support.
@coderabbitai

coderabbitai Bot commented Sep 5, 2025 •

Copy link
Copy Markdown
Contributor

Walkthrough

Adds a new Alibaba model definition entry (Qwen3 Max) to the exported alibabaModels array in packages/models/src/models/alibaba.ts, with pricing, context, capabilities, and provider metadata. No function signatures or exports changed.

Changes

Cohort / File(s) Summary
Alibaba model definitions
packages/models/src/models/alibaba.ts
Appends model entry id qwen3-max (name "Qwen3 Max", family alibaba), providerId alibaba, modelName qwen3-max-preview, pricing (input 3e-6, output 15e-6, cachedInput 0.6e-6, request 0), contextSize 256000, maxOutput 32800, flags: reasoning true (output "omit"), streaming true, vision true, tools true.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/qwen3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@steebchen steebchen closed this Sep 5, 2025
@steebchen steebchen reopened this Sep 5, 2025
@steebchen
steebchen enabled auto-merge September 5, 2025 18:16
@steebchen
steebchen added this pull request to the merge queue Sep 5, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/models/src/models/alibaba.ts (1)

379-402: Add jsonOutput: true for parity and predictable behavior

Most Alibaba entries set jsonOutput: true at the model level. Add it here to keep feature flags consistent.

 		],
-	},
+		jsonOutput: true,
+	},
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 408b974 and 10e83a8.

📒 Files selected for processing (1)
  • packages/models/src/models/alibaba.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Use localStorage instead of cookies for client-side data persistence

Files:

  • packages/models/src/models/alibaba.ts
**/*.{js,ts}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{js,ts}: Use drizzle with the latest object syntax for database operations
For read queries, always use db().query.<table>.findMany() or db().query.<table>.findFirst()

Files:

  • packages/models/src/models/alibaba.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/general.mdc)

Never use as any or : any in TypeScript files.

Files:

  • packages/models/src/models/alibaba.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: e2e / run
  • GitHub Check: build / run
  • GitHub Check: build / run
🔇 Additional comments (1)
packages/models/src/models/alibaba.ts (1)

379-402: cachedInputPrice and reasoningOutput are already defined in ModelDefinition
Both cachedInputPrice?: number (line 37) and reasoningOutput?: "omit" (line 75) appear in packages/models/src/models.ts, so no type hole exists.

Comment on lines +387 to +399
providerId: "alibaba",
modelName: "qwen3-max-preview",
inputPrice: 3 / 1e6,
outputPrice: 15 / 1e6,
cachedInputPrice: 0.6 / 1e6,
requestPrice: 0,
contextSize: 256000,
maxOutput: 32800,
reasoning: true,
reasoningOutput: "omit",
streaming: true,
vision: true,
tools: true,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Confirm provider modelName and limits/pricing with DashScope docs

“qwen3-max-preview” may be a temporary alias; prices/limits can change. Please validate before merge.


🌐 Web query:

Confirm Alibaba DashScope model identifier and specs for “Qwen3 Max”:
- Is the REST/SDK model name “qwen3-max” or “qwen3-max-preview”?
- Prices: input $3/M tok, output $15/M tok, cached input $0.6/M tok.
- Limits: 256k context, 32.8k max output.
- Capabilities: reasoning, vision, tool-calling.
- Is a parameter/value like reasoning_output="omit" supported?
Provide the official docs/pricing page citation.

💡 Result:

Short answers:

  • Model identifier: Alibaba/DashScope uses qwen-max (not “qwen3-max”) for the Qwen-Max family; Qwen3 commercial models use names like qwen-plus, qwen3-coder-plus, qwen3-235b-... (see official models list). [1]

  • The prices you listed (input $3/M, output $15/M, cached input $0.6/M) match a tier in the qwen3-coder-plus tiered pricing (the 128K–256K and 256K–1M tiers shown in the qwen3-coder pricing tables), but those prices are for qwen3-coder-plus variants (tiered pricing) — they are not the published qwen-max prices. Check the qwen3-coder-plus pricing table in the official docs for exact tiered rows. [2]

  • Limits: the official docs show different context/output limits per model:

    • qwen-max (Qwen-Max): context 32,768 tokens, max output 8,192.
    • qwen3-coder-plus (commercial Qwen3 coder): context up to 1,048,576 tokens and max output 65,536 (tiered / snapshot variants exist).
      Your stated values (256k context, 32.8k max output) do not match the published qwen-max or qwen3-coder-plus rows; they match some Qwen3 snapshot/variants but are not the canonical qwen-max numbers. [1][2]
  • Capabilities: Qwen3 family supports reasoning modes (thinking/deep-thinking), vision (VL) variants, and strong tool-calling / agent capabilities (Qwen3-Coder and Qwen-Agent are explicitly described for tool-calling). Whether a particular model supports vision or tool-calling depends on the specific model variant (e.g., Qwen-VL models for vision; qwen3-coder-plus for agent/tool use). [1][3]

  • Parameter reasoning_output="omit": I could not find any official DashScope / Model Studio parameter named reasoning_output="omit". The Qwen3/docs reference parameters such as enable_thinking, incremental_output, result_format and streaming fields (and a separate reasoning_content field in streamed responses), but not a reasoning_output="omit" parameter. So that parameter is not documented / not supported in the official docs. [3][4]

Official documentation / pricing pages (canonical references):

  • Models & pricing (Model Studio — Qwen / Qwen-Max / Qwen3 listings). [Alibaba Cloud Models & pricing]. (alibabacloud.com)
  • Qwen-Coder (qwen3-coder-plus) pricing and limits (tiered pricing table). (alibabacloud.com)
  • DashScope / Qwen3 usage (enable_thinking, streaming, reasoning_content examples). (alibabacloud.com)

If you want, tell me which exact model/endpoint you plan to call (qwen-max, qwen-plus, qwen3-coder-plus, etc.) and I’ll extract the exact model string and the precise pricing/limits row for that model version.

Citations:


Align modelName and specs with official DashScope docs

  • Use the correct model identifier (e.g. "qwen-max" for Qwen-Max) instead of "qwen3-max-preview".
  • Update pricing (inputPrice, outputPrice, cachedInputPrice) and limits (contextSize, maxOutput) to match the published Alibaba Cloud Models & pricing and Qwen-Coder tables.
  • Remove unsupported reasoningOutput: "omit" and adopt documented parameters (enable_thinking, streaming, etc.).

Merged via the queue into main with commit 01b9012 Sep 5, 2025
19 of 21 checks passed
@steebchen
steebchen deleted the feat/qwen3 branch September 5, 2025 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant