llm_models_spider 0.1.7

Auto-updated registry of LLM model capabilities (vision, audio, etc.)
Documentation

llm_models_spider

Crates.io Documentation License: MIT

Auto-updated registry of LLM model capabilities (vision, audio, etc.).

Features

  • Zero runtime dependencies - Pure compile-time lookups
  • Auto-updated - Model lists are fetched daily from OpenRouter via GitHub Actions
  • Fallback patterns - Unknown models are matched against common naming patterns
  • Multiple capabilities - Vision, audio, video, and file input detection

Installation

[dependencies]
llm_models_spider = "0.1"

Usage

use llm_models_spider::{supports_vision, supports_audio, is_text_only, ModelCapabilities};

// Quick capability checks
assert!(supports_vision("gpt-4o"));
assert!(supports_vision("claude-3-sonnet-20240229"));
assert!(supports_vision("google/gemini-2.0-flash"));
assert!(!supports_vision("gpt-3.5-turbo"));

// Audio support
assert!(supports_audio("gemini-2.0-flash"));

// Text-only check
assert!(is_text_only("gpt-3.5-turbo"));
assert!(is_text_only("llama-3-70b"));

// Full capabilities lookup
if let Some(caps) = ModelCapabilities::lookup("gemini-2.0-flash") {
    println!("Vision: {}", caps.vision);  // true
    println!("Audio: {}", caps.audio);    // true
}

How It Works

  1. GitHub Actions runs daily to fetch the latest model data from OpenRouter's API
  2. Models are categorized by their input_modalities field:
    • ["text", "image"] → Vision model
    • ["text", "image", "audio"] → Vision + Audio model
    • ["text"] → Text-only model
  3. The src/generated.rs file is updated and a new version is published to crates.io

Data Source

Model capabilities are sourced from OpenRouter's API:

  • Vision models: input_modalities contains "image"
  • Audio models: input_modalities contains "audio"
  • Text-only: input_modalities is ["text"] only

Fallback Patterns

For models not yet in OpenRouter, the library falls back to pattern matching:

Pattern Examples
gpt-4o, gpt-4-turbo, gpt-4-vision OpenAI vision models
claude-3, claude-4 Anthropic multimodal
gemini-1.5, gemini-2 Google Gemini
qwen2-vl, qwen-vl Alibaba Qwen VL
-vision, -vl suffix Generic vision indicators

Manual Update

To manually update the model lists:

cargo run --bin update-models --features updater

License

MIT License - see LICENSE for details.