AI Rest-API – Целосно бесплатна услуга
Вовед
Здраво на сите. Денес отворам пристап до нешто што го градев, тестирав и дотерував со месеци — мојот сопствен AI Rest-API, целосно бесплатен за употреба. Ова е обид да се обезбеди брза, сигурна, пријателска за приватност и за програмерите ориентирана AI услуга што секој може да ја интегрира во апликации, алатки, автоматизации или експерименти без paywall. Ја дизајнирав да биде практична и доверлива, наместо демо кое се распаѓа под вистински товар.
Основна Архитектура
Локален, прилагоден GPT4ALL
Основен мотор е целосно локален GPT4ALL инстанца, длабоко прилагодена и фино наместена да се однесува како крајна точка за AI подготвена за производство.
Локалното извршување дава целосна независност од провајдерите на облак, ја отстранува изложеноста на податоците од трети страни и обезбедува предвидливи перформанси за многу вообичаени задачи.
Напредно кеширање со логика на Prompt-Relay
API користи напреден кеширачки слој кој прави повеќе од едноставно кеширање на клуч-вредност. Тој ја разбира сличноста со prompt и логиката на контекст:
- Слични prompt-и кои водат до ист логичен одговор враќаат инстант кеширан одговор.
- Точните prompt-и се враќаат веднаш со скоро нула латентност од кешот.
- Кешираните одговори не трошат повици на резервниот провајдер.
- Кешот го намалува непотребното пресметување и го одржува системот чувствителен под оптоварување.
Chain на резервно решение: Локално → OpenAI → Grok → Deeplink
Локалните модели можат да бидат ресурсно интензивни под голема конкурентност. За да се задржи API стабилен, имплементирав автоматизиран резервен chain:
- Примарен: локален GPT4ALL
- Резервно А: OpenAI
- Резервно Б: Grok
- Резервно В: Deeplink
- Ако сите провајдери се зафатени, 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 за многу реални случаи на употреба.
Ако имате идеи, повратни информации или барања за одлики, би бил благодарен да ги слушнам.
Со почит,
Михајло