AI Rest-API – Potpuno besplatna usluga
Uvod
Pozdrav svima. Danas otvaram pristup nečemu što gradim, testiram i usavršavam mjesecima — moj vlastiti AI Rest-API, potpuno besplatan za korištenje. Ovo je pokušaj da se osigura brza, pouzdana, privatnosti-prijateljska i developer-orijentirana AI usluga koju svatko može integrirati u aplikacije, alate, automatizacije ili eksperimente bez paywalla. Dizajnirao sam ga da bude praktičan i pouzdan, a ne demo koji se raspada pod stvarnim opterećenjem.
Osnovna arhitektura
Lokalni, prilagođeni GPT4ALL
Primarni motor je potpuno lokalna instanca GPT4ALL, duboko prilagođena i fino podešena da se ponaša kao endpoint AI spreman za produkciju.
Pokretanje lokalno pruža potpunu neovisnost od davatelja usluga u oblaku, uklanja izloženost podataka trećim stranama i pruža predvidive performanse za mnoge uobičajene zadatke.
Napredno spremanje u predmemoriju s logikom prosljeđivanja upita
API koristi napredni sloj za spremanje u predmemoriju koji radi više od jednostavnog spremanja u predmemoriju ključ-vrijednost. Razumije sličnost upita i kontekstnu logiku:
- Slični upiti koji dovode do istog logičkog odgovora vraćaju trenutni odgovor iz predmemorije.
- Točni upiti se vraćaju odmah s gotovo nultom latencijom iz predmemorije.
- Odgovori iz predmemorije ne troše pozive fallback davatelja.
- Predmemorija smanjuje nepotrebno izračunavanje i održava sustav responzivnim pod opterećenjem.
Lanac povratka: Lokalno → OpenAI → Grok → Deeplink
Lokalni modeli mogu biti resursno intenzivni pod velikom konkurentnošću. Da bih API zadržao stabilnim, implementirao sam automatizirani lanac povratka:
- Primarno: lokalni GPT4ALL
- Povratak A: OpenAI
- Povratak B: Grok
- Povratak C: Deeplink
- Ako su svi davatelji zauzeti, API vraća
502. U tom slučaju, pokušajte ponovno nakon nekoliko sekundi.
Kako koristiti API
Autentifikacija
Svaki zahtjev mora uključivati vaš osobni token kao parametar upita:
https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Svoj token možete pronaći u svom profilu na https://mihajlo.mk/. Zadržite ga privatnim. Zahtjevi s nevažećim tokenom se odbijaju.
Endpoint
POST https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Endpoint prihvaća multipart/form-data.
Parametri zahtjeva
| Polje | Tip | Obavezno | Opis |
|---|---|---|---|
| prompt | tekst | Da | Do 5000 znakova. Glavni ulaz. |
| temperature | broj | Ne | Kontrola kreativnosti (0–2). Standardno na postavkama davatelja. |
| system | tekst | Ne | Neobavezna sistemska instrukcija (npr. "Vi ste kreativni fitness trener"). |
| tokens | int | Ne | Približan maksimalni broj tokena za odgovor. |
Primjer cURL
curl -X POST "https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN" \
-F "prompt=Napiši 3-dnevni početnički program za guranje/povlačenje/noge" \
-F "temperature=0.8" \
-F "system=Ti si prijateljski certificirani trener" \
-F "tokens=800"
Format odgovora
{
"error": false,
"status_text": "OK",
"status_code": 200,
"status_msg": "OK",
"ai-text": {
"prompt": "Napiši 3-dnevni početnički program za guranje/povlačenje/noge",
"response": "Dan 1 - Guranje ... (cijeli AI odgovor)"
}
}
Greške validacije vraćaju 422. Ako su svi resursi zauzeti, API vraća 502. U potonjem slučaju, pokušajte ponovno nakon nekoliko sekundi.
Kodovi grešaka
| HTTP status | Značenje | Akcija |
|---|---|---|
| 401 | Nedostaje ili nevažeći token | Provjerite token u svom profilu. |
| 405 | Pogrešna HTTP metoda | Podržan je samo POST. |
| 422 | Greška validacije (nedostaje upit, itd.) | Ispravite korisni teret i pokušajte ponovno. |
| 502 | Neuspjeh uzvodno (svi resursi su zatajili) | Pričekajte nekoliko sekundi i ponovno pošaljite. |
Primjer integracije: PHP
'Generiraj kratki motivacijski citat',
'temperature' => 1.0,
'system' => 'Govoriš kao miran 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;
?>
Napomene i najbolje prakse
- Nemojte prekoračiti ograničenje upita od 5000 znakova.
- Odgovori iz predmemorije se vraćaju odmah i ne troše dodatne zahtjeve davatelja.
- Ako primite
502, pokušajte ponovno nakon kratke pauze; veliko opterećenje može privremeno usmjeriti zahtjeve na davatelje povratka. - Zadržite svoj token tajnim i nikada ga ne objavljujte u kodu na strani klijenta.
Završne misli
Izgradio sam ovu uslugu jer uživam u stvaranju praktičnih alata koji pomažu drugim developerima i graditeljima. Cilj je pouzdanost i korisnost, a ne pompa. Kombinacija lokalnog modela, sloja za predmemoriju koji razumije kontekst i robusnog lanca povratka pruža vrlo praktičan API za razne primjene u stvarnom svijetu.
Ako imate ideje, povratne informacije ili zahtjeve za značajkama, bio bih zahvalan da ih čujem.
S poštovanjem,
Mihajlo