راهنما پنل کلید گفتگو تیره خانه

از برنامه خودت سؤال بپرس

کار ساده است. یک کلید می‌گیری. هر بار که برنامه می‌خواهد جواب بگیرد، همان کلید را همراه همان درخواست می‌فرستد. لاگین جدا برای API نیست. کتابخانه اضافه هم لازم نیست؛ همان requests پایتون کافی است.

کلید را از پنل بگیر

توی این صفحه

کلید کجا می‌رود کدام مدل را بنویسم مثال ۱: یک سؤال مثال ۲: چند پیام پشت هم مثال ۳: لیست مدل‌ها مثال ۴: کلید تست مثال ۵: اگر خطا آمد مثال ۶: چند سؤال پشت‌سرهم مثال ۷: ذخیره کلید بیرون از فایل پول چطور کم می‌شود

کلید کجا می‌رود

کلید با sea_ شروع می‌شود. آن را مثل رمز حساب نگه دار. داخل گیت نگذار.

جایش داخل هر درخواست است؛ در هدر:

Authorization: Bearer sea_................

کلمه Bearer را همین‌طور بنویس، یک فاصله، بعد کل کلید. اگر این هدر نباشد، سرور جواب نمی‌دهد.

آدرس ارسال سؤال:

https://seabot.ir/v1/chat/completions

کدام مدل را بنویسم

اگر در متن بپرسی «تو کی هستی»، می‌گوید SeaBot.

مثال ۱: یک سؤال

این کمترین کدی است که کار می‌کند. اول نصب کن: python -m pip install requests

import requests

KEY = "sea_کلید_تو_اینجا"

r = requests.post(
    "https://seabot.ir/v1/chat/completions",
    headers={
        "Authorization": "Bearer " + KEY,
        "Content-Type": "application/json",
    },
    json={
        "model": "SeaBot_V1",
        "messages": [
            {"role": "user", "content": "یک جمله درباره دریا بگو"}
        ],
    },
    timeout=90,
)

print(r.status_code)
print(r.json()["choices"][0]["message"]["content"])

همین. یک پست، یک هدر، یک سؤال.

مثال ۲: چند پیام پشت هم

اگر می‌خواهی یادش بماند قبلاً چه گفتید، همان لیست را بزرگ‌تر کن و دوباره بفرست. باز هم کلید همراه همین درخواست می‌رود.

import requests

KEY = "sea_کلید_تو_اینجا"
url = "https://seabot.ir/v1/chat/completions"
headers = {
    "Authorization": "Bearer " + KEY,
    "Content-Type": "application/json",
}

soal = [
    {"role": "user", "content": "اسم من رایان است"},
    {"role": "assistant", "content": "باشه رایان."},
    {"role": "user", "content": "اسمم چی بود؟"},
]

r = requests.post(url, headers=headers, json={
    "model": "SeaBot_V2",
    "messages": soal,
}, timeout=90)

print(r.json()["choices"][0]["message"]["content"])

مثال ۳: ببین کدام مدل‌ها زنده‌اند

این یکی کلید نمی‌خواهد.

import requests

r = requests.get("https://seabot.ir/v1/models", timeout=30)
print(r.status_code)
print(r.json())

مثال ۴: کلید تست

در پنل یک کلید آزمایشی بساز. مدل را SeaBot_Free بگذار. با کلید پولی این مدل را صدا نزن؛ با کلید تست مدل پولی را هم صدا نزن.

import requests

KEY = "sea_کلید_تست"

r = requests.post(
    "https://seabot.ir/v1/chat/completions",
    headers={
        "Authorization": "Bearer " + KEY,
        "Content-Type": "application/json",
    },
    json={
        "model": "SeaBot_Free",
        "messages": [{"role": "user", "content": "فقط بگو رسیدم"}],
    },
    timeout=60,
)
print(r.json()["choices"][0]["message"]["content"])

مثال ۵: اگر خطا آمد

اول کد را نگاه کن، بعد متن.

import requests

KEY = "sea_کلید_تو_اینجا"

r = requests.post(
    "https://seabot.ir/v1/chat/completions",
    headers={
        "Authorization": "Bearer " + KEY,
        "Content-Type": "application/json",
    },
    json={
        "model": "SeaBot_V1",
        "messages": [{"role": "user", "content": "سلام"}],
    },
    timeout=90,
)

if r.status_code != 200:
    print("کد:", r.status_code)
    print("متن:", r.text)
else:
    print(r.json()["choices"][0]["message"]["content"])

مثال ۶: چند سؤال پشت‌سرهم

هر دور، یک درخواست تازه است. هر بار هدر کلید را دوباره بگذار.

import time
import requests

KEY = "sea_کلید_تو_اینجا"
url = "https://seabot.ir/v1/chat/completions"
headers = {
    "Authorization": "Bearer " + KEY,
    "Content-Type": "application/json",
}

for soalam in ["۲ به‌علاوه ۲؟", "پایتخت ایران؟", "یک ضرب‌المثل کوتاه"]:
    r = requests.post(url, headers=headers, json={
        "model": "SeaBot_V1",
        "messages": [{"role": "user", "content": soalam}],
    }, timeout=90)
    if r.status_code == 200:
        print(soalam, "→", r.json()["choices"][0]["message"]["content"])
    else:
        print(soalam, "خطا", r.status_code, r.text)
    time.sleep(1)

مثال ۷: کلید را داخل فایل نگذار

در لینوکس یا مک، قبل از اجرا:

export SEABOT_KEY="sea_کلید_تو"
python app.py

داخل برنامه:

import os
import requests

KEY = os.environ["SEABOT_KEY"]

r = requests.post(
    "https://seabot.ir/v1/chat/completions",
    headers={
        "Authorization": "Bearer " + KEY,
        "Content-Type": "application/json",
    },
    json={
        "model": "SeaBot_V2",
        "messages": [{"role": "user", "content": "یک اسم برای فروشگاه اینترنتی بده"}],
    },
    timeout=90,
)
print(r.json()["choices"][0]["message"]["content"])

بدنه درخواست یعنی چه

فقط همین‌ها لازم است:

بقیه اختیاری است. اگر خواستی طول جواب را کم کنی:

json={
    "model": "SeaBot_V1",
    "messages": [{"role": "user", "content": "خیلی کوتاه بگو ساعت چند است در ایران"}],
    "max_tokens": 80,
    "temperature": 0.3,
}

پول چطور کم می‌شود

هر درخواست پولی از اعتبار تومان در پنل کم می‌کند. عدد زنده است (قیمت مدل × دلار × سود). اشتراک پلاس یا پروِ گفتگوی سایت جداست؛ به این کیف وصل نیست.

تا درگاه بانکی روشن شود، شارژ همان کارت‌به‌کارت است: مبلغ را می‌زنی، رسید می‌فرستی، ادمین تأیید می‌کند. وقتی درگاه SEP را روشن کنیم، کارت از فروشگاه و شارژ API برداشته می‌شود.

© ۱۴۰۵ SeaBot · گروه Sea