Overview
anypick is an open library for selecting the best large language model (LLM) across providers using filters over capabilities, pricing, and benchmarks, then picking a winner with a strategy. It only selects a model; the user wires the chosen model into their chat client. Two implementations share the same design, fixtures, and behavior: anypick-python and anypick-ts. The library supports two model providers: openrouter (the default) and vercel. openrouter is the only provider with both a model catalog and benchmarks, so it supports every strategy. vercel is models-only, so it must be paired with NoopBenchmarkObtainer, and only price-only strategies (cheapest) are meaningful. Filters reduce (models, scores) to a subset before a strategy picks a winner. They can be built ergonomically with ModelFilters or as composable predicates with pred.*. ModelFilters fields include include_ids, exclude_ids, include_makers, exclude_makers, min_prompt_price, max_prompt_price, min_completion_price, max_completion_price, min_expected_cost, max_expected_cost, expected_cost_weights, max_cache_read_price, min_context_length, max_context_length, modalities_in, modalities_exactly, excludes_modalities, output_modalities_in, output_modalities_exactly, excludes_output_modalities, requires_tools, requires_reasoning, requires_structured_outputs, min_benchmarks, and max_benchmarks. Predicate form allows negation, alternation, or custom logic by composing predicates with & (and), | (or), and ~ (not).
Pricing
Detailed plans have not been confirmed in our catalog. Check the official website for current limits and billing terms.
Visit WebsitePrices and limits may change. Confirm the currency, billing period, seat minimum and usage caps on the official website.
Use Cases
- Developers use anypick to select the cheapest model that meets specific price and context length requirements.
- Teams use anypick to filter models by required capabilities such as tool support or reasoning.
- Users use anypick to pick a model based on benchmark scores for tasks like coding or intelligence.
- Developers use anypick to integrate with OpenRouter or Vercel AI Gateway for model selection.
- Teams use anypick to apply complex filters with logical operators like AND, OR, and NOT.
- Users use anypick to select models based on expected cost with custom weights.
- Developers use anypick to filter models by input and output modalities such as text or image.
Features
Filter LLMs by supported capabilities
Compare models across provider pricing
Filter models using benchmark results
Select a winner with a strategy
Use matching Python and TypeScript implementations
Reviews
No reviews yet. Be the first to share your experience!