← Back to all sparks
M

mLLMCelltype

INFRA · APIS
Velocity2.5

Cell Type Annotation Using Large Language Models

Consensus cell-type annotation that keeps adding LLM providers, and keeps fixing how they fail.

llm-consensussingle-cellprovider-integrationsreliabilitybioinformatics
Current state
mLLMCelltype annotates scRNA-seq clusters by polling several LLMs and reconciling their answers into a consensus label, shipping as paired R and Python packages. The 2.0 line has settled into a rhythm: broaden the provider roster, then harden the parsing and retry paths that decide whether a given provider's answer survives into the consensus. Version 2.0.8 is pure reliability work, disabling DeepSeek V4's thinking mode because it exhausted the response budget before labels were returned, and raising non-streaming timeouts to 120 seconds.
Where it's heading
The centre of gravity has moved from adding models to defending against them. Recent notes read as a catalogue of ways an LLM response can be malformed: numbered lists, preamble headers, annotation-internal colons, a mid-list Unknown, thinking blocks that precede the answer, rate limits returned as HTTP 200 with an error buried in the body. Each of those could previously shift or drop a cluster's annotation, which for a consensus tool is the failure that matters most. Provider additions now land as routine catalogue growth rather than a change in what the package can do.
Prediction
Expect the next release to continue the reliability arc with more provider-specific timeout and parsing guards, and a CRAN publication of 2.0.8 to close the gap the notes themselves flag. Whether return_reasoning grows from an option into the default per-cluster evidence record is the open question these entries do not yet answer.

Recent moves

  1. 2d ago

    DeepSeek annotations stop timing out before a label returns

    A targeted fix for the provider most likely to fail silently: DeepSeek V4's thinking mode was consuming the response budget before cell-type labels were emitted, and non-streaming requests now get 120 seconds in both packages. It fits the 2.0 pattern of hardening where a provider's answer is won or lost rather than expanding what the package does.

    View source ↗
  2. 1mo ago

    Kimi joins the provider panel; annotation parsing hardened

    Adds Kimi/Moonshot with automatic protocol selection and a return_reasoning option that yields per-cluster marker genes instead of a bare label. The weight of the release sits in parsing, though: numbered lists, stray summary lines and Anthropic thinking blocks no longer shift or discard annotations on zero-based clusters. Another provider is catalogue growth for a consensus tool; the parsing fixes are what change results.

    View source ↗
  3. 3mo ago

    Packaging release rolling up parsing and Qwen cache fixes

    A metadata and packaging release that carries forward discussion parsing, Qwen endpoint cache scoping and custom provider configuration fixes already sitting on main, and prepares the R source package for CRAN submission. Nothing here changes annotation behaviour beyond the fixes it forwards.

    View source ↗
  4. 3mo ago

    Release archived on Zenodo for the accompanying paper

    Primarily a citable archive: this tag is the version referenced by the Communications Biology paper reporting that LLM consensus improves cell-type annotation accuracy. The code changes are consolidation of the consensus and report paths accumulated since 2.0.0.

    View source ↗
  5. 6mo ago

    Model roster refreshed; logging unified and console output off

    The 2.0 line opens by refreshing the model catalogue across nine providers and consolidating two debug mechanisms into a single logging path, with console output now disabled by default: the one change existing users must act on. Substantial internal cleanup, but the annotation contract itself is unchanged.

    View source ↗
  6. 1y ago

    mLLMCelltype v1.2.9: Cache System Fix and Improvements

    Cache keys were letting OpenRouter-routed models reuse entries cached for the same model reached directly, so annotations could come back from the wrong provider path. The added cache inspection and clearing utilities are an early sign of the operational tooling the 2.0 reliability work later expands.

    View source ↗