Preds integrálása pár perc alatt

Végigvezetjük a kulcsgeneráláson, az első hívásokon és a monitorozáson.

Előfeltételek

Mielőtt API-kérést küldene, rendelkezzen az alábbiakkal:

  • Preds regisztráció (ingyenes vagy bármely fizetős csomag).
  • HTTPS-t és JSON-t támogató kliens (cURL, fetch, HTTPie).

Legalább 60 szavas szöveg és HTTPS + JSON kötelező.

Alap URL-ek

  • `https://preds.hu/api/v1`
  • Minden kérésnél kötelező a `Content-Type: application/json` és az `Authorization` fejléc.

API kulcs létrehozása

A kulcsok munkaterülethez kötöttek és csak egyszer jelennek meg.

  1. Nyissa meg a Vezérlőpult → API kulcsok → „Új kulcs” menüt.
  2. Adjon egy nevet (pl. `backend`).
  3. Tárolja biztonságban az adott kulcsot.
# tárolja biztonságban a kulcsot
export PREDS_API_KEY="sk_live_..."

Első detektálási kérés

A szinkron végpont ~200ms alatt válaszol és betartatja a 60 szavas minimumet.

Python példa
import os
import requests

# Konfigurálás
API_KEY = os.getenv('PREDS_API_KEY')
BASE_URL = 'https://preds.hu/api/v1'

# Kérés előkészítése
headers = {
    'Authorization': f'Api-Key {API_KEY}',
    'Content-Type': 'application/json'
}

payload = {
    'text': 'Illessze be az ellenőrizendő magyar szöveget (minimum 60 szó).'
}

# Detektálási kérés küldése
response = requests.post(
    f'{BASE_URL}/detect/api/',
    headers=headers,
    json=payload
)

# Válasz feldolgozása
if response.status_code == 200:
    data = response.json()
    print(f"Predikció: {data['prediction']}")
    print(f"Konfidencia: {data['confidence']}")
    print(f"Kvóta maradék: {data['quota']['remaining']}")
else:
    print(f"Hiba: {response.status_code} - {response.text}")

Aszinkron feldolgozás

Használja ezt az végpontot nagyobb batch-ekhez vagy olyan munkafolyamatokhoz, ahol a pollingot részesíti előnyben.

Feladat sorba állítása (Python)
import os
import requests
import time

# Konfigurálás
API_KEY = os.getenv('PREDS_API_KEY')
BASE_URL = 'https://preds.hu/api/v1'

headers = {
    'Authorization': f'Api-Key {API_KEY}',
    'Content-Type': 'application/json'
}

# Aszinkron detektálás sorba állítása
response = requests.post(
    f'{BASE_URL}/detect/async/',
    headers=headers,
    json={'text': 'Magyar szöveg elemzéshez (minimum 60 szó).'}
)

task_data = response.json()
task_id = task_data['task_id']
print(f"Feladat sorba állítva: {task_id}")

# Eredmény lekérése polling-gal
while True:
    result_response = requests.get(
        f'{BASE_URL}/tasks/{task_id}/result/',
        headers=headers
    )
    result = result_response.json()

    if result['status'] == 'completed':
        data = result['data']
        print(f"Predikció: {data['prediction']}")
        print(f"Konfidencia: {data['confidence']}")
        break
    elif result['status'] == 'failed':
        print(f"Feladat sikertelen: {result.get('message')}")
        break

    time.sleep(1)  # Várakozás újabb lekérés előtt
Eredmény lekérése
curl -X GET https://preds.hu/api/v1/tasks/<task_id>/result/   -H "Authorization: Api-Key $PREDS_API_KEY"

{
  "task_id": "b2b6c9c2-1c2e-4e3c-9a3d-43c7c9326d2f",
  "status": "completed",
  "data": { "prediction": "ai", "confidence": 0.91, "submission_id": 1341 }
}

Eredmények kezelése

A válasz formátum letisztult és professzionális. Használja ?detailed=true paramétert a részletes adatokhoz.

  • `prediction` és `confidence` mutatja a döntést.
  • `request_id` azonosító segít a hibakeresésben. Részletes módban (`?detailed=true`) a `submission_id` is elérhető.
  • docs.gettingStarted.handleResults.items.latency

Ajánlások

Éles környezetben érdemes automatizálni.

  • Kulcsokat érdemes váltogatni időnként.
  • Szolgáltatásonként külön kulcsot használjon az auditálhatóság érdekében.
  • Figyelje a `quota.remaining` és `rate_limit.remaining` mezőket.

Hibaelhárítás

A legtöbb integrációs hiba ezekhez a jelzésekhez köthető.

  • `code: quota_exceeded` → várjon az új ciklusra vagy vásároljon krediteket; a válasz tartalmazza a fennmaradó értékeket.
  • `code: rate_limit_exceeded` → túl sok kérés lett küldve egy helyről, ezért várni kell a detektálással.
  • `Text must contain at least 60 words` → túl rövid a szöveg a detektáláshoz.
  • További segítség: [email protected] (küldje el a `request_id` értéket).

Merre tovább

  • Olvassa el a teljes API referenciát az OCR és riport végpontokhoz.
  • Vegye fel velünk a kapcsolatot, ha egyedi munkafolyamatra van szüksége.