Галоўная / Артыкулы

LiteLLM у сэрцы: план керування шлюзам AI для калькуляцыі з аднасотнікамі

Абстракцыя падаючага роўню, іерархія аб’ектаў, бюджэты, правілы моделі, акаунты служб, маршрутацыя, можлівасць адзоравання, агенты/MCP, і чаму шлюз являецца критычным маршрутом.

Выдавец: REACTAPP.TOP6 хв чытання1452 слоў

Крыніцы: LiteLLM Under the Hood: How to Build a Multi-Tenant AI Gateway for LLMs, Agents and MCP

Адзін вход. Ёсць многа прадастчыкаў. Ёсць многі корыстувальнікі. Адзіна плошча кантролю для адказу на запыты AI ў організацыях.

Выклік адзінаго модэлю здаецца простым:

Application → OpenAI

Адкрытыя запуск AI ў працэсе вырабоцтва ёсць сложнейшым. Разныя групы вярнуцца да разных прадастчыкаў. Умовы працэсу вырабоцтва выклекаюць строгія правіла для модэляў. Фінансы выклекаюць можлівасць атрыбуцыі. Безпека выклекае адзін месца для надання та анулювання прав на доступ. Команды платформы выклекаюць можлівасці контролю навантажэння, маршрутызацыі, аварыйнага переключэння та збору дадзеных.

Без спяльнага входу сітка з’ёднанняў распадаецца:

Application A ──► OpenAI
Application B ──► Anthropic
Application C ──► Azure OpenAI
Application D ──► Vertex AI
Application E ──► Bedrock

Кожны продукт тады занова стварае тую ж самую сітку з’ёднанняў. Цікавы вопыт больш не ў тым, як вызваць модэль — а ў тым, як зробіць доступ да AI частью спяльной інфраструктуры.

Слой шлюза LiteLLM централізуе процесы адміністрування прадавцоў, входу, ізоляціі корыстнікаў, автарызацыі, лімітаў витрачання, регулювання швы, направлення трафіку, виміроўвання витрачання і сбору тэлеметрычных дадзеных. Канцэпцыя заключаецца у тым, каб доступ да модэляў спрыяваўся як ресурс кераванай платформы, а не як простая HTTP-запыт кожнага додатку.

1. З бібліятэкі кліента да шлюза

LiteLLM пачаў з таго, што запропанаваў разработчыкам адну інтэрфейсную плошчу для роботы з разнымі прадавцамі, каб командам не трэба было запамятовваць кожны SDK. Аднак, калі ўжоткаў стае больш, сама гэта абстракцыя недастатня.

Без шлюза кожны додатак продалейш выкарыстоўвае послугі прадавцоў самастаятельна:

                    ┌──► OpenAI
                    │
Application A ──────┼──► Anthropic
                    │
                    └──► Vertex AI
                    ┌──► OpenAI
                    │
Application B ──────┼──► Azure
                    │
                    └──► Bedrock

Это прыводзіць да таго, што кожны кодавы база зберагае паролі, настройкі модэляў, інструкцыі па повторным запуску, механізмы переходу на альтернатыўны варыянт, параметры регулювання швы, виміроўвачы витрачання і логі.

Шлюз аб’еднвае всі гэтыя элементы:

                        Applications
                              │
                              ▼
                    ┌─────────────────┐
                    │  LiteLLM        │
                    │  AI Gateway     │
                    └────────┬────────┘
                             │
                ┌────────────┼────────────┐
                ▼            ▼            ▼
             OpenAI      Anthropic     Vertex

Програмы бачаць адзін вхідны пункт; інжынеры платформы карбуюцца там, што знаходзіцца за яго. Безпечная раздача гэтаго вхіднага пункта между незалежнымі камандамі стае наступной проблемай дыяграмы проекту.

2. Мнагакліентна архітектура без спяльнай прыналежнасці

Уявіце сабе компанію з такай структурой:

10,000 developers
500 applications
50 teams
Multiple departments
Multiple LLM providers

Яны раздзеляюць шлюз. Але яны не павінны раздзеляць ідэнтычныя права на моделі, бюджеты, ліміты швайнаў, адміністратыўныя правы або секрэты.

LiteLLM выражае концэпцію кліентства як іерархію:

Organization
     │
    Team
     │
    User
     │
    Key

Арганізацыя ёсьць зовнішняй межай ізоляцыі — бізнес-яединкі, кліенты, аддэкты, регіоны. Каманда — это повсякдзенны кліент з сае колькасцю працоўнікаў, адміністраторамі, бюджетамі, лімітамі, спискамі дазволеных модэляў і кантрольнымі клучамі. Пользователь — это адна людзь. Клуч аутентыфікуе запыт і прыўяжае яго да ідэнтычнасці плюс контексту кліента. Гэтая структура дае шлюзу неабходны контекст для выкарыстання правіл.

3. Контэкст абонента для кожнага запиту

Актыўны вызыв не ўсё толькі:

Prompt → Model

Ён несе метаданы прыналежнасці:

                        Request
                            │
              ┌─────────────┼─────────────┐
              ▼             ▼             ▼
            User           Team          Key
              │             │             │
              └─────────────┼─────────────┘
                            ▼
                     Tenant Context
                            │
                            ▼
                      Authorization
                            │
                            ▼
                       Budget Check
                            │
                            ▼
                        Rate Limit
                            │
                            ▼
                       Model Policy
                            │
                            ▼
                         Routing
                            │
                            ▼
                        Provider
                            │
                            ▼
                       Usage + Cost

Перад перасылкай шлюз можа вырашыць, хто звоніў, якая каманда адпаведальна за трафік, чы розрахована модель, чы застаўся бюджет, чы абоўязкі званаеўшага не перакрытыя лімітамі, і якая версія праграмы должна адпаведаць. Запит аналізуецца, а не проста перасылаецца.

4. Бюджэты ўскладненыя

Простая структура вытратаў можа выглядаць так:

Organization       $1,000,000
      │
Engineering        $600,000
      │
Platform           $200,000
      │
Alice              $10,000

Грошы тепер маюць структуру. Перакананні выконваюцца ў співваротнасці з ускладнеными лімітамі, а не з адным глобальным бакетам. эта дапамагае камандам у кантролі бюджэтаў, адзначэнню вытак у дапамогу аддзелам, стварэнню апавешчэнняў, оптымізацыі і встановленню лімітаў на адную особу. Фінансавыя віддзелы можаць дазвідацца, сколькі платформа заплаціла за конкрэтную модель постачальніка — а не толькі сколькі загалом коштаў «AI».

5. Даступ да модэляў як правіла

Разныя групы патрабуюць разных каталагаў:

Engineering
├── GPT
├── Claude
└── Gemini
Finance
└── Approved modelsDevelopment
├── Experimental models
└── Open models

Калі аплікацыя застаецца сама, яна стварае сабе своія правілы дазволу. За гэтым шлюзам:

Application
     │
     ▼
LiteLLM
     │
     ├── Authentication
     ├── Authorization
     ├── Model Policy
     ├── Budget
     └── Rate Limit

Аплікацыя просіць певную можнасць; платформа яе приймае або адмовляе. Палітрыкі застаюцца ў самай аплікацыі, а інфраструктура выконвае ўсе правілы — гэта той жа патэрн, які викорыстоўваецца для іншых спяльных платформ.

6. Акаунты служб для завантажэння роботы

Стабільны спосаб контролю — цэе трафік у працоўнай суперантэкстуре, який прыязначаецца конкретнаму ключу:

Production → Alice's API key

Калі гэтае адноса пакінуе свою ролю, працоўная суперантэкстура не должна зламацца. Лепш выбіраць стабільную ідэнтычнасць завантажэння роботы:

Production Application
        │
        ▼
  Service Account
        │
        ▼
 Production Team

Гэты патэрн падходзіць для працоўных служб, пайплайнаў CI, працоўнікаў, планавальнікаў, агентаў і спяльных заданняў. Ідэнтычнасць чалавека трэба выдзеляць ад ідэнтычнасці завантажэння роботы.

7. Маршрутызацыя і перехід на альтернатыўны варыант як задачы платформы

Калі весь трафік знаходзіцца ў аднам месцы, выбор прадаўця можа быць цэнтрызаваны:

                    LiteLLM
                        │
              ┌─────────┼─────────┐
              ▼         ▼         ▼
           OpenAI      Azure    Anthropic
           Primary     Backup    Fallback

Прынцыпы выбору можа ўзяваць у расчыт модель, наявнасць, прадавца, навантажэнне, затрымкі, цену і сігналы пра абяцку. Аплікацыі выражаюць свае намеры; шлюз выбирае спосаб ўжывання. Якщо адна з реалізацый не выйшла, іншы настроены цэльвы можа прыемаць кераванне без таго, каб кожная команда прадукту пісала код для переходу на альтернатыўны прадавца.

8. Цэнтралізаваная телеметрыя і косцы

Спакульны шлюз ёсць природным межам для телеметрыі:

                   LiteLLM
                       │
             ┌─────────┼─────────┐
             ▼         ▼         ▼
           Logs      Metrics     Cost
             │         │         │
             └─────────┼─────────┘
                       ▼
                  Observability

Власнікі платформы можа бачыць, якая команда витрачае больш заўсёды токенав, якія моделі домінуюць у вытратах, якія аплікацыі працуюць медленна, якія прадавцы дапускаюць абякі, і якія команды набліжаюцца да лімітав бюджету — без неабясненага аналізу сотняў стрымав логав аплікацый.

9. Мульті-tenantна архітектура для SaaS-прадуктав

Той самы падход паслужыць для AI SaaS з многама кліентамі:

Customer A
Customer B
Customer C

Кожны кліент патрэбуе ізольаванага выкарыстоўвання, бюджэтаў, праваў на моделі і аутантыфікацыйных данных. З архітэктурнага точка зору:

                     SaaS Application
                              │
                              ▼
                       LiteLLM Gateway
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
         Customer A      Customer B      Customer C
              │               │               │
           Budget           Budget           Budget
           Models           Models           Models
           Usage            Usage            Usage
           Keys             Keys             Keys

Інфраструктура застаецца спяльной; межы корыстнікаў застаюцца чыстымі. Гэта ўсё, што обяцвае мульті-корыстнічасць.

10. Агенты і MCP падвышаюць рызык

Простыя прылады яшчэ выглядаюць так:

Application → LLM

Савременныя системы выглядаюць больш так:

Application
    │
    ├──► LLM
    ├──► Agent
    └──► MCP Tool

Агенты могу вызываць калькі модэляў, запускаць інструменты, взаімадзяваць з зовнішнімі системамі і працаваць дыяўольш час, чым адна роўніца чату. Калі автонамія вырастае, цэнзураваная керованасць стае ўсё важлівейшай:

                      AI Consumers
                            │
             ┌──────────────┼──────────────┐
             ▼              ▼              ▼
            Apps          Agents           MCP
             │              │              │
             └──────────────┼──────────────┘
                            ▼
                    LiteLLM Gateway
                            │
             ┌──────────────┼──────────────┐
             ▼              ▼              ▼
          Identity        Policy         Routing
             │              │              │
             └──────────────┼──────────────┘
                            ▼
                       AI Providers

Называць LiteLLM «толькі проксі» — значыць недацець яму належнага значэння. Ён пачынае выглядаць як план керавання AI.

11. Компрэс: шлюз — галоўны маршрут

Колі всё праходзіць через:

Application
     │
     ▼
LiteLLM
     │
     ▼
Provider

Шлюз являецца частынай інфраструктуры для вырабаткі. Ёму патрэбна высока доступнасць, горызонтальная масштабаванасць, надзеяныя сховышчы данных, безпечна обработка кантрольных ключоў, монітарынг, вярнэне пасля апяшанняў, рэтельная настройка, правильныы регуляванні трафіку і адносна стабільная палітыка. Цэнтралізацыя дапамагае кантролюванню, але стварае залежнасці — трэба ставіцца да яго як да платформы, а не простае мікросервісу.

Больш шырокі практычны аспект

Інфраструктура для штучнага інтэлекту зазвычай розвиваецца паэтапна:

Calling models
      ↓
Routing models
      ↓
Managing models
      ↓
Governing AI consumption

Саме на пазнейшых этапах шлюзы становяцца найважлівэйшымі. Будучая платформа керуе не толькі канцэнтрамі модэляў:

Models
Agents
Tools
Identities
Credentials
Budgets
Policies
Usage

Шлюз — гэта месца, дзе збіваюцца всі этыя рэсурсы.

Заключныя меркі

Короткае апісанне LiteLLM — «возможнасць вяскрасаўляцца з многамі поставільцамі модэляў чераз адну інтарфейс». Болей дакладнае апісанне — гэта плоскасць кантролю для регулювання доступу да штучнага інтэлекту:

Provider Abstraction
        +
Multi-Tenancy
        +
RBAC
        +
Budgets
        +
Rate Limits
        +
Routing
        +
Cost Tracking
        +
Observability

Абстракцыя падаючага прызначэння — гэта пачатак. Мульті-тэнансы, іерархічныя бюджеты, правілы модэля, акаунты служб, маршрутацыя, перехад на альтернатыўны выконавач і цэнтрызаваная адразлівасць костаў — гэта тое, што ператварае бібліятэку для зручнасці на інфраструктуру спакульнай платформы. Ствараюце інфраструктуру на адной з гэтых кераваных модэляў доступу, узамест таго каб кожныя прыкладніцы занова стваралі тыя ж контролы.