weightsapi.推論コンソール
ナビゲーション
20行でチャットボット

20行でチャットボット

Python標準ライブラリのみを使用するターミナル会話。

要件#

Python 3.11以降。追加パッケージは不要です。WEIGHTSAPI_API_KEYを自分のキーに設定してください。AIアクセスにはサインイン、最低100米ドルの確認済みチャージ1回、承認されたAPIキー、リクエストに十分な利用可能クレジットが必要です。以降の各チャージも最低100米ドルです。残高が少なくてもリクエストをカバーできる場合は使用可能です。クレジットにはトランザクションの検証が必要です。トラフィックを送信する前に、モデルの可用性についてサービス状態を確認してください。

レシピを実行する#

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)
messages = [{"role": "system", "content": "Be concise and useful."}]
while True:
    text = input("You: ").strip()
    if text in ("exit", "quit"): break
    messages.append({"role": "user", "content": text})
    result = chat(messages)
    answer = result["choices"][0]["message"]
    messages.append(answer)
    print("Assistant:", answer["content"])

本番前#

並行性と再試行を制限し、出力を検証し、ワークフローをユーザーに公開する前にエラーを処理します。