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)
tools = [{"type":"function","function":{"name":"get_stock","description":"Look up product inventory.",
"parameters":{"type":"object","properties":{"sku":{"type":"string"}},"required":["sku"],"additionalProperties":False}}}]
messages = [{"role":"user","content":"How many keyboards are in stock? SKU keyboard."}]
first = chat(messages, tools=tools)["choices"][0]["message"]
messages.append(first)
for call in first.get("tool_calls", []):
if call["function"]["name"] != "get_stock": raise ValueError("Unknown tool")
args = json.loads(call["function"]["arguments"])
if set(args) != {"sku"} or not isinstance(args["sku"], str): raise ValueError("Invalid arguments")
result = {"sku":args["sku"],"quantity":{"keyboard":12}.get(args["sku"],0)}
messages.append({"role":"tool","tool_call_id":call["id"],"content":json.dumps(result)})
print(chat(messages)["choices"][0]["message"]["content"])
Ü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.