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

نقاط رئيسية
- تتحدث نقطة النهاية بتنسيق الدردشة الخاص بـ OpenAI، لذا يمكن للمحررين وأطر العمل التي تقبل عنوان URL أساسي مخصص استخدامها.
- يدعم استدعاء الدوال، ووضع JSON، والبث المتدفق، مما يغطي معظم أنماط وكلاء البرمجة.
- تتسع نافذة السياق ذات الـ 100,000 رمز لجزء كبير من مستودع في طلب واحد.
- إنه نموذج عام وليس متخصصاً في البرمجة، لذا اختبره على مهامك الخاصة أولاً.
ما هو المبرمج بدون رقابة، وما ليس كذلك
يُعد مُبرمج الذكاء الاصطناعي بدون فلاتر نموذج لغة يجيب عن طلبات البرمجة دون التشكيك في أسبابك. إذا كنت تكتب ماسحاً للشبكات لشبكة تمتلكها، أو تقوم بهندسة عكسية لبرنامج ثنائي قديم فقدت مصدره، أو تبني جامع بيانات يحاكي متصفح الويب، فستحصل على كود بدلاً من فقرة حول الاستخدام المسؤول.
من المفيد أن تكون دقيقاً بشأن ما تقدمه هذه الخدمة. إنه نموذج واحد مفتوح الأوزان، مُضبط للإجابة بدون رفض المحتوى للاستخدام القانوني للبالغين، وتشغله جهة مستقلة. إنه ليس واجهة برمجة التطبيقات الرسمية لأي بائع كبير، وليس وسيطاً يختار بين النماذج. معرف النموذج هو uncensored. لا ادعاء هنا حول نتائج الاختبارات، لأن لا توجد نتائج منشورة له على هذا الموقع. ليس بالضرورة أن يكون المبرمج الأفضل هو النموذج الذي يقل رفضه للمحتوى، لذا عامل الأسبوع الأول كتقييم.
الاستخدام القانوني هو مسؤوليتك. تزيل الأداة الاحتكاك عن العمل الأمني المشروع، والبحث، والهندسة غير المعتادة. إنها ليست ترخيصاً لمهاجمة الأنظمة التي لا تملكها.
استدعها من Python أو curl
أبسط اختبار هو طلب واحد. يطلب هذا البرنامج النصي بلغة Python أداة صغيرة ويطبع الإجابة.
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.2,
messages=[
{"role": "system", "content": "You are a senior engineer. Reply with code first, then at most five lines of notes."},
{"role": "user", "content": "Write a Python script that scans TCP ports 1-1024 on a host I own, using asyncio, with a 0.5 s timeout."},
],
)
print(resp.choices[0].message.content)
درجة الحرارة المنخفضة تناسب الكود. تعطي القيم بين 0.1 و 0.3 مخرجات أكثر استقراراً، ويسمح لك seed بتكرار التشغيل عند مقارنة الموجّهات. يبدو الطلب نفسه من سطر الأوامر كالتالي.
curl https://api.nofilterai.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"temperature": 0.2,
"messages": [
{"role": "user", "content": "Explain this regex and rewrite it without lookbehind: (?<=id=)\\d+"}
]
}'
يمكنك سرد ما تعرضه نقطة النهاية باستخدام GET /v1/models. احصل على مفتاح من صفحة المفاتيح؛ رصيد التجربة بنقرة واحدة بقيمة $0.50 يكفي لمئات الطلبات البرمجية الصغيرة.
الإعداد في Cursor
يتيح لك Cursor تجاوز عنوان URL الأساسي لـ OpenAI في إعدادات النموذج، وهي الطريقة التي توجهه بها إلى أي مزود متوافق. تختلف أسماء القوائم الدقيقة بين الإصدارات، لذا اتبع الفكرة بدلاً من التسميات.
- افتح إعدادات Cursor وابحث عن قسم النماذج.
- الصق مفتاحك في حقل مفتاح واجهة برمجة التطبيقات الخاص بـ OpenAI.
- فعّل خيار تجاوز عنوان URL الأساسي لـ OpenAI وأدخل
https://api.nofilterai.cc/v1. - أضف نموذجاً مخصصاً باسم
uncensoredوحدده في لوحة الدردشة. - أرسل رسالة اختبار صغيرة قبل محاولة تعديل عبر عدة ملفات.
قد تستخدم Cursor والمحررات المماثلة خوادمها الخاصة لبعض الميزات، وقد لا تقبل بعض الميزات النماذج المخصصة على الإطلاق. إذا فشلت ميزة، تحقق مما إذا كانت مرتبطة بنماذج البائع الخاصة به بدلاً من افتراض أن نقطة النهاية معطلة. الدردشة مع نموذج مخصص هي الجزء الموثوق.
تستخدم الأدوات الأخرى التي تقبل نقطة نهاية متوافقة مع OpenAI، مثل Continue أو Aider، نفس القيم الثلاثة: عنوان URL الأساسي، المفتاح، اسم النموذج.
استخدمه من LangChain
تأخذ فئة ChatOpenAI في LangChain وسيطة base_url، لذا يمكن دمج نقطة النهاية دون حاجة إلى غلاف مخصص.
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="uncensored",
base_url="https://api.nofilterai.cc/v1",
api_key="YOUR_KEY",
temperature=0.2,
)
print(llm.invoke("Write a bash one-liner that lists the 10 largest files under /var/log.").content)
تعمل السلاسل وقوالب الموجّه ومحللات المخرجات بنفس الطريقة التي تعمل بها مع أي نموذج دردشة يتبع مخطط OpenAI. إذا كنت تبني وكيلًا، فتذكر حدّ التوازي: المفتاح الكامل يسمح بـ 8 طلبات في نفس الوقت و300 في الدقيقة، بينما يسمح المفتاح التجريبي بـ 2 و60. سيحصل الوكيل المتوازي الذي يُوزّع عشر استدعاءات أدوات على خطأ HTTP 429 مع الرمز concurrency للطلبات الإضافية. قم بتقييد التوزيع، أو أعد المحاولة مع تأخير قصير.
استدعاء الدوال ووضع JSON للوكلاء
يعتمد وكلاء البرمجة على المخرجات المهيكلة. تدعم الـ API tools، وtool_choice، وtool_calls عبر البث المتدفق، مع إرسال نتائج الأدوات كرسائل role: "tool". إليك دورة عمل بسيطة لدالة تقرأ ملفاً.
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
tools = [{
"type": "function",
"function": {
"name": "read_file",
"description": "Read a UTF-8 text file from the project",
"parameters": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
},
}]
messages = [{"role": "user", "content": "Open main.py and tell me what it does."}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
messages.append(first.choices[0].message)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": open(json.loads(call.function.arguments)["path"]).read(),
})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)
افحص دائماً الحجج قبل تنفيذ أي شيء يطلبه النموذج. المسار أو سلسلة الأوامر أو عنوان URL القادم من نموذج هو مدخل غير موثوق، بغض النظر عن النموذج الذي أنشأه.
لإخراج يجب على كودك تحليله، اضبط response_format على {"type":"json_object"} واذكر في الموجّه المفاتيح التي تتوقعها. يجعل وضع JSON الرد بصيغة JSON صالحة، لكن فحوصات المخطط الخاص بك لا تزال تنتمي إلى كودك.
حجم السياق وتكلفة مكالمات البرمجة
النافذة تحتوي على 100,000 رمز للموجّه والرد معاً. كدليل تقريبي، يتسع ذلك للعديد من ملفات المصدر في وقت واحد، لذا يمكنك لصق وحدة برمجية واختباراتها وتتبع الأخطاء الفاشل دفعة واحدة بدلاً من تلخيصها. الطلبات الأكبر تكلفة أعلى، لذا أرسل ما تحتاجه المسألة فقط.
السعر هو $0.15 لكل 1M رمز مدخل و$0.50 لكل 1M رمز مخرج. أمثلة:
| طلب | مدخل | مخرج | التكلفة |
|---|---|---|---|
| شرح دالة | 1,500 | 500 | $0.000225 + $0.00025 = $0.000475 |
| مراجعة وحدة مع الاختبارات | 30,000 | 2,000 | $0.0045 + $0.001 = $0.0055 |
| 200 مراجعة مثل ذلك في يوم | 6,000,000 | 400,000 | $0.90 + $0.20 = $1.10 |
| النافذة الكاملة كمدخل، استدعاء واحد | 100,000 | 0 | $0.015 |
لا تُحسب الطلبات الفاشلة أو المرفوضة. الرصيد مسبق الدفع، لا ينتهي، وتتراوح عمليات شحن الرصيد بمبالغ صحيحة تتراوح بين $20 و$500، مع مكافأة بنسبة 5% من $50، و10% من $100، و15% من $200. الدفع بالعملات المشفرة فقط: USDT على TRC20 أو USDC على Base. يُرجى زيارة صفحة الأسعار لمعرفة الشروط الحالية.
موجّه مراجعة يعمل على الاختلافات الحقيقية
واحدة من أفضل استخدامات النافذة الكبيرة هي المراجعة. بدلاً من السؤال "هل هذا الكود جيد؟"، الصق الاختلاف والملفات التي يلمسها، ثم اطلب النتائج بشكل ثابت. اطلب قائمة مرقمة حيث يسمي كل عنصر الملف، السطر، المشكلة وإصلاحاً في سطر واحد، وقل أن القائمة الفكرة إجابة صالحة. هذه التعليمات الأخيرة مهمة: النموذج الذي يُطلب منه إيجاد مشاكل قد يخترعها أحياناً لإرضائك.
حافظ على درجة الحرارة قريبة من 0.2 للمراجعة، لأنك تريد نفس النتيجة في تشغيل ثانٍ. إذا قمت بتشغيل المراجعات في مهمة تكامل مستمر، اضبط seed وسجل رأس X-Request-Id حتى تتمكن من تتبع نتيجة مفاجئة لاحقاً. اجمع هذا مع وضع JSON عندما يجب على نص برمجي نشر النتائج في مكان ما، واطلب مفاتيح مثل file، line، severity وfix.
عندما تكون الإجابة خاطئة أو فارغة
ثلاث مشاكل تغطي معظم التشغيلات الفاشلة. إذا حصلت على 401، المفتاح مفقود أو الرأس ليس Authorization: Bearer متبوعاً بمفتاحك. إذا قال محرر أن النموذج غير موجود، تحقق من أن الاسم هو بالضبط uncensored وأن عنوان URL الأساسي ينتهي بـ /v1 بدون مسار إضافي. إذا كان الكود يُترجم بنجاح لكنه يتصرف بشكل خاطئ، أعط النموذج المخرجات الفاشلة واطلب منه شرح الخطأ قبل إعادة كتابة أي شيء؛ الإصلاحات التي تتم بعد التشخيص تميل إلى أن تكون أصغر وأكثر أماناً من الإصلاحات التي تتم بشكل أعمى.
أين يناسب وأين لا يناسب
استخدم نقطة النهاية uncensored للطلبات التي ترفضها أو تحجج بها المساعدين الآخرين، واحتفظ بأداتك المعتادة للباقي إذا كانت تعمل بشكل أفضل لك. العديد من المطورين يشغلون نموذجين جنباً إلى جنب ويرسلون كل مهمة إلى أي منهما يجيب عليها بشكل نظيف.
- مناسب جيدًا: أعمال مختبر الأمان على الأنظمة التي تمتلكها، وأدوات استخراج البيانات والبرامج النصية للأتمتة، وكتابة تقارير تحليل البرمجيات الخبيثة للدفاعيين، وملاحظات هندسة العكس، ومهام معالجة البيانات الغريبة.
- كن حذراً: الكود المولد يمكن أن يحتوي على أخطاء أو دوال مكتبة مخترعة. شغله، اختبره، اقرأه.
- غير مقدم: توليد الصور أو الصوت، التضمينات والتدريب الدقيق. هذه نقطة نهاية دردشة نصية فقط.
- الخصوصية: لا تُستخدم الموجّهات للتدريب، وهو أمر مهم إذا لصقت كوداً ملكية.
حدّ حجم جسم الطلب (body) هو 8 ميجابايت لكل طلب، وهو أكبر بكثير مما يمكن أن تستخدمه نافذة السياق. تتضمن رؤوس الاستجابة X-Request-Id، وX-Balance-USD، وقيم حدّ المعدل، وهي مفيدة في السجلات. تذكر الوثائق كل معلمة يتم تمريرها.
المزيد من الأدلة
أسئلة وأجوبة
هل يعد مبرمج الذكاء الاصطناعي بدون مرشحات أفضل في البرمجة من النماذج الأخرى؟
ليس افتراضياً. قلّة حالات الرفض تغيّر ما سيجيب به، وليس مدى جودة البرمجة. اختبره في مهامك الخاصة قبل الاعتماد عليه.
أي محررات وأطر عمل تعمل معه؟
أي شيء يسمح بـ Base URL متوافق مع OpenAI، ومفتاح واسم نموذج. Cursor وLangChain وSDKs الرسمية من OpenAI هي أمثلة شائعة.
هل يدعم استدعاء الدوال؟
نعم. يقبل الأدوات وtool_choice، ويعيد tool_calls (حتى عند البث المتدفق)، ويقبل النتائج كرسائل role: tool. وضع JSON متاح أيضاً.
ماذا يحدث عند الوصول إلى حدّ المعدل؟
تحصل على HTTP 429 مع رمز الخطأ rate_limited أو concurrency. في حالات الحمل الزائد المؤقت، يحمل 429 رأس Retry-After لمدة 5 ثوانٍ.
مفتاحك على بُعد استمارة واحدة
أنشئ حساباً، وانسخ المفتاح، ثم غيّر URL الأساسي. هذه هي الإعدادات الكاملة.