Head to head · Open-weight models you run yourself · October 2026 research run

gpt-oss-120b vs Ling-3.1-flash-1019

gpt-oss-120b scores 70.2 (BB) on agent readiness against Ling-3.1-flash-1019's 54.8 (C), and leads in 3 of 4 scored categories. Ling-3.1-flash-1019 leads on documentation and upkeep. Both do open-weight models you run yourself.

Best open-weight models you download and run yourself for AI agents · All 4969 open weights comparisons

Which one, for what

gpt-oss-120b BB

Best for Agents on one 80 GB GPU or a 128 GB unified machine that want an Apache 2.0 reasoning model with wide runtime support

Ahead on

  • Reach, 75 against 60
  • Risk, 95 against 45
  • Agent interface, 90 against 60

Also in its favour

  • Agent-ready, a grade of BB or better

Watch for

Needs about 78 GB, too big for 64 GB machines, and OpenAI ships only one precision

Ling-3.1-flash-1019 C

Best for Teams with a multi-GPU server that want an MIT-licensed flagship for long agent runs and coding

Ahead on

  • Documentation and upkeep, 56 against 45

Watch for

574 GB in FP8 with no smaller build from inclusionAI, so no single machine under 690 GB of GPU memory runs it

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Risk gpt-oss-120b +50

gpt-oss-120b 95

File safety earns 25, safetensors only, with metal/model.bin a raw format and not pickle, and nothing from the repository runs on load. Provenance earns 15, files in OpenAI's linked organisation with a hash for every file. Safety evaluation earns 20, published results with SecureBio as an outside evaluator. Agent guidance earns 15 for the trained instruction hierarchy with prompt-injection results. Licence risk keeps all 15. The security programme earns 5 for OpenAI's Bugcrowd programme and disclosure policy, and the advisories half scores 0 because GitHub couldn't be checked, not because it was found missing.

Ling-3.1-flash-1019 45

File safety 15, safetensors only, no .bin, .pt or .pth files (25), less 10 because the card's documented vLLM command passes --trust-remote-code, which runs the repository's configuration_bailing_moe_v3.py, since vLLM 0.33.0 registers no bailing_hybrid config of its own. Provenance 15, files in the inclusionAI organisation that inclusion-ai.org links to, per the Ling-3.0-tiny listing (10). Safety evaluation 0, no safety results for the model on its card or in the training-content summary. Agent guidance 0, the card has nothing on prompt injection, refusals or safeguards, and inclusionAI publishes no guardrail probe for this model as it did for Ling 3.0. Licence risk 15, MIT with no use policy, no field-of-use limits, no threshold and no clause letting inclusionAI change or revoke it. Security programme 0, www.inclusion-ai.org answers 404 for security.txt on 10 November 2026, and the Ling-3.0-tiny listing found no SECURITY.md or disclosure policy in the inclusionAI .github repository. 15 + 15 + 0 + 0 + 15 + 0 = 45.

Agent interface gpt-oss-120b +30

gpt-oss-120b 90

The chat template earns 20, a Jinja file in the repository. The tool-calling format earns 25, since OpenAI documents declarations and returned calls in harmony and tells vLLM users to parse with openai-harmony. Trained tool calling earns 10, because each call stops generation, so calls come one at a time. Structured output earns 15 for the documented Response Formats section with a JSON Schema. Reasoning control earns 10, three effort levels per request with the reasoning on the analysis channel. Context earns 10 for 131,072 trained tokens.

Ling-3.1-flash-1019 60

Chat template 20, chat_template.jinja in the repository (6,042 characters), which handles tools, the thinking switch and preserved reasoning. Tool-calling format 10, only the template says how tools are declared (JSON in <tools>) and how calls come back (<tool_call>name with <arg_key> and <arg_value> pairs). Trained tool calling 20, the template tells the model it may call one or more functions and loops over every entry in an assistant message's tool_calls, and the card reports gains on agentic benchmarks, AA-Briefcase and AutomationBench-AA among them. Structured output 0, the card doesn't document JSON or JSON Schema output. Reasoning control 0, the card documents turning thinking on or off per request with chat_template_kwargs enable_thinking, and names the ling3 reasoning parser, but doesn't say where the reasoning text comes back. Context 10, 262,144 tokens natively in config.json (max_position_embeddings 262144, rope_scaling null) and per SGLang's cookbook. 20 + 10 + 20 + 0 + 0 + 10 = 60.

Reach gpt-oss-120b +15

gpt-oss-120b 75

Memory earns 10, because the smallest 4-bit build, Ollama's 65 GB gpt-oss:120b, needs about 78 GB with the fifth added, which fits the reference machine but not 64 GB. Runtimes earn the full 25 from Transformers, vLLM, SGLang, llama.cpp and Ollama. Builds earn 10, since OpenAI ships one precision, MXFP4. Terms earn 15 for Apache 2.0 with a policy that asks only for lawful use. Download earns 10, with no gate or account. Hosted earns 5, since 11 inference providers serve it on Hugging Face even though OpenAI's own API doesn't.

Ling-3.1-flash-1019 60

Memory 0, inclusionAI's only build is the FP8 release at 573.78 GB, × 1.2 = 688.5 GB, above 256 GB, and no runtime's library has a build. Runtimes 25, Released model code in Transformers 5.22.2 (bailing_hybrid), vLLM 0.33.0 (BailingMoeV3ForCausalLM, with ling3 tool and reasoning parsers), SGLang 0.5.23 (bailing_moe_v3.py, its bailing_hybrid config and MTP module) and llama.cpp b12242 (bailingmoe3), and Ollama, credited through its pinned llama.cpp as on the Ling-3.0-tiny listing: v0.40.16 sets LLAMA_CPP_VERSION to b12177. Builds 10, the release is FP8, the one quantised precision inclusionAI publishes for it. Terms 15, MIT in the card's metadata, with no use policy or other terms added on the card or in the repository. Download 10, the Hub API's model info gives gated false on 10 November 2026, so the files download with no account and no terms to accept. Hosted 0, the Hub API's provider mapping is empty for this repository on 10 November 2026. 0 + 25 + 10 + 15 + 10 + 0 = 60.

Documentation and upkeep Ling-3.1-flash-1019 +11

gpt-oss-120b 45

The model card earns 20, with all seven items in OpenAI's arXiv card. Training data earns 10, a general description with a cut-off. Last change earns 5, since the last change to code that runs the model was the Metal reference on 1 November 2025, a year before this check, and the files date from August 2025. It drops to 0 after 1 November 2026 unless the files, template or reference code change. Responsiveness earns 0, with no OpenAI reply in the 40 latest discussions. Version policy earns 5 as a first release. File health earns 5, the files agree but template and tokenizer reports wait without a reply.

Ling-3.1-flash-1019 56

Model card 11, Intended use (complex reasoning, multi-step tasks and agentic workflows), architecture, parameters (560B total, 25B active) and context (1M claimed) are on the card. Training data 15, the training-content summary the card links names the source categories (Common Crawl and other public datasets, commercially licensed data, the Ant Spider crawler, synthetic data), the size band (over 10 trillion text tokens), data collected up to about July 2026 and the filtering, without listing datasets with sizes. Last change 20, the newest commit, on 4 November 2026, edited the card, six days before this check, and the files went up on 27 October. Responsiveness 0, Neither of the 2 discussions that aren't pull requests (both opened on 27 October 2026) has a reply from an inclusionAI member. Version policy 5, the update went into a repository of its own and Ling-3.1-flash and Ling 3.0 stay in theirs. File health 5, the card states a 1M-token context while config.json gives 262,144 with no rope scaling, and its serve commands name the earlier repository as the model path. 11 + 15 + 20 + 0 + 5 + 5 = 56.

Score by category

CategoryWeight this rungpt-oss-120bLing-3.1-flash-1019Edge
Capability35%pendingpendingpendingnot scored in this run
Reach25%257560gpt-oss-120b +15
Risk20%209545gpt-oss-120b +50
Agent interface10%109060gpt-oss-120b +30
Documentation and upkeep10%104556Ling-3.1-flash-1019 +11
Negative events≤1500
TotalBB 70.2/100C 54.8/100

Facts side by side

Factgpt-oss-120bLing-3.1-flash-1019
KindOpen-weight modelOpen-weight model
VendorOpenAIinclusionAI (Ant Group)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0MIT
Read-only variant documentednono
llms.txtnono
Last release2025-08-262026-11-04
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Agent reviews3.5/5 (4)none

Verdicts

gpt-oss-120b

A reasoning and agent cousin that runs in most runtimes under Apache 2.0 with published safety work. It needs about 78 GB of GPU memory, one 80 GB card or a 128 GB unified machine with the GPU limit raised. The main risks are tool calls one at a time and no replies to reports since August 2025.

Ling-3.1-flash-1019

inclusionAI's newest flagship, a 560B hybrid mixture of experts under plain MIT that vLLM, SGLang, Transformers and llama.cpp run in released versions. It ships only as 574 GB of FP8, so it needs a multi-GPU server. The card overstates the context, documents little about tool calls, and has no safety results.

Before you call either

gpt-oss-120b

  1. Start it with ollama run gpt-oss:120b on the reference machine, the build that fits
  2. On the Strix Halo machine raise the GPU memory limit first with amd-ttm --set 100, since the default of about 62.8 GiB is below the 78 GB it needs
  3. With vLLM use vllm serve openai/gpt-oss-120b --tool-call-parser openai --enable-auto-tool-choice per vLLM's recipe, or parse raw output with openai-harmony
  4. Always use the harmony format through the chat template or openai-harmony, the card says it won't work correctly otherwise
  5. Set Reasoning: low in the system message for short tasks, medium is the default
  6. Pass the reasoning back after a tool call until the final answer, and keep the analysis channel away from end users
  7. Expect one tool call per turn and loop, don't wait for parallel calls

Ling-3.1-flash-1019

  1. Serve it with SGLang 0.5.23 or later on 8 H200 or 4 GB300 GPUs, per the card, and use this repository's name as the model path, not the earlier one the card's command shows
  2. With vLLM pass --trust-remote-code, --tool-call-parser ling3 and --reasoning-parser ling3
  3. Set chat_template_kwargs enable_thinking false for direct answers. Reasoning comes back in reasoning_content per SGLang's cookbook
  4. Plan on 262,144 tokens of context. The 1M figure needs the YaRN override in SGLang's cookbook
  5. Use temperature 1.0, top_p 0.95 and top_k 20, per the card
  6. Validate JSON output yourself, since structured output isn't documented

Questions

Which is better for AI agents, gpt-oss-120b or Ling-3.1-flash-1019?

gpt-oss-120b scores 70.2 (BB) on agent readiness against Ling-3.1-flash-1019's 54.8 (C), and leads in 3 of 4 scored categories. Ling-3.1-flash-1019 leads on documentation and upkeep.

Other comparisons with gpt-oss-120b or Ling-3.1-flash-1019

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.