نقاط رئيسية
- رصيد التجربة بقيمة $0.50 كافٍ لعدة مئات من أدوار لعب الأدوار القصيرة، صالح لمدة 7 أيام، بدون حاجة للدفع.
- أي واجهة أمامية تقبل نقطة النهاية المتوافقة مع OpenAI تعمل: اضبط عنوان URL الأساسي والمفتاح والنموذج
uncensored. - التكلفة يحددها طول تاريخ المحادثة، وليس طول الرد. قم بقص أو تلخيص الأدوار القديمة.
- خيال ولعب أدوار للبالغين القانونيين فقط. لا شيء يتضمن قاصرين أبداً.
ما يعنيه مجاني هنا
لا توجد محادثة مجانية غير محدودة في هذه الخدمة، ومن الأفضل قول ذلك من البداية. ما تحصل عليه هو رصيد تجريبي: بعد التسجيل عبر Google أو بالبريد الإلكتروني وكلمة المرور، يمكنك المطالبة بـ رصيد تجريبي بقيمة $0.50 بنقرة واحدة من صفحة مفتاح API. يُمنح مرة واحدة لكل شخص، وهو صالح لمدة 7 أيام، ولا يتطلب أي دفع. يعمل المفتاح التجريبي بطلبين متزامنين و60 طلباً في الدقيقة، وهو أكثر من كافٍ لشخص واحد يدردش.
قد يبدو هذا الرقم صغيراً، لكن الرموز رخيصة. تكلفة المدخلات $0.15 لكل مليون رمز، وتكلفة المخرجات $0.50 لكل مليون. تكلفة دور لعب أدوار نموذجي يتألف من موجّه بحجم 8,000 رمز ورد بحجم 300 رمز هي $0.00135، لذا فإن $0.50 تغطي حوالي 370 دوراً. بالنسبة للكثيرين، هذا يكفي لأمسية كاملة أو عدة قصص قصيرة، وهو ما يكفي لاتخاذ قرار بشأن ما إذا كان الإعداد يناسبهم قبل إنفاق أي مال.
عند نفاد رصيد التجربة، يمكنك شحن الرصيد بمبلغ يبدأ من $20 وبمبالغ صحيحة تصل إلى $500. الرصيد لا ينتهي، الطلبات الفاشلة أو المرفوضة لا تُحسب تكلفتها، ولا يوجد اشتراك لإلغائه. هذا الموقع يقبل العملات المشفرة فقط: USDT على شبكة TRC20 أو USDC على شبكة Base.
اختر واجهة أمامية
تتحدث الـ API فقط عبر النص باستخدام HTTP. ما زلت بحاجة إلى شيء لتخزين شخصياتك، وسجل محادثاتك، وقالب الموجّه. ثلاثة خيارات شائعة:
- SillyTavern. تطبيق ويب محلي مُصمم لمحادثات الشخصيات، يتضمن كتب lore، وشخصيات، وإعدادات مسبقة. يتيح لك إضافة نقطة نهاية متوافقة مع OpenAI، وهو بالضبط ما تقدمه هذه الـ API.
- عميل دردشة آخر يعرض حقولاً لـ URL متوافق مع OpenAI. ابحث عن إعدادات تسمى custom endpoint، أو proxy، أو OpenAI-compatible.
- سكربت خاص بك. خمسون سطرًا من Python تمنحك تحكماً كاملاً في الذاكرة، والموجهات، والتكلفة. كما أنها أسهل طريقة لرؤية ما ترسله فعلياً.
إذا كنت تبني تطبيقاً وليس مجرد دردشة، فإن نفس المكالمات تعمل من أي SDK متوافق مع OpenAI. يدرج دليل البدء السريع في الوثائق نقاط النهاية، والرؤوس، والحدود في مكان واحد.
ربط SillyTavern في خمس خطوات
- أنشئ حساباً، افتح صفحة مفتاح API، احصل على رصيد التجربة وانسخ مفتاحك.
- في SillyTavern، افتح أيقونة الإضافات (اتصالات API) واضبط نوع API على Chat Completion.
- اختر المصدر المسمى Custom (OpenAI-compatible).
- الصق
https://api.uncensoredvideo.cc/v1في حقل نقطة النهاية المخصصة، ومفتاحك في حقل المفتاح، واكتبuncensoredكـ model ID. - اضغط على اتصال. يعني اللون الأخضر أن الطلب إلى
GET /v1/modelsأو رسالة الاختبار نجح.
تتغير تسميات القوائم بين إصدارات SillyTavern، لذا اعتمد على المعنى وليس على النص الحرفي. قبل أن تلوم التطبيق، اختبر المفتاح من سطر الأوامر:
curl https://api.uncensoredvideo.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}]}'إذا نجح curl ولم ينجح التطبيق، فإن المشكلة تكمن في حقول التطبيق: غياب /v1، أو مسافة زائدة في المفتاح، أو اسم نموذج خاطئ.
أو اكتب حلقة دردشة صغيرة
يُعد السكربت طريقة جيدة لمعرفة تكلفة لعب الأدوار، لأنك تستطيع طباعة استخدام الرموز في كل دور. يحافظ هذا السكربت على موجّه الشخصية، ويقصر السجل على آخر 20 رسالة، ويبث الرد.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredvideo.cc/v1",
api_key=os.environ["API_KEY"],
)
system = (
"You are Mara, a dry-witted smuggler pilot in a space-opera story. "
"Stay in character, write in third person, keep replies under 150 words."
)
history = []
while True:
user = input("> ")
history.append({"role": "user", "content": user})
messages = [{"role": "system", "content": system}] + history[-20:]
stream = client.chat.completions.create(
model="uncensored",
messages=messages,
temperature=0.9,
top_p=0.95,
max_tokens=300,
stream=True,
stream_options={"include_usage": True},
)
reply = ""
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
piece = chunk.choices[0].delta.content
reply += piece
print(piece, end="", flush=True)
if chunk.usage:
print("\n[tokens in/out: %d/%d]" % (chunk.usage.prompt_tokens, chunk.usage.completion_tokens))
history.append({"role": "assistant", "content": reply})راقب سطر الاستخدام. بعد بضعة عشرات من الأدوار، سترى عدد المدخلات يرتفع بينما تظل المخرجات ثابتة. هذا هو الرقم الذي يجب إدارته.
اكتب موجّه شخصية يصمد
تبدأ معظم مشاكل لعب الأدوار في الموجّه الأول، وليس في النموذج. الموجّه الجيد للشخصية يكون قصيراً ومحدداً. سمِّ الشخصية، أعطِ صوتاً في جملة أو جملتين، صف الإعداد، واذكر طول الردود. ثم توقف. كل قاعدة إضافية هي رمز تدفع ثمنه في كل دور، وقائمة طويلة من الأفعال والنواهي تميل إلى أن تُتبع بشكل أقل من مثال واضح.
قارن بين طريقتين لوصف الطيار نفسه. الأول يقول إنها شجاعة، ومرحة، ووفية، وذكية. هذا لا يخبر النموذج بشيء يمكنه العمل عليه. الثاني يقول إنها تجيب على الأسئلة بنكتة أولاً وحقيقة ثانياً، ولا تشرح ماضيها إلا إذا سُئلت مرتين، وتلعن بلطف عندما ينكسر جزء من السفينة. الثاني يعطي النموذج عادات لتكرارها، والعادات هي ما يختبره القراء كشخصية.
أضف مثالاً قصيراً لتبادل الحوار يتكون من ثلاثة أو أربعة أسطر. النماذج تنسخ الإيقاع بشكل جيد جداً، لذا فإن المثال يحدد الطول، والزمن، ووجهة النظر دون حاجة لقاعدة منفصلة. إذا كنت تكتب بالضمير الثاني، أظهر ذلك. إذا كنت تريد سرداً بخط مائل، أظهر ذلك أيضاً. ضع المثال في موجّه النظام أو كرسائل أولى في السجل.
أخيراً، قرر من يتحكم في الشخصيات الأخرى. إذا كنت تريد من النموذج تمثيل طاقم كامل، فاذكر ذلك. إذا كنت تريد منه تمثيل دور واحد فقط، فاذكر أنه يجب ألا يكتب أبداً كلمات أو أفعال شخصيتك. تسلسل توقف على اسم شخصيتك يدعم هذا على مستوى الـ API.
تكلفة دور لعب الأدوار
يُعيد كل طلب إرسال موجّه النظام، ووصف الشخصية، والسجل، لذا تنمو الرموز المدخلة مع طول المحادثة. إليك الحساب لرد بحجم 300 رمز، يكلف 300 x $0.50 / 1,000,000 = $0.00015 بمفرده:
| حجم الموجه | تكلفة المدخلات | التكلفة لكل دور | لكل 100 دور | الأدوار مقابل $0.50 |
|---|---|---|---|---|
| 4,000 رمز (token) | $0.0006 | $0.00075 | $0.075 | حوالي 666 |
| 8,000 رمز (token) | $0.0012 | $0.00135 | $0.135 | حوالي 370 |
| 20,000 رمز | $0.0030 | $0.00315 | $0.315 | حوالي 158 |
| 50,000 رمز (token) | $0.0075 | $0.00765 | $0.765 | حوالي 65 |
الخلاصة بسيطة. الموجّه ذو الـ 8,000 رمز (token) أرخص بنسبة 5.7 مرات تقريباً من الموجّه ذو الـ 50,000 رمز (token) لنفس عدد الأدوار. عند مستوى 8,000 رمز (token)، يكفي شحن الرصيد بمبلغ $20 لحوالي 14,800 دور. تضيف الشحنات الأكبر مكافأة: +5% من $50، و+10% من $100، و+15% من $200، بحيث يمنحك $100 رصيداً بقيمة $110. يُرجى الاطلاع على صفحة التسعير للحصول على الجدول الكامل.
حافظ على رخص القصص الطويلة واتساقها
نافذة السياق تتسع لـ 100,000 رمز (token)، شاملة الموجّه والرد، مما يتيح لك تحميل كميات كبيرة. لكن نادراً ما يكون ذلك ضرورياً. الموجّهات الطويلة تكلف أكثر وتعطي النموذج نصاً أكثر قد يفقد تتبعه له. بعض العادات تساعد:
- لخّص، ثم احذف. كل 20 دوراً، اطلب من النموذج ملخصاً للقصة حتى الآن مكوناً من 150 كلمة، واحتفظ به في موجّه النظام، واحذف الرسائل القديمة.
- حافظ على صفحة الشخصية مختصرة. صفحة من القواعد التي يتجاهلها النموذج هي صفحة تدفع ثمنها في كل دور.
- حدّ الرد.
max_tokensاختياري، لكن الحدّ يوقف الردود الهاربة ويحافظ على إيقاع ضيق. - ضبط أخذ العينات. درجة الحرارة حول 0.8 إلى 1.0 تناسب الخيال. إذا كرر النموذج عبارات، ارفع عقوبة التكرار أو الحضور قليلاً. تُمرر هذه الإعدادات.
- استخدم تسلسلات
stopحتى لا يكتب النموذج جملك نيابةً عنك، على سبيل المثال إيقاف عند اسم شخصيتك متبوعاً بنقطتين رأسيتين.
تُمرر البذور الثابتة أيضاً، مما يساعد عندما تريد إعادة تشغيل مشهد ومقارنة نسختين من الموجّه.
مشاكل شائعة وحلول سريعة
هذه هي المشكلات التي يواجهها الناس غالباً في الدردشات الطويلة، مع الإعداد الذي يساعد عادةً.
- النموذج يتحدث نيابة عنك. أضف سطراً إلى الموجّه النظامي، بالإضافة إلى تسلسل توقف على اسم الشخصية.
- تطول الردود في كل دور. ينسخ النموذج طول الردود السابقة. خفّض
max_tokens، عدّل أحد الردود الطويلة يدوياً، وسيعاد ضبط النمط. - الجمل المتكررة. ارفع درجة الحرارة قليلاً، وأضف عقوبة صغيرة للحضور أو التكرار، وغيّر في رسائلك الخاصة بك. النموذج يعكس ما يراه.
- تفاصيل منسية. ضع الحقائق التي يجب أن تبقى، مثل الأسماء والإصابات والوعود، في ملاحظة مثبتة قصيرة في أعلى الموجّه، وحدّثها عندما تتغير القصة.
- نبرة مسطحة. قدم مثالاً أقوى للصوت. تأتي النبرة من الأمثلة أكثر بكثير من الصفات.
عند حدوث شيء غريب، اطبع قائمة الرسائل الكاملة التي يرسلها النص البرمجي الخاص بك. في تسع مرات من كل عشر، السبب مرئية في الموجّه نفسه: تعليمات متبقية، تلخيص مكرر، أو سجل لم يتم تقليمه.
الحدود والأخطاء التي قد تواجهها
المفتاح الكامل يسمح بـ 8 طلبات متزامنة و300 طلب في الدقيقة، والمفتاح التجريبي يسمح بـ 2 و60. إذا تجاوزت الحد، تُعيد الـ API رمز HTTP 429. رمز الخطأ rate_limited يعني طلبات كثيرة جداً في الدقيقة، وconcurrency يعني طلبات كثيرة جداً في آن واحد. رمز 429 مع رأس HTTP Retry-After: 5 يشير إلى حمل زائد مؤقت، لذا انتظر خمس ثوانٍ وأعد المحاولة.
هناك تفصيل واحد يفاجئ كثيرين: يحمل الطلب المتدفق (streamed) خانة التزامن (concurrency slot) حتى انتهاء البث. إذا نقرت على إعادة التوليد ثلاث مرات بسرعة باستخدام مفتاح التجربة، قد تفشل المحاولة الثالثة برمز الخطأ concurrency. انتظر حتى ينتهي البث أو دع العميل يعيد المحاولة بعد توقف قصير. تحمل كل استجابة أيضًا الرأس X-Balance-USD، مما يتيح لبرمجيتك طباعة الرصيد المتبقي بعد كل دور.
قاعدة لا تتغير: النموذج مُعدّ للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين، ولن يكتب محتوى جنسي يتضمن قاصرين. أبقِ قصصك ضمن هذا الحد. لا تُستخدم الموجّهات للتدريب.
