fa ▾

API Ollama Uncensored میزبانی‌شده، سازگار با OpenAI

راهنمای شروع سریع API Ollama

این راهنما پیکربندی ضروری برای اتصال به API LLM بدون سانسور را ارائه می‌دهد. از SDK استاندارد OpenAI برای ارسال درخواست‌ها به اندپوینت میزبانی‌شده ما با حداقل تنظیمات استفاده کنید.

تنظیم URL پایه و احراز هویت

کلاینت خود را به سمت نقطه پایانی میزبانی‌شده ما تنظیم کنید. تنظیم کنید base_url به https://api.apiollama.com/v1 و کلید خود را در Authorization هدر. احراز هویت از استاندارد Bearer scheme. می‌توانید یک کلید از طریق گوگل یا ایمیل در داشبورد ایجاد کنید. سیستم یک کلید فعال به ازای هر حساب ایجاد می‌کند.

curl https://api.apiollama.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "list installed models"}]
  }'

کلید خود را امن نگه دارید. اگر به یک کلید تازه نیاز دارید، یک کلید جدید در داشبورد تولید کنید و کلید قبلی بلافاصله غیرفعال می‌شود. برای راه‌اندازی نیازی به شماره تلفن نیست. این پیکربندی با هر کلاینت OpenAI-compatible کار می‌کند.

POST /v1/chat/completions: ارسال درخواست‌ها

اولین درخواست تکمیل چت خود را با استفاده از نقطه پایانی استاندارد ارسال کنید. شناسه مدل را به عنوان uncensored در بدنه درخواست. API آرایه‌های پیام استاندارد شامل نقش‌های سیستم، کاربر و دستیار را می‌پذیرد. این با هر SDK که از فرمت OpenAI پشتیبانی می‌کند کار می‌کند. مطمئن شوید که model field in every request.

from openai import OpenAI

client = OpenAI(base_url="https://api.apiollama.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)

درخواست‌ها از طریق سرورهای ما پردازش می‌شوند. مدل بر اساس پرامپت شما متنی تولید شده ارائه می‌دهد. می‌توانید پارامترهایی مانند را تنظیم کنید temperature یا top_p برای کنترل تصادفی‌سازی. سیستم یک شی پاسخ کامل شامل محتوای تولید شده برمی‌گرداند.

GET /v1/models: فهرست مدل‌های موجود

نقطه پایانی مدل‌ها را برای بررسی گزینه‌های موجود فراخوانی کنید. یک درخواست GET به /v1/models برای لیست کردن مدل‌های میزبانی شده. پاسخ شامل id field set to uncensored. این انتهای‌بند، تأیید می‌کند که کلید API شما مجوزهای معتبر دارد. متاداده‌ای درباره پیکربندی مدل برمی‌گرداند.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apiollama.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);

از این فراخوانی برای اشکال‌زدایی مشکلات اتصال استفاده کنید. اگر endpoint خطایی برگرداند، هدر احراز هویت خود را بررسی کنید. endpoint یک لیست ساده از مدل‌های موجود ارائه می‌دهد. می‌توانید وضعیت سرویس را بدون ارسال یک درخواست کامل چت بررسی کنید.

پاسخ‌های استریم با رویدادهای ارسالی سرور

با تنظیم stream پارامتر را true تنظیم کنید. API رویدادهای ارسال‌شده توسط سرور (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)

جریان SSE را در کد کلاینت خود مدیریت کنید. هر رویداد را همان‌طور که دریافت می‌شود پردازش کنید. رویداد آخر حاوی usage object با شمارش توکن‌های ورودی و خروجی. استریمینگ با تمام پارامترهای پشتیبانی شده کار می‌کند. بازخورد فوری برای برنامه‌های تعاملی فراهم می‌کند.

پارامترهای پیکربندی: دما، Top-p و موارد دیگر

رفتار تولید را با پارامترهای استاندارد تنظیم کنید. تنظیم temperature برای تصادفی بودن و top_p برای نمونه‌گیری هسته. Use stop sequences برای توقف تولید زودهنگام. The seed پارامتر نتایج تکرارپذیر را تضمین می‌کند. همچنین می‌توانید presence_penalty و frequency_penalty برای کنترل سبک.

حالت JSON از طریق response_format. این را روی json_object برای خروجی‌های ساختاریافته. مدل به فرمت مشخص شده پایبند است. این پارامترها برای تمام درخواست‌ها اعمال می‌شوند. از آن‌ها برای تنظیم سبک پاسخ استفاده کنید.

مدیریت خطا و گزارش‌دهی مصرف توکن

خطاهای رایج HTTP را در برنامه خود مدیریت کنید. وضعیت 401 نشان‌دهنده کلید API نامعتبر است. وضعیت 402 به این معنی است که اعتبار پیش‌پرداخت شما تمام شده است. وضعیت 429 نشان می‌دهد که از محدودیت نرخ تجاوز کرده‌اید. بدنه پاسخ را برای پیام‌های خطای دقیق‌تر بررسی کنید. رد شدن‌ها به دلیل سیاست محتوا رایگان هستند.

پنجره زمینه (Context Window) در مجموع ۱۰۰,۰۰۰ توکن پشتیبانی می‌کند. خروجی به ۱۶,۰۰۰ توکن در هر درخواست محدود شده است. خروجی پیش‌فرض ۲,۰۴۸ توکن است اگر max_tokens تنظیم نشده است. مصرف توکن در قطعه نهایی پخش گزارش می‌شود. خطاها اعتبار مصرف نمی‌کنند.

پرسش‌های رایج

آدرس API ollama برای سرویس میزبانی‌شده چیست؟

آدرس پایه برابر است با HTTPS://api.apiollama.com/v1. این نقطه پایان با SDKهای استاندارد OpenAI سازگار است. تنها باید آدرس پایه و کلید API را در پیکربندی خود به‌روزرسانی کنید.

آیا مدل زبانی بزرگ بدون سانسور از جریان‌دار بودن (Streaming) پشتیبانی می‌کند؟

بله، پخش زنده از طریق رویدادهای ارسالی سرور (SSE) پشتیبانی می‌شود. پارامتر stream را در درخواست خود روی true تنظیم کنید. قطعه نهایی شامل آمار مصرف توکن برای شفافیت صورت‌حساب است.

محدودیت‌های پنجره زمینه چیست؟

مدل از پنجره زمینه ۱۰۰,۰۰۰ توکنی پشتیبانی می‌کند. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است. اگر max_tokens را تنظیم نکنید، خروجی پیش‌فرض ۲,۰۴۸ توکن است.

کلید خود را فوری دریافت کنید

ثبت‌نام، اعتبارنامه را کپی کنید و endpoint را به‌روز کنید. همین است.

دریافت کلید آزمایشی