ИТ развој

AI Rest-API – A Fully Free Service

AI Rest-API – Целосно бесплатна услуга

Вовед

Здраво на сите. Денес отворам пристап до нешто што го градев, тестирав и дотерував со месеци — мојот сопствен AI Rest-API, целосно бесплатен за употреба. Ова е обид да се обезбеди брза, сигурна, пријателска за приватност и за програмерите ориентирана AI услуга што секој може да ја интегрира во апликации, алатки, автоматизации или експерименти без paywall. Ја дизајнирав да биде практична и доверлива, наместо демо кое се распаѓа под вистински товар.

Основна Архитектура

Локален, прилагоден GPT4ALL

Основен мотор е целосно локален GPT4ALL инстанца, длабоко прилагодена и фино наместена да се однесува како крајна точка за AI подготвена за производство. Локалното извршување дава целосна независност од провајдерите на облак, ја отстранува изложеноста на податоците од трети страни и обезбедува предвидливи перформанси за многу вообичаени задачи.

Напредно кеширање со логика на Prompt-Relay

API користи напреден кеширачки слој кој прави повеќе од едноставно кеширање на клуч-вредност. Тој ја разбира сличноста со prompt и логиката на контекст:

  • Слични prompt-и кои водат до ист логичен одговор враќаат инстант кеширан одговор.
  • Точните prompt-и се враќаат веднаш со скоро нула латентност од кешот.
  • Кешираните одговори не трошат повици на резервниот провајдер.
  • Кешот го намалува непотребното пресметување и го одржува системот чувствителен под оптоварување.

Chain на резервно решение: Локално → OpenAI → Grok → Deeplink

Локалните модели можат да бидат ресурсно интензивни под голема конкурентност. За да се задржи API стабилен, имплементирав автоматизиран резервен chain:

  1. Примарен: локален GPT4ALL
  2. Резервно А: OpenAI
  3. Резервно Б: Grok
  4. Резервно В: Deeplink
  5. Ако сите провајдери се зафатени, API враќа 502. Во тој случај, повторете по неколку секунди.

Како да се користи API

Автентикација

Секое барање мора да го вклучува вашиот личен токен како параметар за прашање:

https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN

Можете да го најдете вашиот токен во вашиот профил на https://mihajlo.mk/. Чувајте го приватен. Барањата со неважечки токен се отфрлени.

Крајна точка

POST https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN

Крајната точка прифаќа multipart/form-data.

Параметри за барање

Поле Тип Задолжително Опис
prompt текст Да До 5000 знаци. Главниот влез.
temperature број Не Контрола на креативност (0–2). Стандардно на поставките на провајдерот.
system текст Не Изборна системска инструкција (на пр. "Вие сте креативен фитнес тренер").
tokens int Не Приближен максимум токени за одговорот.

Пример cURL

curl -X POST "https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN" \
-F "prompt=Write a 3 day beginner push/pull/legs program" \
-F "temperature=0.8" \
-F "system=You are a friendly certified trainer" \
-F "tokens=800"

Формат на одговор

{
  "error": false,
  "status_text": "OK",
  "status_code": 200,
  "status_msg": "OK",
  "ai-text": {
    "prompt": "Write a 3 day beginner push/pull/legs program",
    "response": "Day 1 - Push ... (full AI response)"
  }
}

Грешките при валидација враќаат 422. Ако сите ресурси се зафатени, API враќа 502. Во вториот случај, повторете по неколку секунди.

Кодови за грешки

HTTP статус Значење Акција
401 Недостасува или невалиден токен Потврдете го токенот на вашиот профил.
405 Погрешен HTTP метод Само POST е поддржан.
422 Грешка при валидација (prompt недостасува, итн.) Поправете го товарот и повторете.
502 Неуспех на надворешен систем (сите ресурси пропаднаа) Почекајте неколку секунди и поднесете повторно.

Пример за интеграција: PHP

 'Generate a short motivational quote',
    'temperature' => 1.0,
    'system' => 'You speak like a calm mentor',
    'tokens' => 300
];

curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN",
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_RETURNTRANSFER => true
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>

Белешки и најдобри практики

  • Не ја надминувајте границата од 5.000 знаци за prompt.
  • Кешираните одговори се враќаат веднаш и не трошат дополнителни барања од провајдерот.
  • Ако добиете 502, повторете по кратка пауза; големото оптоварување може привремено да ги насочи барањата до резервните провајдери.
  • Чувајте го вашиот токен во тајност и никогаш не го објавувајте во кодот на клиентската страна.

Завршни мисли

Ја изградив оваа услуга затоа што уживам во создавањето практични алатки кои им помагаат на другите програмери и градители. Целта е сигурност и корисност наместо хип. Комбинацијата од локален модел, слој за кеширање кој го зема предвид контекстот и робустен резервен chain обезбедуваат многу практичен API за многу реални случаи на употреба.

Ако имате идеи, повратни информации или барања за одлики, би бил благодарен да ги слушнам.

Со почит,
Михајло

Портрет на автор на блогот

Mihajlo

Јас сум Михајло - развивач поттикнат од љубопитност, дисциплина и постојаната желба да создадам нешто значајно. Споделувам увиди, упатства и бесплатни услуги за да им помогнам на другите да ја поедностават својата работа и да растат во постојано развивачкиот свет на софтверот и вештачката интелигенција.