URL پایه و احراز هویت
API ما در https://api.huggingfacellmapi.com/v1. شما با یک توکن Bearer ارسالشده در Authorization هدر. کلید خود را به صورت فوری از طریق دریافت کلید API صفحه را با استفاده از حساب گوگل یا ایمیل باز کنید. این کلید را محرمانه نگه دارید؛ هر کسی که به آن دسترسی داشته باشد میتواند اعتبارات پیشپرداخت شما را خرج کند. اگر آن را گم کردید، یک کلید جدید تولید کنید تا جایگزین کلید فعال قبلی شود. برای شروع نیازی به شماره تلفن نیست.
اولین درخواست با cURL
یک پیکلود JSON خام برای آزمایش فوری انتهایپوینت ارسال کنید. از شناسه مدل uncensored برای دور زدن فیلترهای استاندارد. دستور cURL زیر یک درخواست تولید متن پایه را نشان میدهد.
curl https://api.huggingfacellmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Summarize the release notes for version three point zero five"}]
}'این یک شیء JSON شامل متن تولید شده برمیگرداند. بررسی کنید choices آرایه برای محتوای واقعی. اگر خطای 401 دریافت کردید، بررسی کنید که کلید شما صحیح و فعال است.
یکپارچهسازی SDK Python
از رسمی openai کتابخانه پایتون برای یک رابط تمیز. کلاینت را به URL پایه ما اشاره دهید و کلید API خود را تنظیم کنید. این رویکرد تلاش مجدد و تجزیه JSON را به صورت خودکار مدیریت میکند.
from openai import OpenAI
client = OpenAI(base_url="https://api.huggingfacellmapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)پکیج را از طریق pip نصب کنید. سپس میتوانید endpoint تکمیل گفتگو را دقیقاً مانند OpenAI فراخوانی کنید. شیء پاسخ به شما دسترسی به مصرف توکن و دلایل پایان تولید میدهد.
راهاندازی کلاینت Node.js
توسعهدهندگان جاوااسکریپت میتوانند از openai پکیج Node. کلاینت را با URL پایه خاص ما پیکربندی کنید. این تضمین میکند که تمام درخواستها از طریق سرورهای بدون سانسور ما مسیریابی شوند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.huggingfacellmapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);این قطعه کد را در محیط Node خود اجرا کنید. یک فراخوانی سینک ساده را نشان میدهد. میتوانید آن را به راحتی در مسیرهای Express یا توابع serverless ادغام کنید.
پاسخهای استریم
استریمینگ را با تنظیم stream: true. سرور برای هر توکن تولید شده، رویدادهای ارسالی سرور (SSE) حاوی توکنهای جزئی ارسال میکند. این موضوع تأخیر ادراکشده را برای کاربران نهایی کاهش میدهد.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)هر قطعه را همانطور که دریافت میشود پارز کنید. قطعه نهایی شامل استفاده کلی از توکن برای درخواست است. این برای ساخت رابطهای کاربری چت که پاسخها را بهصورت بلادرنگ تایپ میکنند مفید است.
محدودیتها، خطاها و زمینه
پنجره زمینه ۱۰۰,۰۰۰ توکن برای ورودی و خروجی بهطور ترکیبی است. میتوانید تا ۱۶,۰۰۰ توکن خروجی درخواست دهید. خطاهایی مانند 401 نشاندهنده کلید نامعتبر و 402 نشاندهنده اعتبار ناکافی است. محدودیت نرخ شما را به ۳۰۰ درخواست در دقیقه محدود میکند. درخواستهایی که بیش از ۸ مگابایت حجم دارند رد میشوند. خطاهای حین پردازش اعتبار شما را مصرف نمیکنند.