راهنمای اتصال

راهنمای ساخت پروژه و کلید، اتصال Python و curl، پاسخ جریانی، سقف هزینه و بررسی خطاهای API هوش مصنوعی ServerNet.

  1. مدل و وضعیت آمادگی آن را بررسی کنید.
  2. وارد پنل شوید؛ پروژه و کلید با دسترسی ai:chat و ai:models:read بسازید.
  3. کیف پول را شارژ کنید و درخواست آزمایشی با سقف خروجی کوچک بفرستید.
  4. مصرف و هزینهٔ همان درخواست را در پنل بررسی کنید.
کلید فقط یک بار نمایش داده می‌شود. آن را در متغیر محیطی سرور نگه دارید و در کد مرورگر، گیت‌هاب یا لاگ قرار ندهید.

آدرس پایه

https://servernet.cloud/v1

ابتدا فهرست مدل‌های آماده را با GET /v1/models دریافت کنید. مقدار id همان نام مدل قابل ارسال است.

curl https://servernet.cloud/v1/models \
  -H "Authorization: Bearer $SERVERNET_API_KEY"

نمونهٔ Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SERVERNET_API_KEY"],
    base_url="https://servernet.cloud/v1",
    max_retries=0,
)
models = client.models.list()
if not models.data:
    raise RuntimeError("No models available")
answer = client.chat.completions.create(
    model=models.data[0].id,
    messages=[{"role": "user", "content": "Hello"}],
    max_tokens=128,
    extra_headers={"Idempotency-Key": "my-request-001"},
)
print(answer.choices[0].message.content)

نمونهٔ curl

curl https://servernet.cloud/v1/chat/completions \
  -H "Authorization: Bearer $SERVERNET_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-request-002" \
  -d '{"model":"di-anthropicclaude-fable-5-86c0c8bf10","messages":[{"role":"user","content":"Hello"}],"max_tokens":128}'

برای پاسخ جریانی stream=true بفرستید. آخرین رویداد usage شامل مصرف و servernet_charge_irt است؛ سپس [DONE] می‌آید.

برای تلاش مجدد همان درخواست، Idempotency-Key ثابت بفرستید. پاسخ موفق تا ۲۴ ساعت بدون کسر دوباره بازپخش می‌شود. با x-should-retry:false درخواست را خودکار تکرار نکنید.

خطاها و پیگیری

401 کلید نامعتبر؛ 402 موجودی یا سقف بودجه؛ 403 دسترسی کلید یا پروژه؛ 429 محدودیت نرخ؛ 503 مدل یا تأمین‌کننده آماده نیست. در قطع ارتباط پس از ارسال، مبلغ رزرو تا بررسی مصرف نگه داشته می‌شود؛ شناسهٔ X-Request-Id را برای پیگیری نگه دارید.