Выбор подходящей модели для задачи
Научитесь сокращать расходы и задержку RAG, направляя каждый запрос к самой дешёвой модели, способной хорошо выполнить задачу, с помощью уровней моделей, каскадов и порогов качества.
«Выбор подходящей модели для задачи» — бесплатный урок LLM Apps in Production (RAG + Vector DB + Caching) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения LLM Apps in Production (RAG + Vector DB + Caching), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс LLM Apps in Production (RAG + Vector DB + Caching) содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Why Model Choice Drives Cost
In a RAG pipeline the LLM call is usually the single biggest cost and latency driver. The same prompt sent to a flagship model can cost 20-50x more than a small model.
Optimizing model selection is often the highest-leverage change you can make.
- Token price differs per model
- Latency scales with model size
- Not every query needs the biggest brain
Model Tiers
Group your available models into tiers by capability and price:
- Small / cheap — classification, extraction, simple Q&A
- Mid — most RAG answers grounded in retrieved context
- Large / flagship — multi-step reasoning, ambiguous queries
Default to the smallest tier that meets your quality bar.
A Simple Router
A router inspects the request and picks a model. Start with rule-based routing before adding ML.
def pick_model(query, context_len):
if len(query) < 80 and context_len < 2000:
return 'small-model'
if 'explain' in query or 'compare' in query:
return 'large-model'
return 'mid-model'
print(pick_model('What is the price?', 500))Model Cascades
A cascade tries a cheap model first, then escalates only if the answer is low confidence. Most queries resolve cheaply; only the hard ones reach the expensive model.
- Run small model
- Score confidence / check guardrails
- Escalate only on failure
Cascade in Code
A minimal cascade with a confidence check.
def answer(query):
cheap = call('small-model', query)
if cheap['confidence'] >= 0.8:
return cheap['text']
return call('large-model', query)['text']
def call(model, query):
return {'text': 'stub', 'confidence': 0.9}
print(answer('hello'))Confidence Signals
How do you know the cheap answer is good enough? Useful signals:
- Self-reported confidence from the model
- Whether the answer cites retrieved context
- Output length / refusal patterns
- A small judge model scoring the answer
Matching Context Size to Model
Large context windows are expensive. A model that accepts 200k tokens charges you for every token you send. Trim retrieved chunks aggressively and reserve big windows for queries that truly need them.
Right-sizing context is part of right-sizing the model.
Measuring Quality per Tier
Before downgrading a model, measure quality on a fixed eval set. Track accuracy per tier so you know the real trade-off.
scores = {'small': 0.81, 'mid': 0.90, 'large': 0.93}
bar = 0.88
cheapest_ok = next(m for m, s in scores.items() if s >= bar)
print('Use:', cheapest_ok)Cost vs Quality Curve
Plotting cost against quality usually shows diminishing returns: jumping to the flagship model buys a few points of accuracy at multiples of the cost.
Pick the point where quality crosses your acceptance bar at the lowest cost.
Fallbacks for Reliability
Routing also helps reliability. If your primary model is rate-limited or down, route to an alternative provider of similar tier so users still get answers.
- Primary -> secondary provider
- Same tier, comparable quality
- Log which path served the request
Putting It Together
A production router combines: tier rules, a cascade for hard queries, context trimming, and provider fallbacks. Continuously evaluate so routing stays calibrated as models change.
Quick Check
Test your understanding of model cascades.
Recap
You learned to cut RAG cost and latency by choosing the right model: tier your models, default to the smallest that meets your bar, use cascades to escalate only hard queries, right-size context, and keep provider fallbacks for reliability. Always validate routing against an eval set.
Часто задаваемые вопросы
Урок «Выбор подходящей модели для задачи» бесплатный?
Да — полный текст урока «Выбор подходящей модели для задачи» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс LLM Apps in Production (RAG + Vector DB + Caching), подпишись на CoddyKit PRO. Курс LLM Apps in Production (RAG + Vector DB + Caching) содержит 4 уроков всего.
Чему я научусь в уроке «Выбор подходящей модели для задачи»?
Научитесь сокращать расходы и задержку RAG, направляя каждый запрос к самой дешёвой модели, способной хорошо выполнить задачу, с помощью уровней моделей, каскадов и порогов качества. Ты практикуешь LLM Apps in Production (RAG + Vector DB + Caching) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать LLM Apps in Production (RAG + Vector DB + Caching)?
Предыдущий опыт не требуется. LLM Apps in Production (RAG + Vector DB + Caching) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Выбор подходящей модели для задачи»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке LLM Apps in Production (RAG + Vector DB + Caching)?
Да. Каждый урок LLM Apps in Production (RAG + Vector DB + Caching) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Проектирование эффективных промптов
- Пакетная обработка и асинхронные операции
- Мониторинг затрат и задержки
- Выбор подходящей модели для задачи