Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 24

Практикум: първо извикване на API

От чат прозореца към кода: ключове и как да не ги издадем, роли на съобщенията, температура и максимален брой токени, лимити и грешки.

Защо от код, а не от чат

В чат прозореца отговорът се чете от човек. В програма отговорът трябва да влезе в друга функция — да се запише в база, да се покаже в интерфейс, да задейства действие. За това е нужно извикване по мрежата.

API на езиков модел

Мрежова услуга, на която изпращаме промпт и настройки и получаваме отговор — обикновено като JSON.

Ключът

Всяко извикване се придружава от API ключ, който казва на услугата кой плаща и чии лимити се използват. Ключът е като парола.

  • Никога не се записва в кода.
  • Никога не влиза в git — разкрит ключ се използва от чужди хора за минути.
  • В Colab се пази в „Secrets“ (иконата с ключето отляво) и се чете оттам.
  • В приложение стои в променлива на средата и се използва само на сървъра.

Ако все пак изтече

Отменете го веднага от таблото на услугата и създайте нов. Изтеклият ключ не се „поправя“ — само се анулира.

Какво изпращаме

ПолеКакво правиОбичайна стойност
моделкой модел да отговорибърз и евтин за упражнения
системно указаниеправилата, които важат за целия разговор„Ти си помощник по информатика. Отговаряй кратко.“
съобщенияисторията на разговорароли: user и model
температураколко разнообразен да е изходът0 за данни, 0.7 за текст
максимални токенитаван на дължината на отговорапо преценка — пази от изненадващи сметки

Моделът няма памет

Услугата не помни предишните ви заявки. Ако искате разговор, вие изпращате цялата история всеки път. Оттам следва и че дългият разговор става все по-скъп — всяко ново съобщение носи със себе си всички предишни.

Безплатните нива

За курса ползваме безплатно ниво: няколко заявки в минута и ограничен брой на ден. Това стига за упражнения, но налага дисциплина:

  • Пробвайте промпта първо в чат прозореца, чак после от код.
  • Не пускайте цикли по 100 заявки, докато не сте сигурни в кода.
  • Ограничавайте дължината на отговора.
  • Пазете отговорите в променлива, вместо да питате пак за същото.

Кодът остарява

Имената на моделите и библиотеките се менят на месеци. Ако примерът даде грешка, отворете официалната документация на услугата и вземете текущото име — това е нормална част от работата, а не изключение.

Грешките, които ще срещнете

КодЗначениеКакво да направим
401 / 403невалиден ключ или липсващо правопроверете ключа и достъпа
429твърде много заявкиизчакайте и повторете след пауза
400лоша заявкапроверете името на модела и структурата
500 / 503проблем при услугатаповторете след кратко изчакване

Заявките по мрежа се провалят понякога — това е нормално. Затова сериозният код повтаря опита след изчакване и има какво да покаже на потребителя, когато не успее.