AI Rest-API – Служба целосно бесплатна
Вовед
Здраво на сите. Денес ја отворам пристапноста кон нешто на што работев, го тестирав и тиунирав месеци наред — мојата сопствена AI Rest-API, целосно бесплатно за употреба. Ова е обид да се обезбеди брза, сигурна, приватна и развојно-ориентирана AI услуга која било кој може да ја интегрира во апликации, алатки, автоматизации или експерименти без платен пречник. Ја дизајнирав за да биде практична и сигурна, а не само демо кое се распаѓа под вистинско оптоварување.
Основна архитектура
Локален, прилагоден GPT4ALL
Главниот мотор е целосно локален GPT4ALL примерок, длабоко прилагоден и тиуниран за да однесува како production-ready AI endpoint.
Локалното извршување овозможува целосна независност од cloud провајдери, ги отстранува трети страни од изложениот податок и овозможува предвидлива перформанса за многу чести задачи.
Напредно кеширање со Prompt-Relay логика
API-то користи напредно кеш-слој што прави повеќе од едноставно key-value кеширање. Тоа разбира сличност на прашања и контекстуална логика:
- Слични прашања кои водат кон исти логички одговори враќаат моментално кеширан одговор.
- Идентични прашања враќаат моментално со скоро-нулево закаснување од кешот.
- Кешираните одговори не ја користат повиканата fallback провајдер услуга.
- Кешот го намалува непотребното пресметување и го одржува системот одзивен под оптоварување.
Fallback ланец: Локален → OpenAI → Grok → Deeplink
Локалните модели можат да бидат ресурсно зафатени под висока concurency. За да го одржам API-то стабилно, имплементирав автоматизиран fallback ланец:
- Примарен: локален GPT4ALL
- Fallback A: OpenAI
- Fallback B: Grok
- Fallback C: Deeplink
- Ако сите провајдери се зафатени, API-то враќа
502. Во тој случај, пробај повторно за неколку секунди.
Како да ја користите API-то
Автентификација
Секој бара мора да вклучува ваш личен токен како query parameter:
https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Вашиот токен можете да го најдете во вашиот профил на https://mihajlo.mk/. Чувајте го приватен. Барањата со неважечки токен се одбиваат.
Endpoint
POST https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Endpoint-от прифаќа multipart/form-data.
Параметри на барање
| Поле | Тип | Задолжително | Опис |
|---|---|---|---|
| prompt | text | Да | До 5000 знаци. Главниот влез. |
| temperature | number | Не | Контрола на креативност (0–2). Стандардно се задава од страна на провајдерот. |
| system | text | Не | Опционална системска наредба (напр. "Ти си креативен fitness coach"). |
| 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 Status | Значење | Акција |
|---|---|---|
| 401 | Недостаток или неважечки токен | Провери токен на профилот. |
| 405 | Погрешен HTTP метод | Подржано е само POST. |
| 422 | Грешка при валидација (нема prompt, итн.) | Поправи го payload-от и пробај повторно. |
| 502 | Upstream failure (сите ресурси неуспешни) | Почекај неколку секунди и поднеси повторно. |
Пример на интеграција: 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, пробај повторно по кратко паузирање; тежок товар може привремено да ги насочи барањата до fallback провајдери. - Чувајте го вашиот токен таен и никогаш не го објавувајте во client-side код.
Завршни мисли
Ја изградив оваа услуга бидејќи сакам да создавам практични алатки кои им помагаат на другите програмери и изведувачи. Целта е сигурност и корисност, а не хип. Комбинацијата на локален модел, слој со кеширање освестено за контекст и робустен fallback ланец обезбедува многу практично API за многу вистински употребни случаи.
Ако имате идеи, повратни информации или барања за функции, ќе ми биде пријатно да слушнам.
Срдечно,
Михаило