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

DeepSeek V4.1 Flash vs OTel-2.0-LLM-31B-IT

DeepSeek V4.1 Flash scores 61.5 (C) on agent readiness against OTel-2.0-LLM-31B-IT's 56.8 (C), and leads in 2 of 4 scored categories. OTel-2.0-LLM-31B-IT leads on risk and documentation and upkeep. Both do open-weight models you run yourself.

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

Which one, for what

DeepSeek V4.1 Flash C

Best for Teams with a multi-GPU server who want DeepSeek's agent model under MIT, with the hosted API as a fallback.

Ahead on

  • Reach, 60 against 50
  • Agent interface, 75 against 60

Watch for

510.3 GB of files and no smaller build anywhere, so it won't fit the 107.4 GB reference machine

OTel-2.0-LLM-31B-IT C

Best for Telecoms teams that want an open model for standards questions and RAG on their own hardware

Ahead on

  • Risk, 55 against 50
  • Documentation and upkeep, 74 against 48

Watch for

BF16 only at 62.6 GB, with no GGUF or other quantised build from anyone we checked

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.

Documentation and upkeep OTel-2.0-LLM-31B-IT +26

DeepSeek V4.1 Flash 48

The cards cover architecture, parameters and context but not intended use, limitations, languages or a cut-off, so 8. Training data is a general description with no cut-off, which caps it at 5. The files changed on 16 and 17 October and DeepSeek's deepseek-recipe 0.2.0 changed the V4.1 prompt encoding on 20 October, inside 30 days (20). None of the 40 most recent questions across both repositories had a DeepSeek reply (0). Every release keeps its own repository and the update names what it replaces (10). File health loses 5 for an open, unanswered pull request saying the September template trails the encoding changes. 8 + 5 + 20 + 0 + 10 + 5 = 48.

OTel-2.0-LLM-31B-IT 74

Model card 14, Intended use, a long limitations section, the architecture and training method, the parameters (31B) and the language (English) are on the card. Training data 15, the card names the sources (3GPP, ETSI, ITU, GSMA, CAMARA, O-RAN and TM Forum material provided by GSMA), the overall sizes (15 billion raw tokens, over 1 trillion processed, about 440 billion used), the mix of example types and the processing tool, and lists what was left out. Last change 20, the last commit, on 1 November 2026, updated the card's links, resources, citation and contacts, nine days before this check. Responsiveness 20, Of the 3 discussions that aren't pull requests (7 August to 28 October 2026), 2 have a reply from the repository's owner, which is most. Version policy 0, the weights were replaced in place: uploads on 27 July, 3 August and 1 September 2026 under one name, with a standing notice on the card that they may change and that users should pin a revision, and no dated note of what changed. File health 5, the card describes 15 shards of about 62.6 GB while the repository still holds an earlier 14-shard set beside them, 126.8 GB in all. 14 + 15 + 20 + 20 + 0 + 5 = 74.

Agent interface DeepSeek V4.1 Flash +15

DeepSeek V4.1 Flash 75

There's no Jinja template in the 17 October repository, only code to run, so the template line gets 10. DeepSeek documents the DSML tool format both ways and ships its own parser in encoding.py and deepseek-recipe, but names no parser in a runtime (10, read as for DeepSeek-V3.2 and V4-Flash-0731), and one block can carry several calls (20). deepseek-recipe documents JSON Schema output via response_format (15). Thinking turns off in chat mode and takes an effort budget from 1 to 100, with reasoning returned in think tags (10). The 1M context was trained in (10).

OTel-2.0-LLM-31B-IT 60

Chat template 20, chat_template.jinja in the repository, 19,300 characters, the publisher's own. Tool-calling format 10, only the template says how tools are declared and how calls come back. Trained tool calling 20, the template loops over tool_calls, so it renders several calls in one turn, and the card says the training mix included general-purpose agentic tool-calling examples, while none were specific to telecoms. Structured output 0, the card doesn't document JSON or JSON Schema output. Reasoning control 0, the card says the model wasn't trained to produce or consume Gemma's thought channel and answers directly, so there is no thinking to switch or budget. Context 10, 262,144 positions in the text config, the base's native context. 20 + 10 + 20 + 0 + 0 + 10 = 60.

Reach DeepSeek V4.1 Flash +10

DeepSeek V4.1 Flash 60

Memory scores nothing, because the only build is DeepSeek's own at 510.3 GB, about 612 GB with the fifth added, and nobody's runtime library holds a smaller one at 4-bit or better. Four runtimes run it in a released version (5 each), vLLM 0.33.0, SGLang 0.5.23, which maps the V4.1 architecture name onto its V4 model, llama.cpp from b11870 (25 October 2026), which added the deepseek41 architecture and its converter, and Ollama 0.40.14, which builds llama.cpp b11963. Transformers 5.22.1 and LM Studio don't (0 each). The release itself is one quantised build, FP8 with FP4 experts (10). MIT with nothing added earns the full terms line (15), the repositories aren't gated (10), and Hugging Face maps three live inference providers for the update (5). 0 + 20 + 10 + 15 + 10 + 5 = 60.

OTel-2.0-LLM-31B-IT 50

Memory 10, the publisher's only build is the BF16 safetensors, 62.55 GB for the 15 shards the index names, and 62.55 GB × 1.2 = 75.1 GB, above 64 GB and inside the reference machine's GPU share. Runtimes 15, the architecture is Gemma4ForConditionalGeneration, which vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 run from the safetensors files, three at 5 each. Builds 0, the publisher ships the BF16 weights only. Terms 15, Apache 2.0 in the card's metadata, an OSI licence, with nothing added on the card. Download 10, gated is false on 10 November 2026, so the files download with no account or terms. Hosted 0, Hugging Face maps one inference provider, Featherless AI (live), short of the two the line needs. 10 + 15 + 0 + 15 + 10 + 0 = 50.

Risk OTel-2.0-LLM-31B-IT +5

DeepSeek V4.1 Flash 50

The weights are safetensors only, but 10 comes off because the card's way to build prompts is running encoding.py from the repository, since there's no Jinja template. The files sit in DeepSeek's own organisation with a hash for every file. Nothing is published on safety and there's no guidance for agent use, so those two lines score 0. The security programme earns 5 for the security@deepseek.com reporting address in DeepSeek's site footer, read as for DeepSeek-V3.2, with no security.txt and no public advisories. The MIT licence carries no use policy, threshold or revocation, so licence risk keeps all 15.

OTel-2.0-LLM-31B-IT 55

File safety 25, safetensors only, with no .bin, .pt or .pth files and no Python files. Provenance 5, the files sit in a personal account, farbodtavakkoli, not in an organisation AT&T's or GSMA's site links to: GSMA's article names AT&T as the releaser without linking the repository, and the GitHub repository that links it is the same person's (0). Safety evaluation 0, no safety results on the card. Agent guidance 10, the card says what the trained abstention covers (declining when context is missing, irrelevant or insufficient) and what to add around the model for agent use: an external tool runtime, validated tool schemas, permission controls, audit logging, safeguards and human review. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, nothing is added on the card, and the licence link resolves (200 on 10 November 2026). Security programme 0, no way to report a flaw found. 25 + 5 + 0 + 10 + 15 + 0 = 55.

Score by category

CategoryWeight this runDeepSeek V4.1 FlashOTel-2.0-LLM-31B-ITEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%256050DeepSeek V4.1 Flash +10
Risk20%205055OTel-2.0-LLM-31B-IT +5
Agent interface10%107560DeepSeek V4.1 Flash +15
Documentation and upkeep10%104874OTel-2.0-LLM-31B-IT +26
Negative events≤1500
TotalC 61.5/100C 56.8/100

Facts side by side

FactDeepSeek V4.1 FlashOTel-2.0-LLM-31B-IT
KindOpen-weight modelOpen-weight model
VendorDeepSeekAT&T (Open Telco AI)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceMITApache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-10-172026-11-01
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Agent reviews2.8/5 (4)none

How the scores have moved

Verdicts

DeepSeek V4.1 Flash

A large multimodal agent model with a 1M-token context, documented tool calls, JSON Schema output and a reasoning budget, under MIT. It needs about 612 GB of memory across several GPUs and runs in vLLM, SGLang and llama.cpp. The main risks are prompts built from DeepSeek's code instead of a template, no published safety results and no DeepSeek replies.

OTel-2.0-LLM-31B-IT

A real telecoms post-training of Gemma 4 31B IT with an unusually candid card on what was and wasn't trained. It fits a 128 GB machine in BF16 only, with no quantised build, sits in a personal account, and its weights have been replaced in place. Tool-call format, structured output and safety results aren't documented.

Before you call either

DeepSeek V4.1 Flash

  1. DeepSeek's reference run is its inference folder, convert.py with --model-parallel 8 --expert-dtype fp4, then torchrun --nproc-per-node 8 generate.py --ckpt-path "$SAVE_PATH" --config config.json --interactive
  2. In vLLM 0.32.0 the parsers are named deepseek_v41 for both --tool-call-parser and --reasoning-parser. That's vLLM's naming, DeepSeek doesn't document a vLLM command
  3. In llama.cpp, convert with convert_hf_to_gguf.py from b11870 or later, which added the deepseek41 architecture on 25 October 2026; no GGUF is published by DeepSeek
  4. Build prompts with encoding.py or pip install deepseek-recipe, not the September repository's chat_template.jinja, which an open pull request says trails the 16 October encoding
  5. Tool calls come back in a DSML calls block with a space before calls, invoke and parameter, unlike V4
  6. Set reasoning_effort to 1 to 100, or low, high or max (50, 75, 100), in thinking mode only. Default is 75
  7. Sample at temperature 1.0 and top_p 1.0 and allow 256K or more output tokens, as the card recommends
  8. Without the hardware, call DeepSeek's API as deepseek-flash, which serves this exact update

OTel-2.0-LLM-31B-IT

  1. Download the 15 shards the index names, not the whole repository, which is twice the size
  2. Pin a revision. The card says the weights may change under the same name
  3. Serve it with vLLM 0.19.0 or later and the repository's own chat template, not Gemma 4's
  4. Send no thinking flags. It answers directly and wasn't trained on Gemma's thought channel
  5. Use it as the generation stage of a RAG pipeline over telecom standards, with source attribution and human review
  6. Don't use it to run network tools unattended. The card says that hasn't been evaluated

Questions

Which is better for AI agents, DeepSeek V4.1 Flash or OTel-2.0-LLM-31B-IT?

DeepSeek V4.1 Flash scores 61.5 (C) on agent readiness against OTel-2.0-LLM-31B-IT's 56.8 (C), and leads in 2 of 4 scored categories. OTel-2.0-LLM-31B-IT leads on risk and documentation and upkeep.

Other comparisons with DeepSeek V4.1 Flash or OTel-2.0-LLM-31B-IT

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.