Hy3 vs GLM-5.2: Apache License Changes SMB Math

Your legal team just killed another self-hosted model deployment. The engineering evals looked great, the cost model penciled out, and then someone read the license and noticed the EU/UK/Korea carve-outs. Back to the OpenAI bill.
This is the quiet tax on the open-weight boom. Most of the strongest Chinese releases over the past year have shipped under custom licenses that exclude entire jurisdictions, restrict commercial use above certain revenue thresholds, or require registration. For a US-based SMB with EU customers, or a UK ops team running on-prem document processing, those clauses are deployment killers before a single GPU spins up.
Tencent's Hy3 release changes that specific calculus. It ships under Apache 2.0 — no jurisdiction carve-outs, no revenue caps, no registration wall — at roughly half the parameter count of GLM-5.2 and matches or beats it on most non-coding benchmarks. That combination shifts the build-vs-buy conversation for a specific class of workloads: on-prem RAG, document extraction, and internal agent workflows where the Claude API bill is starting to hurt.
Here's what actually matters for a small team deciding whether to self-host.
Why Apache 2.0 is the whole story
The Apache 2.0 license grants unlimited commercial use, modification, and redistribution with a patent grant, no field-of-use restrictions, and no geographic exclusions. For enterprise procurement, that means one page of standard boilerplate instead of a six-week legal review.
Compare that to the license patterns common in prior open-weight Chinese releases:
| License pattern | Typical restrictions | Effect on SMB deployment |
|---|---|---|
| Custom "community" license | EU/UK/Korea excluded, revenue caps, name attribution | Legal review kills 60–80% of enterprise use cases |
| Research-only | No commercial use | Prototypes only, no production path |
| Apache 2.0 / MIT | None material | Ships to production with standard vendor review |
If you run a US SaaS with UK customers, a Toronto-based agency serving Australian clients, or a small London consultancy processing client documents, the license text is not a footnote. It determines whether the model is a real option or a thought experiment.
Hy3 being Apache-licensed means you can:
- Fine-tune it on customer data and keep the derivative private.
- Deploy it inside a client's VPC as part of a paid engagement.
- Redistribute a quantized version as part of your own product.
- Do all of the above without asking Tencent, notifying anyone, or checking whether your customer's headquarters happens to sit in the wrong country.
That is a materially different product than "GLM-5.2 but you have to check with legal first."
Where Hy3 wins and where it loses
The published benchmarks — and this is worth verifying against the current model card before you commit budget — put Hy3 ahead of GLM-5.2 on general reasoning, multilingual QA, long-context retrieval, and instruction following, despite being roughly half the size. It loses on coding. Not by a small margin either; on code generation and code repair tasks, GLM-5.2 stays clearly ahead, and both trail Claude Sonnet and GPT-class models by a meaningful gap.
This maps cleanly to workload routing:
Hy3 is the right tool for:
- RAG over internal documents (policies, contracts, tickets, wikis)
- Structured extraction from PDFs, invoices, forms
- Email triage and classification
- Multilingual customer support drafts
- Summarization and meeting notes
- Internal agent workflows that call tools but don't write code
Hy3 is the wrong tool for:
- Code generation, refactoring, or repair
- Anything where a subtle logic bug in generated code becomes a production incident
- Complex multi-step reasoning where the state-of-the-art frontier models still have a real edge
The honest read: for a solo operator or small team, roughly 70–80% of the LLM calls in a typical business automation stack are extraction, classification, and summarization. Those are exactly the workloads Hy3 handles well. The remaining 20–30% — the hard reasoning, the code, the customer-facing conversation quality — stays on Claude or GPT.
That's the split that makes self-hosting economically interesting.
The build-vs-buy math for an SMB
The naive comparison is "API cost per million tokens vs GPU rental cost per hour." That comparison is misleading because it ignores the fixed overhead of running your own inference stack. Here's a more honest frame.
Assume a small team processing around 50 million input tokens and 10 million output tokens per month across document extraction and RAG workloads. Round numbers for illustration; your actual mix will differ.
Buying (Claude API, Sonnet-class pricing):
- Predictable monthly cost that scales linearly with usage
- Zero infra overhead
- No model updates to manage
- Data leaves your environment (relevant for some regulated workloads)
Building (self-hosted Hy3 on rented GPU):
- A single A100 or H100 rental runs continuously whether you use it or not
- You pay for idle capacity
- You inherit the ops burden: model serving (vLLM, TGI, or similar), monitoring, autoscaling, upgrades
- Data stays in your environment
- Cost is roughly flat regardless of token volume above a threshold
The crossover point matters. Below roughly 20–30M tokens/month of steady traffic, the API almost always wins on total cost of ownership once you count engineering time. Above that, especially for workloads with predictable throughput, self-hosting starts to make sense. And critically: self-hosting only makes sense if you actually have workloads where the model quality is good enough. That's why Hy3 matters — it expands the set of workloads where "good enough" is genuinely true.
A realistic self-hosting stack
If you're going to self-host Hy3 for a document processing pipeline, here's a minimal production shape that actually works, not a diagram.
# docker-compose.yml - minimal serving stack
services:
vllm:
image: vllm/vllm-openai:latest
command: >
--model tencent/Hy3
--tensor-parallel-size 1
--max-model-len 32768
--gpu-memory-utilization 0.9
--enable-prefix-caching
ports:
- "8000:8000"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
gateway:
image: your-org/llm-gateway:latest
environment:
- HY3_ENDPOINT=http://vllm:8000/v1
- CLAUDE_API_KEY=${CLAUDE_API_KEY}
- ROUTING_CONFIG=/etc/routing.yaml
ports:
- "9000:9000"
The gateway in front is the important part. It's a thin service that speaks the OpenAI API shape and routes requests based on workload type. A minimal routing config:
routes:
- match: {task: "extract"}
provider: hy3
fallback: claude-haiku
- match: {task: "classify"}
provider: hy3
- match: {task: "summarize"}
provider: hy3
- match: {task: "code"}
provider: claude-sonnet
- match: {task: "reason"}
provider: claude-sonnet
- default:
provider: hy3
fallback: claude-haiku
Client code tags the request and doesn't care which model runs it:
from openai import OpenAI
client = OpenAI(base_url="http://gateway:9000/v1", api_key="internal")
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": pdf_text}],
extra_body={"task": "extract", "schema": invoice_schema},
)
This shape gives you two things worth having. First, you can move any workload between Hy3 and Claude by changing one config line, without touching application code. Second, you get automatic fallback when your GPU is saturated or the container is restarting during a model upgrade. That fallback is what makes self-hosting acceptable to a small team that can't page an on-call engineer at 2am.
The hidden costs nobody puts in the spreadsheet
Every self-hosting pitch understates the operational overhead. Here's what actually eats time:
Model updates. Every three to six months, a better open model ships. If you don't upgrade, you're paying to run yesterday's model while your competitors are on today's. If you do upgrade, you re-run evals, re-tune prompts, and occasionally discover that your extraction pipeline that worked fine on v1 now hallucinates a field on v2.
Quantization tradeoffs. Running the full-precision model on rented H100s is expensive. Quantizing to INT8 or INT4 cuts costs meaningfully but degrades quality on the edge cases. You will not notice the degradation on your happy-path evals. You will notice it three months in when a customer complains about a specific document type.
Prompt drift. Prompts tuned for Claude don't automatically work on Hy3. Instruction-following styles differ. Structured output reliability differs. You will rebuild your prompt library. Budget two to three engineering weeks for a serious workload.
Observability. Nobody self-hosts a model without eventually building a logging and eval pipeline. You need to sample outputs, score them, and catch regressions. This is the work that separates "we self-host" from "we self-host and it actually works."
None of these are dealbreakers. They're the reason self-hosting has a break-even point rather than being universally better. For an Anthropic engineering team's take on the eval-driven approach that applies equally to self-hosted models, see their prompt engineering guidance.
What changes for on-prem RAG specifically
RAG over internal documents is the workload where Hy3's Apache license matters most. The typical pattern:
- Documents live in a customer's environment (SharePoint, Google Drive, S3, a Postgres database of tickets).
- Compliance or contract terms require that document contents don't leave that environment.
- You want to build a retrieval-augmented chat or extraction interface over that corpus.
With a Claude API dependency, this deployment requires either explicit customer sign-off on data leaving to Anthropic (fine for many, dealbreaker for regulated industries) or a routing layer that keeps document contents on-prem and only sends metadata to an API. The second option is annoying to build and limits what you can do.
With Hy3, the entire pipeline — embedding, retrieval, generation — runs inside the customer's VPC. No data leaves. The license permits it explicitly. You can ship this as a paid engagement to a healthcare provider, a law firm, or a financial services SMB without a legal review that lasts longer than the engagement itself.
The generation quality on retrieval-grounded tasks is where Hy3 is genuinely competitive. When the model's job is "answer this question using only the provided context," the reasoning gap with frontier models narrows sharply. The extraction and grounding quality is what matters, and Hy3 handles it well.
A decision framework you can actually use
Skip the spreadsheet. Ask these five questions in order:
Does your workload touch code generation or complex multi-step reasoning? If yes for the majority of calls, stay on Claude or GPT. Hy3 is not competitive here.
Does customer data or compliance require on-prem processing? If yes, self-hosting is not optional. Hy3's license makes this cheaper and legally cleaner than the alternatives.
Is your steady-state token volume above roughly 20–30M tokens/month? If no, the API is almost certainly cheaper once you count engineering time. Come back when volume grows.
Do you have someone who can own a serving stack for two hours a week? If no, self-hosting will fail regardless of the model quality. Buy the API.
Are your workloads primarily extraction, classification, RAG, or summarization? If yes, Hy3 is a real option. If they're conversational or reasoning-heavy, keep the frontier API and revisit next quarter.
For most solo operators and small teams, the honest answer to at least one of these questions rules out self-hosting today. That's fine. The point of Hy3's release isn't that everyone should self-host — it's that the option is now legally and technically available to a much wider set of teams than it was a month ago.
How BizFlowAI approaches this
We run this exact routing pattern for SMB clients where the workload mix genuinely justifies it: a gateway in front, Claude for the hard reasoning and code paths, a self-hosted open-weight model for extraction, classification, and RAG. When it makes sense we deploy inside the client's environment; when it doesn't, we keep everything on the Claude API and don't pretend self-hosting is free. The Hy3 release moves a specific set of workloads — on-prem document processing, multilingual RAG, structured extraction — into "actually worth self-hosting" territory that were previously stuck on API-only or blocked by license terms.
If you're staring at a growing Claude bill and wondering whether some of that traffic belongs on your own hardware, that's a real question with a real answer that depends on your workload mix. We do fit analyses that end with either "keep buying the API, here's why" or "here's the specific workload split that pays back in four months." Both are legitimate answers.
Work with BizFlowAI
If you'd rather have this built for you, that's what we do: production AI automation for solo founders and small teams — agents, integrations, and document pipelines that actually ship.
Book a free discovery call — 30 minutes, we map the highest-ROI automation in your workflow. No pitch deck, just engineering.
More guides like this on the BizFlowAI blog.
Frequently asked questions
Can I use Tencent Hy3 commercially in the EU or UK?
Yes. Tencent's Hy3 model is released under the Apache 2.0 license, which has no jurisdiction carve-outs, no revenue caps, and no registration requirements. This makes it usable in the EU, UK, Korea, and other regions that were excluded by prior custom Chinese model licenses. You can fine-tune it on private data, deploy it in a client VPC, and redistribute quantized versions without notifying Tencent.
When does self-hosting an open LLM become cheaper than the Claude API?
For a small team, the crossover point is roughly 20-30 million tokens per month of steady, predictable traffic. Below that, API pricing almost always wins once you count engineering time for serving, monitoring, and upgrades. Above that threshold, self-hosting a model like Hy3 on rented A100 or H100 GPUs becomes economically viable, especially for extraction, classification, and RAG workloads.
What workloads is Tencent Hy3 good and bad at?
Hy3 performs well on RAG over internal documents, structured extraction from PDFs and invoices, email classification, multilingual support drafts, summarization, and tool-calling agent workflows. It loses meaningfully to GLM-5.2 and frontier models like Claude Sonnet on code generation and code repair. A practical pattern is routing roughly 70-80% of extraction and classification calls to Hy3 while keeping code and hard reasoning on Claude or GPT.
How do I route requests between a self-hosted model and a hosted API?
Put a thin gateway service in front that speaks the OpenAI API shape and routes based on a task tag in the request. Extraction, classification, and summarization go to a local vLLM server running Hy3; code and complex reasoning go to Claude Sonnet. Configure a fallback provider like Claude Haiku for when the GPU is saturated or during model upgrades so client code never has to change.
What hidden costs come with self-hosting an open-weight LLM?
The main hidden costs are model upgrades every three to six months (re-running evals and re-tuning prompts), quantization quality degradation on edge cases that happy-path tests miss, and prompt drift because instruction-following differs between models. You also pay for idle GPU capacity because rented H100s bill continuously regardless of token volume. Budget several engineering weeks per year for these ops tasks.