Razvoj

AI Rest-API – Potpuno besplatna usluga

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:

  1. Primarno: lokalni GPT4ALL
  2. Rezerva A: OpenAI
  3. Rezerva B: Grok
  4. Rezerva C: Deeplink
  5. 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

<blog-author-portrait>Portret autora bloga</blog-author-portrait>

Mihajlo

Ja sam Mihajlo — programer kojeg pokreću znatiželja, disciplina i stalna želja da stvaram nešto značajno. Dijelim uvide, tutorijale i besplatne usluge kako bih drugima pomogao da pojednostave svoj rad i razviju se u stalno promjenjivom svijetu softvera i umjetne inteligencije.