AI Rest-API – Potpuno besplatna usluga
Uvod
Pozdrav svima. Danas otvaram pristup nečemu što sam gradila, testirala i podešavala mjesecima — svojoj vlastitoj AI Rest-API-i, potpuno besplatnoj za korištenje. Ovo je pokušaj da se pruži brza, pouzdana, privatnost-primjerena i programerima namijenjena AI usluga koju svatko može integrirati u aplikacije, alate, automatizacije ili eksperimente bez plaćanja. Osobno sam dizajnirala ovu uslugu tako da bude korisna i pouzdana, a ne samo demo koje se raspada pod pravim opterećenjem.
Osnovna Arhitektura
Lokalni, Prilagođeni GPT4ALL
Glavni motor je potpuno lokalna GPT4ALL instanca, duboko prilagođena i fino podešena tako da djeluje poput AI krajnje točke spremne za produkciju.
Lokalnim pokretanjem postiže se potpuna neovisnost o cloud pružateljima, uklanja se izlaganje podataka trećim stranama i pruža predvidljivo performanse za mnoge uobičajene zadatke.
Napredno Keširanje s Logikom Relacije Upita
API koristi napredan sloj keširanja koji radi više od jednostavnog ključ-vrijednost keširanja. On razumije sličnost upita i kontekstualnu logiku:
- Slični upiti koji vode do istog logičkog odgovora vraćaju trenutni odgovor iz keša.
- Identični upiti vraćaju odgovor odmah s gotovo nultom latencijom iz keša.
- Keširani odgovori ne troše pozive rezervnih pružatelja.
- Keš smanjuje nepotrebno računanje i održava sustav osjetljivim na opterećenje.
Rezervni Lanac: Lokalno → OpenAI → Grok → Deeplink
Lokalni modeli mogu biti zahtjevni za resurse pod visokom konkurencijom. Kako bi se održao stabilan rad API-ja, implementirala sam automatizirani rezervni lanac:
- Primarno: lokalni GPT4ALL
- Rezerva A: OpenAI
- Rezerva B: Grok
- Rezerva C: Deeplink
- Ako su svi pružatelji zauzeti, API vraća
502. U tom slučaju, pokušajte ponovno za nekoliko sekundi.
Korištenje API-ja
Autentifikacija
Svi zahtjevi moraju sadržavati vaš osobni token kao parametar upita:
https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Vaš token možete pronaći na svom profilu na https://mihajlo.mk/. Čuvajte ga privatnim. Zahtjevi s nevažećim tokenom se odbacuju.
Krajnja Točka
POST https://api.mihajlo.mk/v1/ai-text?token=YOUR_TOKEN
Krajnja točka prihvaća multipart/form-data.
Parametri Zahtjeva
| Polje | Vrsta | Obavezno | Opis |
|---|---|---|---|
| prompt | text | Da | Do 5000 znakova. Glavni unos. |
| temperature | number | Ne | Kontrola kreativnosti (0–2). Prema zadanim postavkama pružatelja. |
| system | text | Ne | Opcionalna sistemsko uputa (npr. "Ti si kreativni trener za fitness"). |
| tokens | int | Ne | Orijentacioni maksimalan 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 push/pull/legs" \
-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 push/pull/legs",
"response": "Dan 1 - Push ... (pun AI odgovor)"
}
}
Pogreške validacije vraćaju 422. Ako su svi resursi zauzeti, API vraća 502. U ovom slučaju, pokušajte ponovno za nekoliko sekundi.
Kodovi Pogrešaka
| HTTP Status | Značenje | Akcija |
|---|---|---|
| 401 | Nedostaje ili nevažeći token | Provjera tokena na svom profilu. |
| 405 | Pogrešna HTTP metoda | Podržan je samo POST. |
| 422 | Pogreška validacije (nedostaje prompt, itd.) | Popravite sadržaj i pokušajte ponovno. |
| 502 | Kvar izvora (svi resursi su preopterećeni) | Pričekajte nekoliko sekundi i pošaljite ponovno. |
Primjer Integracije: PHP
'Generiraj kratku motivacijsku izreku',
'temperature' => 1.0,
'system' => 'Govoriš poput mirnog mentora',
'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
- Ne prelazite ograničenje od 5.000 znakova u promptu.
- Keširani odgovori se vraćaju trenutno i ne troše dodatne pozive pružatelja.
- Ako dobijete
502, pričekajte kratku pauzu; veliko opterećenje može privremeno usmjeriti zahtjeve ka rezervnim pružateljima. - Čuvajte svoj token u tajnosti i nikada ga ne objavljujte u klijentskom kodu.
Završne Misli
Izgradila sam ovu uslugu jer uživam u stvaranju praktičnih alata koji pomažu drugim programerima i tvorcima. Cilj je pouzdanost i korisnost, a ne buka. Kombinacija lokalnog modela, sloja keširanja osjetljivog na kontekst i otpornog rezervnog lanca pruža vrlo praktičan API za mnoge stvarne slučajeve korištenja.
Ako imate ideja, povratnih informacija ili zahtjeva za značajkama, s užitkom ću ih čuti.
Srdačno,
Mihajlo