کار ساده است. یک کلید میگیری. هر بار که برنامه میخواهد جواب بگیرد، همان کلید را همراه همان درخواست میفرستد. لاگین جدا برای API نیست. کتابخانه اضافه هم لازم نیست؛ همان requests پایتون کافی است.
توی این صفحه
کلید کجا میرود کدام مدل را بنویسم مثال ۱: یک سؤال مثال ۲: چند پیام پشت هم مثال ۳: لیست مدلها مثال ۴: کلید تست مثال ۵: اگر خطا آمد مثال ۶: چند سؤال پشتسرهم مثال ۷: ذخیره کلید بیرون از فایل پول چطور کم میشودکلید با sea_ شروع میشود. آن را مثل رمز حساب نگه دار. داخل گیت نگذار.
جایش داخل هر درخواست است؛ در هدر:
Authorization: Bearer sea_................
کلمه Bearer را همینطور بنویس، یک فاصله، بعد کل کلید. اگر این هدر نباشد، سرور جواب نمیدهد.
آدرس ارسال سؤال:
https://seabot.ir/v1/chat/completions
SeaBot_V1 — کار جدی. از اعتبار کم میشود. همان کلید پولی.SeaBot_V2 — مدل دیگر پولی. باز هم همان کلید پولی، باز هم هر بار با درخواست.SeaBot_Free — فقط تست. کلید جدا در پنل. سقف روزانهاش کم است.اگر در متن بپرسی «تو کی هستی»، میگوید 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"])
فقط همینها لازم است:
model — یکی از سه اسم بالاmessages — لیست حرفها. هر آیتم role دارد (user یا assistant) و content که همان متن استبقیه اختیاری است. اگر خواستی طول جواب را کم کنی:
json={
"model": "SeaBot_V1",
"messages": [{"role": "user", "content": "خیلی کوتاه بگو ساعت چند است در ایران"}],
"max_tokens": 80,
"temperature": 0.3,
}
هر درخواست پولی از اعتبار تومان در پنل کم میکند. عدد زنده است (قیمت مدل × دلار × سود). اشتراک پلاس یا پروِ گفتگوی سایت جداست؛ به این کیف وصل نیست.
تا درگاه بانکی روشن شود، شارژ همان کارتبهکارت است: مبلغ را میزنی، رسید میفرستی، ادمین تأیید میکند. وقتی درگاه SEP را روشن کنیم، کارت از فروشگاه و شارژ API برداشته میشود.
© ۱۴۰۵ SeaBot · گروه Sea