llm_models_spider
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
[]
= "0.1"
Usage
use ;
// Quick capability checks
assert!;
assert!;
assert!;
assert!;
// Audio support
assert!;
// Text-only check
assert!;
assert!;
// Full capabilities lookup
if let Some = lookup
How It Works
- GitHub Actions runs daily to fetch the latest model data from OpenRouter's API
- Models are categorized by their
input_modalitiesfield:["text", "image"]→ Vision model["text", "image", "audio"]→ Vision + Audio model["text"]→ Text-only model
- The
src/generated.rsfile is updated and a new version is published to crates.io
Data Source
Model capabilities are sourced from OpenRouter's API:
- Vision models:
input_modalitiescontains"image" - Audio models:
input_modalitiescontains"audio" - Text-only:
input_modalitiesis["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:
License
MIT License - see LICENSE for details.