weightsapi.ÇIKARIMKonsol
Gezinme
Doğrulanmış yapılandırılmış çıktı

Doğrulanmış yapılandırılmış çıktı

Katı bir şema ve bağımsız doğrulama.

Gereksinimler#

Python 3.11 veya daha yeni. Ek paket yok. WEIGHTSAPI_API_KEY'i kendi anahtarınıza ayarlayın. AI erişimi oturum açmayı, en az 100 USD tutarında bir onaylanmış yüklemeyi, yetkili bir API anahtarını ve istek için yeterli kullanılabilir krediyi gerektirir. Sonraki her yükleme de minimum 100 USD'dir; daha küçük kalan bakiyeler isteği karşıladığında kullanılabilir kalır. Kredi işlem doğrulaması gerektirir. Trafik göndermeden önce model kullanılabilirliği için hizmet durumunu kontrol edin.

Tarifi çalıştırın#

import os, json, urllib.request
BASE = os.environ.get("WEIGHTSAPI_BASE_URL", "https://weightsapi.com/v1")
KEY = os.environ["WEIGHTSAPI_API_KEY"]
def chat(messages, model="Qwen/Qwen3-32B", **options):
    payload = dict(model=model, messages=messages, max_tokens=512, **options)
    req = urllib.request.Request(BASE+"/chat/completions", json.dumps(payload).encode(),
        {"Authorization": "Bearer "+KEY, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=120) as response:
        return json.load(response)
schema = {"type":"object","properties":{"language":{"type":"string"},"summary":{"type":"string"}},
          "required":["language","summary"],"additionalProperties":False}
r = chat([{"role":"user","content":"Summarize: Bonjour, je construis une API."}],
    response_format={"type":"json_schema","json_schema":{"name":"summary","strict":True,"schema":schema}})
choice = r["choices"][0]
if choice["finish_reason"] != "stop": raise ValueError("Incomplete output")
value = json.loads(choice["message"]["content"])
if set(value) != {"language","summary"} or not all(isinstance(v,str) for v in value.values()):
    raise ValueError("Schema validation failed")
print(value)

Üretimden önce#

İş akışını kullanıcılara sunmadan önce eşzamanlılığı sınırlayın, yeniden denemeleri uygulayın, çıktıları doğrulayın ve hataları ele alın.