Як підключити локальну модель до агента: base URL і ключ
Одна адреса, будь-який ключ - і редактор починає думати прямо на твоєму компʼютері
Локальна модель віддає OpenAI-сумісну адресу на localhost. Показую, як підключити її до редактора, розширення і власного скрипта через base URL і ключ-заглушку.
Що означає підключити локальну модель до агента
Модель у тебе вже крутиться. Користі поки нуль. Сама по собі вона як телефон без сім-карти: розумна, але мовчить і ні з ким не розмовляє. Щоб редактор коду, розширення чи твій скрипт почали їй дзвонити, потрібен номер. Цей номер телефону - і є адреса локального сервера.
А тепер приємне. Майже всі локальні сервери прикидаються хмарою OpenAI. Говорять тією самою мовою запитів, що й великий платний API. Отже, будь-яку програму, яка «дружить з OpenAI», можна по-доброму обдурити: підсунути їй замість хмарної адреси свою, домашню. І вона навіть не помітить підміни.
Навіщо підключати модель локально
Можна сидіти в хмарі і платити за кожен токен. Звично. Але щойно тобі потрібні приватність, нуль витрат і робота без інтернету - виявляється, усе це вже стоїть у тебе вдома. Лишилося підключити.
- Твій код і листування не йдуть на чужі сервери. Усе крутиться локально, на твоїй машині.
- За токени платиш нуль: модель їсть електрику, а не гроші з картки.
- Жодних «ви вичерпали квоту» посеред робочого дня.
- Один раз спіймав схему «адреса плюс ключ» - і підключаєш модель куди завгодно: у редактор, у розширення, у власний скрипт.
Девʼять із десяти проблем підключення - це не «модель зламалася». Це описка в адресі або забутий хвостик на кінці. Розберися зі структурою адреси - і ці проблеми стають видимими наскрізь.
Як влаштовано адресу локального сервера і ключ
Запускаєш локальний сервер - він починає слухати одну адресу на твоєму компʼютері. Адреса збирається з трьох шматочків. Розберемо по черзі.
localhost - це «ось цей самий компʼютер»
localhost localhost - спеціальне імʼя, яке завжди означає «ось цей самий компʼютер, на якому я зараз». Запити по ньому нікуди в інтернет не йдуть, лишаються всередині машини. Числовий близнюк - 127.0.0.1. - це «подзвони сам собі». Запит за такою адресою назовні не виходить. Він бігає всередині твоєї машини, ні байта в інтернет. Тому швидко. Тому приватно.
Порт - це номер дверей на компʼютері
У компʼютера багато дверей, і сервер займає одні. Порт Порт - номер «дверей» на компʼютері, через які програма приймає запити. Localhost - це будівля, порт - конкретні двері в ній. Різні локальні сервери за замовчуванням сідають на різні порти. - це і є номер дверей. Різні сервери за замовчуванням сідають на різні двері. Тому два інструменти спокійно працюють одночасно і одне одному не заважають.
Хвостик «v1» - це «говори зі мною як з OpenAI»
Хвостик «v1» в кінці адреси - ввічлива фраза «давай за протоколом OpenAI». Саме він вмикає OpenAI-сумісний режим OpenAI-сумісний режим - коли локальний сервер приймає запити в тому самому форматі, що й хмарний API OpenAI. Програмі байдуже, хто на тому кінці: вона шле звичний запит і отримує звичну відповідь. . Більшість серверів віддають таку адресу з коробки - нічого докручувати не треба.
Чому ключ можна просто вигадати
У хмарі API-ключ - твоя перепустка, за ним списують гроші. У локального сервера списувати ні з кого, тому ключ йому за великим рахунком байдужий. Але поля для ключа в програмах зазвичай обовʼязкові, порожніми їх не лишити. Рішення дитяче: впиши будь-який рядок-заглушку. Хоч «local», хоч «лосось». Сервер його проігнорує, а програма заспокоїться.
- Власні скрипти будь-якою мовою - міняєш адресу і ключ, решта коду колишня.
- Розширення для редакторів, у яких є поле «своя OpenAI-адреса».
- Локальні агенти і CLI-інструменти, заточені під OpenAI-протокол.
- Хмарні редактори, які ходять до моделі через свій сервер - localhost вони з твоєї машини не бачать.
- Інструменти без поля для своєї адреси - там підміна не передбачена в принципі.
- Випадки, де потрібен зовнішній доступ - тоді знадобиться тунель назовні, а це вже окрема історія.
Приклад: підключаємо модель до скрипта за три кроки
Візьмемо найчастіший сценарій - власний маленький скрипт. На ньому найпростіше побачити всю механіку разом, без зайвих шарів.
- Запусти локальний сервер моделі і підглянь його адресу. Зазвичай це localhost, двокрапка, номер порту і хвостик з v1. Точні цифри порту сервер напише сам під час запуску.
- Візьми офіційну бібліотеку OpenAI для своєї мови - ту саму, що й для хмари. Міняти її не потрібно, вона універсальна.
- Під час створення клієнта впиши два поля: base URL - адресу твого сервера з хвостиком v1, і api key - будь-який рядок-заглушку на кшталт local. Далі пиши запит як зазвичай: імʼя своєї моделі і текст питання.
У редакторі з розширенням - рівно те саме. Шукаєш у налаштуваннях поле на кшталт «Base URL» або «своя OpenAI-адреса», вставляєш адресу сервера, у поле ключа - заглушку, а в списку моделей вибираєш імʼя своєї локальної. Логіка всюди одна: куди дзвонити і яким ключем.
Часті помилки під час підключення локальної моделі
- Забути або задвоїти хвостик «v1». Топ-1 за популярністю. Програма додає хвостик сама, а ти вписав його ще раз - адреса ламається, все падає. Не працює? Найперше дивися саме на кінець адреси.
- Переплутати порт. Поставив два сервери, а вписав чужі двері - у відповідь тиша. Звіряйся з тим, що сервер написав під час запуску. Не з памʼяттю.
- Лишити поле ключа порожнім. Серверу ключ не потрібен, але поле часто обовʼязкове. Порожнє - програма свариться. Впиши будь-яку заглушку, і порядок.
- Не запустити сам сервер. Підключення налаштоване ідеально, а модель мовчить - просто тому що сервер вимкнений. Спочатку запусти його, потім перевіряй список моделей.
- Чекати дива від хмарного редактора. Ходить до моделі через свої сервери - localhost не побачить. Це не твоя помилка в налаштуваннях, це будова такого інструмента.
- Вписати імʼя моделі навмання. Програмі потрібне рівно те імʼя, під яким модель видно серверу. Зазирни в список моделей і скопіюй звідти. Не вигадуй.
TL;DR - если коротко
- Локальний сервер прикидається хмарою: дає адресу на localhost з тією самою мовою запитів, що й OpenAI.
- Схема підключення майже всюди одна: base URL плюс будь-який ключ-заглушка. Справжній ключ не потрібен.
- Адреса найчастіше закінчується на «v1». Це і є сигнал «говори зі мною як з OpenAI».
- Власний скрипт чіпляється тією самою офіційною OpenAI-бібліотекою: міняєш два поля - і поїхали.
- Головна засідка - зайвий або забутий «v1» і хмарні редактори, яким до localhost не дотягнутися.
- Безплатно, приватно, без лімітів. Мінус один: думає на твоєму залізі - що поклав, те й їде.