AR ▾

ابدأ برصيد تجريبي

البريد الإلكتروني وكلمة المرور، ويظهر المفتاح على الشاشة فورًا.

https://api.uncensoredllmhub.com/v1

Uncensored LLM Hub: نقطة نهاية واحدة للدردشة والوكلاء

Uncensored LLM Hub هو واجهة برمجة نصية مستضافة ومتوافقة مع OpenAI، بنموذج واحد وBase URL واحد. توضح هذه الصفحة إعداداً عملياً لتطبيق دردشة ووكيل مبني عليه.

تم التحديث

مركز متوهج مركزي متصل بتدفقات ضوئية بنافذة دردشة، ووكيل، ومستندات

نقاط رئيسية

  • Base URL واحد ومعرف نموذج واحد، uncensored، يعمل مع أي SDK أو عميل OpenAI.
  • يتم دعم البث المتدفق، واستدعاء الدوال، ووضع JSON، مع نافذة سياق بحجم 100,000 رمز.
  • المفتاح الكامل يسمح بـ 8 طلبات متزامنة و300 في الدقيقة، لذا خطط لطابور صغير للتطبيقات المزدحمة.
  • الفوترة هي $0.15 لكل مليون رمز مدخل و$0.50 لكل مليون رمز مخرج من رصيد مسبق الدفع، ولا تُستخدم الموجّهات في التدريب.

ما تحصل عليه من نقطة نهاية واحدة

يبحث المستخدمون عن Uncensored LLM Hub عندما يريدون نموذجاً يجيب دون رفض المحتوى للاستخدام القانوني للبالغين، لكنهم لا يريدون تشغيل وحدات معالجة الرسومات. الخدمة عبارة عن واجهة برمجة تطبيقات HTTPS عادية. توجّه عميل OpenAI إلى https://api.uncensoredllmhub.com/v1، وأرسل معرف النموذج uncensored، وقم بالمصادقة باستخدام Authorization: Bearer YOUR_KEY. توجد طريقتان: POST /v1/chat/completions للمحادثات وGET /v1/models للقائمة.

من المفيد أن تكون واضحاً بشأن ما يوجد خلف نقطة النهاية هذه. إنه نموذج واحد مفتوح الأوزان، يشغله مزود مستقل ومضبط لتجاوز رفض المحتوى. إنه ليس واجهة برمجة نصية رسمية لأي بائع كبير، وليس موزعاً يختار بين النماذج. يتعامل مع النص فقط: لا صور، صوت، فيديو، تضمينات أو ضبط دقيق. قاعدة صارمة واحدة تنطبق بدون استثناء: لا محتوى جنسي يتضمن قاصرين.

هذا النطاق الضيق هو الهدف. نقطة نهاية مستقرة واحدة سهلة البناء حولها. الأقسام أدناه تظهر خادم دردشة صغير، ثم حلقة وكيل، ثم الحدود التي تحتاج لتصميمها.

الخطوة 1: ربط عميل موجود

نظراً لأن واجهة برمجة التطبيقات تتبع تنسيق OpenAI، فإنك نادراً ما تكتب كود عميل جديد. افتح SDK أو أداة، غيّر عنوان URL الأساسي والمفتاح، واضبط النموذج على uncensored. سجّل الدخول أولاً في صفحة مفتاح API (Google، أو البريد الإلكتروني وكلمة المرور)، ثم استحوذ على رصيد التجربة بقيمة $0.50 بنقرة واحدة. لا يحتاج التجربة إلى بطاقة، ويستمر لمدة 7 أيام ومحدود لشخص واحد.

طلب بسيط في Python:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.uncensoredllmhub.com/v1",
    api_key="YOUR_API_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a concise assistant for a writing tool."},
        {"role": "user", "content": "Give me three opening lines for a mystery set on a ferry."},
    ],
    temperature=0.9,
    top_p=0.95,
)
print(resp.choices[0].message.content)

تُمرر إعدادات أخذ العينات مثل temperature، وtop_p، وstop، وseed، بالإضافة إلى عقوبات التكرار والوجود إلى النموذج، لذا فإن أزرار التحكم التي تعرفها من مزودين آخرين تعمل بنفس الطريقة. نفس الطلب يعمل في الأدوات التي تقبل نقطة نهاية متوافقة مع OpenAI، مثل SillyTavern أو Open WebUI: الصق Base URL، أضف المفتاح، واكتب معرف النموذج يدويًا.

الخطوة 2: بث الإجابات إلى واجهة دردشة

تبدو تطبيقات الدردشة بطيئة إذا حدق المستخدم في مربع فارغ حتى وصول الإجابة الكاملة. البث المتدفق يحل هذه المشكلة. اضبط stream: true وترسل واجهة برمجة التطبيقات الإجابة كـ أحداث مرسلة من الخادم، مع الإبلاغ عن الاستخدام في نهاية البث. إليك نسخة Node التي تعيد توجيه الرموز عند وصولها:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.uncensoredllmhub.com/v1",
  apiKey: process.env.API_KEY,
});

export async function streamReply(history, onToken, signal) {
  const stream = await client.chat.completions.create(
    { model: "uncensored", messages: history, stream: true },
    { signal }
  );
  let text = "";
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? "";
    if (piece) {
      text += piece;
      onToken(piece);
    }
  }
  return text;
}

عادة واحدة توفر المتاعب لاحقاً. أولاً، مرر دائماً إشارة إلغاء وألغها عندما يغلق المستخدم علامة التبويب أو يضغط على إيقاف. يشغل الطلب المتدفق فتحة التزامن الخاصة به حتى ينتهي البث، لذا فإن البث المهمل يستهلك من رصيدك. ثانياً، احتفظ بالنص الكامل الذي جمعته، لأنك ستلحقه بالسجل كرسالة مساعد للدورة التالية.

إذا رأيت أخطاء غامضة في واجهة المستخدم الأمامية أثناء البث، فإن ملاحظتنا حول تشخيص فشل البث تغطي الأسباب الشائعة، مثل Base URL الخاطئ، أو وكيل يقوم بتخزين الأحداث مؤقتًا، ورمزي 429.

الخطوة 3: استخدام نافذة السياق عمدًا

نافذة السياق هي 100,000 رمز، مشتركة بين الموجّه والإكمال. لأداة كتابة القصص، أو دردشة الشخصيات، أو مساعد المستندات، فهذا يعني مساحة لتاريخ طويل، وموجّه نظام كبير، ومواد مرجعية في نفس الوقت. لا تحتاج إلى ضبط max_tokens؛ يمكن للإكمال استخدام ما تبقى.

السياق الطويل رخيص التجربة بهذه الأسعار. ملء نافذة السياق بالكامل بالإدخال يكلف 0.1 × $0.15 = $0.015 لـ 100,000 رمز إدخال. أضف إجابة مكونة من 2,000 رمز (0.002 × $0.50 = $0.001) وتكون تكلفة المكالمة الكاملة تقريباً $0.016. لا تزال بحاجة إلى إدارة النافذة، لثلاثة أسباب: يزداد زمن الاستجابة مع حجم الموجّه، وتعيد كل دورة إرسال السجل لذا تتراكم التكاليف عبر الجلسة، وتُضعف السجلات الطويلة جداً التعليمات في الأعلى.

سياسة بسيطة تعمل بشكل جيد:

  1. احتفظ بموجّه النظام وأي نص مرجعي ثابت في البداية.
  2. احتفظ بأحدث الأدوار كما هي.
  3. عندما يتجاوز التاريخ عتبة تختارها، مثل 60,000 رمز، اطلب من النموذج تلخيص الجزء الأقدم في ملاحظة قصيرة واستبدل تلك الدورات بها.
  4. اقرأ usage.prompt_tokens من كل استجابة لمعرفة حجم الطلب التالي، بدلاً من التقدير بالأحرف.

الخطوة 4: الأدوات والإخراج الهيكلي للوكلاء

تحتاج الوكلاء إلى شيئين من النموذج: طريقة لاستدعاء الدوال، وإخراج يمكنك تحليله. كلاهما مدعوم. يستخدم استدعاء الدوال المعاملات القياسية tools وtool_choice، ويمكن بث استدعاءات الدوال، وتعود النتائج كرسائل مع role: "tool". تبدو رحلة ذهاب وعودة واحدة كالتالي:

import json
from openai import OpenAI

client = OpenAI(
    base_url="https://api.uncensoredllmhub.com/v1",
    api_key="YOUR_API_KEY",
)

tools = [{
    "type": "function",
    "function": {
        "name": "lookup_order",
        "description": "Find an order by its number.",
        "parameters": {
            "type": "object",
            "properties": {"order_id": {"type": "string"}},
            "required": ["order_id"],
        },
    },
}]

messages = [{"role": "user", "content": "Where is order A-1042?"}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
msg = first.choices[0].message

if msg.tool_calls:
    call = msg.tool_calls[0]
    args = json.loads(call.function.arguments)
    result = {"order_id": args["order_id"], "status": "shipped"}  # your real lookup goes here
    messages.append(msg)
    messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})
    final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
    print(final.choices[0].message.content)

تحقق دائمًا من الحجج قبل تشغيل أي شيء له آثار جانبية. يمكن أن ينتج النموذج قيمة غير صالحة أو غير متوقعة، وكودك هو خط الدفاع الأخير.

للإخراج المهيكل العادي بدون أدوات، استخدم وضع JSON مع تعيين response_format إلى {"type": "json_object"}. صف الشكل الذي تريده في الموجّه أيضاً، وقم بتحليل الرد داخل كتلة try بحيث يؤدي رد سيئ إلى إعادة المحاولة بدلاً من التوقف.

curl https://api.uncensoredllmhub.com/v1/chat/completions   -H "Authorization: Bearer $API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Reply with JSON: {"title": string, "tags": [string]}"},
      {"role": "user", "content": "Describe a noir story set in a rainy port city."}
    ]
  }'

القيود التي يجب تصميم حولها

المفتاح الكامل يسمح بـ 8 طلبات متزامنة و300 طلب في الدقيقة. المفتاح التجريبي يسمح بـ 2 و60. يمكن أن يصل حجم الجسم إلى 8 ميجابايت. تحمل كل استجابة X-Request-Id، وX-Balance-USD، وX-RateLimit-Limit-Requests، وX-RateLimit-Limit-Concurrency، وهي مفيدة للتسجيل.

عند تجاوز الحد، تُرجع واجهة برمجة التطبيقات خطأ HTTP 429. الرمز هو rate_limited لعدد كبير جداً من الطلبات في الدقيقة وconcurrency لعدد كبير جداً في وقت واحد. يؤدي الحمل الزائد المؤقت أيضاً إلى إرجاع 429، مع Retry-After: 5. لتطبيق متعدد المستخدمين، ضع طابوراً صغيراً أمام واجهة برمجة التطبيقات: قفل عدّاد بحجم أقل من حد التزامن وإعادة محاولة تحترم Retry-After. بالنسبة لوكيل يبث إلى استدعاءات دوال متوازية، حدّد البث المتشعب عند نفس العدد.

القائمة الكاملة للمعايير وتنسيق الخطأ موجودة في مستندات API.

التكلفة، شحن الرصيد، ومعالجة البيانات

التسعير هو $0.15 لكل مليون رمز إدخال و$0.50 لكل مليون رمز إخراج، من رصيد مسبق الدفع. لا يوجد اشتراك، ولا ينتهي الرصيد، ولا تُحتسب رسوم على الطلبات الفاشلة أو المرفوضة. تكلفة دورة محادثة مكونة من 1,500 رمز إدخال و500 رمز إخراج هي 0.0015 × $0.15 + 0.0005 × $0.50 = $0.000225 + $0.00025 = $0.000475، لذا فإن $20 من الرصيد تغطي حوالي 42,000 من هذه الدورات.

يمكنك شحن أي مبلغ كامل من $20 إلى $500. المكافأة هي +5% من $50، و+10% من $100 و+15% من $200. ادفع بالبطاقة (Visa، Mastercard، Apple Pay، Google Pay) أو بالعملات المشفرة (USDT على TRC20، USDC على Base). تحتوي صفحة التسعير على الجدول الحالي.

فيما يخص البيانات: لا تُستخدم الموجّهات في التدريب. اقرأ سياسة الخصوصية للحصول على النص الكامل. أنت مسؤول عن ما تبنيه باستخدام النموذج، ويُقصد بالخدمة الاستخدام القانوني للبالغين فقط.

أسئلة وأجوبة

ما هو معرف النموذج الذي يجب استخدامه؟

استخدم uncensored كـ model ID في كل طلب. اضبط Base URL على https://api.uncensoredllmhub.com/v1 وأرسل مفتاحك كرمز Bearer.

هل يعمل مع شيفرتي OpenAI الموجودة؟

نعم. يعمل أي SDK أو عميل OpenAI بمجرد تغيير عنوان URL الأساسي والمفتاح. يتم دعم إكمال الدردشة، والبث المتدفق، واستدعاء الدوال، ووضع JSON.

هل يمكنه توليد الصور أو التضمينات؟

لا. إنها واجهة برمجة تطبيقات للنصوص فقط، بدون توليد صور أو صوت أو فيديو، وبدون تضمينات أو ضبط دقيق.

ما الحد الأقصى لحجم المحادثة؟

تبلغ نافذة السياق 100,000 رمز (token)، مشتركة بين الموجّه والإجابة. يمكن أن يصل حجم جسم الطلب إلى 8 ميجابايت.

مفتاحك على بُعد نموذج واحد

أنشئ حساباً، وانسخ المفتاح، ثم غيّر URL الأساسي. هذه هي الإعدادات الكاملة.

احصل على مفتاح API

https://api.uncensoredllmhub.com/v1