TH ▾

abliteratedmodels.ccAPI สำหรับนักพัฒนาแบบ uncensored

Abliterated
รับคีย์ API

โมเดล Abliterated ที่ดีที่สุดสำหรับการเขียนโค้ด: สิ่งที่ต้องพิจารณา

โมเดล abliterated ที่ดีที่สุดสำหรับการเขียนโค้ดคือโมเดลที่ยังเขียนโค้ดได้ดีหลังจากการปฏิเสธหายไป และคุณต้องบอกได้โดยการทดสอบกับงานของคุณเอง นี่คือวิธีตัดสินพวกมัน จุดที่การปฏิเสธสร้างปัญหาให้นักพัฒนา และวิธีรันการทดสอบผ่าน API

เทอร์มินัลเหนือบล็อกโค้ดพร้อมประตูที่เปิดและแสงที่ไหลเวียน แทนการช่วยเหลือการเขียนโค้ดแบบไม่มีข้อจำกัด

สิ่งที่ทำให้โมเดลเขียนโค้ดดีเมื่อลบการปฏิเสธออก

โมเดลที่ไม่ปฏิเสธเลยสร้างได้ง่าย โมเดลที่ไม่ปฏิเสธและยังเขียนโค้ดถูกต้องได้ยากกว่า เพราะการแก้ไขที่ลบข้อปฏิเสธอาจทำให้ทักษะอื่นๆ ของโมเดลลดลง คำถามที่มีประโยชน์จึงไม่ใช่ "รายชื่อที่ยาวที่สุด" แต่ "การ build ที่คงความสามารถการเขียนโค้ดของโมเดลฐานไว้ครบ"

นั่นคือสิ่งที่คุณต้องตรวจสอบ 4 อย่าง เรียงตามความสำคัญ:

  1. ความถูกต้องในงานของคุณ โค้ดรันผ่าน ทดสอบผ่าน และปฏิบัติตามข้อตกลงของคุณหรือไม่?
  2. การปฏิบัติตามคำสั่ง หากคุณขอเฉพาะ diff คุณจะได้เฉพาะ diff ใช่หรือไม่? มันเคารพเวอร์ชันภาษาและไลบรารีที่คุณระบุหรือไม่?
  3. การจัดการบริบท มันสามารถอ่านไฟล์ขนาดใหญ่หลายไฟล์พร้อมกันและติดตามชื่อฟังก์ชันข้ามไฟล์เหล่านั้นได้หรือไม่?
  4. อัตราการปฏิเสธในพรอมต์ที่คุณส่งจริง นี่คือเหตุผลที่ต้องดูโมเดล abliterated ดังนั้นให้วัดค่านี้โดยตรง

ระวังหน้าเว็บที่จัดอันดับโมเดลด้วยคะแนนเดียวโดยไม่แสดงพรอมต์ แลดเดอร์บอร์ดบอกคุณเกี่ยวกับภาระงานของคนอื่น

จุดที่การปฏิเสธส่งผลกระทบต่อนักพัฒนา

คำขอเขียนโค้ดส่วนใหญ่ไม่กระตุ้นตัวกรอง คำขอที่กระตุ้นมักมีรูปแบบเดียวกัน: โค้ดเป็นกลาง แต่หัวข้อดูมีความเสี่ยง

  • การทดสอบความปลอดภัย เครื่องสแกนพอร์ต fuzzer, exploit แบบ proof-of-concept สำหรับช่องโหว่ที่คุณกำลังแพตช์ หรือสคริปต์ตรวจสอบเซิร์ฟเวอร์ของคุณเองเพื่อหารหัสผ่านที่อ่อนแอ
  • วิศวกรรมย้อนกลับ อธิบายการ disassembly แกะสคริปต์ที่ถูกทำให้อ่านยาก (obfuscated)ที่คุณพบบนเครื่องของคุณ หรือทำงานเกี่ยวกับรูปแบบไฟล์
  • การสเครปข้อมูลและระบบอัตโนมัติ หมุนเซสชัน วิเคราะห์ไซต์ที่ขัดขวางบอต กรอกฟอร์มจำนวนมากสำหรับงานที่ถูกต้องตามกฎหมาย
  • การวิเคราะห์มัลแวร์ การอ่านตัวอย่างเพื่อเขียนกฎการตรวจจับหมายถึงการสนทนาเกี่ยวกับสิ่งที่มันทำ บรรทัดต่อบรรทัด
  • เครื่องมือข้อมูลสำหรับข้อความละเอียดอ่อน การสร้างคลาสซิไฟเออร์หรือชุดทดสอบสำหรับเนื้อหาที่เป็นอันตราย ซึ่งข้อมูลทดสอบเองก็ดูไม่ดี
  • เครื่องมือเกมและนิยาย สร้างบทสนทนา ข้อความเควสต์ หรือแผ่นตัวละครสำหรับเรื่องราวสำหรับผู้ใหญ่ที่มีธีมมืด

ในกรณีแต่ละครั้ง การปฏิเสธทำให้เสียคำขอ และการเทศนาเรื่องจริยธรรมอย่างสุภาพทำให้เสียโทเคนที่คุณจ่ายค่า โมเดลที่ไม่มีคำปฏิเสธเหล่านั้นช่วยประหยัดการลองใหม่และการเขียนใหม่ เป็นเหตุผลที่ต้องการหนึ่งตัว ไม่ใช่เหตุผลที่จะหยุดคิด: คุณยังคงรับผิดชอบในสิ่งที่คุณสร้างและรัน บริการนี้ไว้สำหรับการใช้งานที่ถูกกฎหมายของผู้ใหญ่

สิ่งที่ API นี้ให้คุณ

คุณไม่ได้เลือกจากแค็ตตาล็อกที่นี่ API นี้ให้บริการโมเดลแบบเปิดน้ำหนักหนึ่งโมเดล โดยผู้ให้บริการอิสระและปรับแต่งเพื่อตอบโดยไม่มีการปฏิเสธเนื้อหา ไม่ใช่ API ทางการของซัพพลายเออร์โมเดลใด ๆ และไม่ใช่ตัวเปลี่ยนเส้นทางข้ามหลายโมเดล หากการค้นหาของคุณสำหรับโมเดลเขียนโค้ดแบบไม่เซ็นเซอร์จบลงด้วยรายชื่อตัวเลือกยาวๆ ที่คุณต้องการสลับไปมา นี่ไม่ใช่บริการแบบนั้น หากจบลงด้วย "ฉันต้องการโมเดลหนึ่งตัวที่ไม่มีตัวกรอง ผ่านเอนด์พอยต์สไตล์ OpenAI" นี่คือบริการนั้น

ข้อเท็จจริงที่สำคัญต่อนักพัฒนา:

  • หน้าต่างบริบท 100,000 โทเคนสำหรับพรอมต์รวมกับการสร้างข้อความ เพียงพอสำหรับไฟล์ต้นฉบับหลายไฟล์และการสนทนาที่ยาวนาน
  • สตรีมมิงผ่าน SSE การเรียกใช้ฟังก์ชัน และโหมด JSON ทั้งหมดในรูปแบบ OpenAI
  • temperature, top_p, stop, seed และค่าปรับจะถูกส่งผ่าน
  • คีย์เต็มรูปแบบอนุญาตให้ทำคำขอพร้อมกัน 8 คำขอและ 300 คำขอต่อนาที
  • ข้อความเท่านั้น ไม่มี embeddings ไม่มีการสร้างภาพ ไม่มี fine-tuning

เอกสารประกอบ ระบุพารามิเตอร์และส่วนหัวของคำตอบทั้งหมด

รันการทดสอบเขียนโค้ดในสิบนาที

สร้างชุดทดสอบขนาดเล็กจากงานที่คุณทำไว้แล้ว: 5 ถึง 10 งานที่มีคำตอบที่ถูกต้องชัดเจน เช่น บั๊กที่คุณแก้ไขเมื่อเดือนที่แล้ว ฟังก์ชันที่มีเทสต์ และหนึ่งพรอมต์ที่โมเดลแบบ aligned ที่โฮสต์ไว้ปฏิเสธ จากนั้นรันทั้งหมดผ่านเอนด์พอยต์ด้วยอุณหภูมิต่ำเพื่อให้ผลลัพธ์สามารถทำซ้ำได้

from openai import OpenAI

client = OpenAI(
    base_url="https://api.abliteratedmodels.cc/v1",
    api_key="YOUR_KEY",
)

SYSTEM = (
    "You are a senior engineer. Reply with code only, in one fenced block, "
    "then at most three lines of notes."
)

tasks = [
    "Write a Python function that parses a CIDR string and lists usable hosts.",
    "Write a Bash one-liner that finds open ports on 192.168.1.10 using only /dev/tcp.",
    "Explain what this regex does and where it backtracks badly: ^(a+)+$",
]

for prompt in tasks:
    r = client.chat.completions.create(
        model="uncensored",
        temperature=0.2,
        seed=7,
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": prompt},
        ],
    )
    print("=" * 60)
    print(prompt)
    print(r.choices[0].message.content)
    print("tokens:", r.usage.prompt_tokens, r.usage.completion_tokens)

ใช้พรอมต์และ seed เดียวกันเมื่อคุณเปรียบเทียบผลลัพธ์กับสิ่งอื่น ให้คะแนนแต่ละคำตอบโดยการรัน ไม่ใช่โดยการอ่าน หากดูแค่ข้อความ คำตอบที่ผิดแต่ดูมั่นใจจะชนะ

การใช้งานภายในโปรแกรมแก้ไขและเอเจนต์ของคุณ

เนื่องจากเอนด์พอยต์ใช้โปรโตคอล OpenAI เครื่องมือเขียนโค้ดส่วนใหญ่จึงสามารถใช้ได้โดยไม่ต้องใช้ปลั๊กอิน ในโปรแกรมแก้ไขและเอเจนต์ที่ยอมรับผู้ให้บริการที่เข้ากันได้กับ OpenAI เช่น Cline หรือ Continue ให้ตั้งค่า Base URL เป็น https://api.abliteratedmodels.cc/v1 วางคีย์ API ของคุณ และป้อน uncensored เป็นชื่อโมเดล ตรวจสอบหน้าการตั้งค่าของเครื่องมือแต่ละรายการสำหรับชื่อฟิลด์ที่ถูกต้อง เนื่องจากเปลี่ยนไประหว่างเวอร์ชัน

สำหรับตัวช่วยบรรทัดคำสั่ง aider ให้ตั้งค่าเอนด์พอยต์ผ่านตัวแปรสภาพแวดล้อมและเติมหน้าโมเดลด้วย openai/:

export OPENAI_API_BASE=https://api.abliteratedmodels.cc/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/uncensored

การตั้งค่าสองอย่างช่วยกับลูปเอเจนต์ ให้จำนวนคำขอพร้อมกัน (concurrency) ไม่เกิน 8 เนื่องจากคำขอพร้อมกันครั้งที่เก้าจะส่ง HTTP 429 พร้อมรหัสข้อผิดพลาด concurrency และจำไว้ว่าคำขอสตรีมมิงจะครอบครองช่อง concurrencyจนกว่าสตรีมจะสิ้นสุด ดังนั้นสตรีมที่ติดขัดในเครื่องมือหนึ่งอาจทำให้เครื่องมืออื่นขาดแคลนทรัพยากร

นิสัยการเขียนพรอมต์ที่ช่วยปรับปรุงคุณภาพโค้ด

ไม่ว่าคุณจะเลือกโมเดลใด วิธีที่คุณถามจะเป็นตัวกำหนดผลลัพธ์ส่วนใหญ่ นิสัยเหล่านี้สำคัญมากขึ้นเมื่อโมเดลหยุดปฏิเสธ เพราะมันจะพยายามตอบทุกคำถาม รวมถึงคำขอที่ระบุไม่ชัดเจน

  • ระบุภาษาและเวอร์ชัน "Python 3.11 ใช้เฉพาะไลบรารีมาตรฐาน" ขจัดปัญหาการนำเข้าที่ผิดไปทั้งคลาส
  • ให้อินเทอร์เฟซก่อน วางลายเซ็นฟังก์ชัน ชนิดข้อมูล และการเรียกตัวอย่างหนึ่งครั้ง จากนั้นโมเดลจะปรับคำตอบให้เข้ากับโค้ดของคุณแทนที่จะสร้างรูปแบบของตัวเอง
  • ขอ diff หรือไฟล์เดียว คำขอแบบเปิดกว้างให้คำตอบยาวที่คุณจ่ายตามโทเคนเอาต์พุตที่ $0.50 ต่อล้าน
  • รักษาอุณหภูมิให้ต่ำสำหรับโค้ด ค่าระหว่าง 0 ถึง 0.3 ให้ผลลัพธ์ที่เสถียรกว่า เพิ่ม seed เมื่อคุณต้องการทำซ้ำผลลัพธ์
  • ใช้ลำดับ stop หากคุณต้องการเฉพาะบล็อกโค้ด ให้หยุดที่เครื่องหมายปิดเพื่อให้โมเดลไม่เพิ่มคำอธิบาย
  • ส่งเอาต์พุตที่เกิดข้อผิดพลาด สำหรับข้อบกพร่อง ให้รวม traceback และบรรทัดที่มันชี้ไป วิธีนี้ดีกว่าคำอธิบายใดๆ

ข้อความระบบสั้นๆ ที่ระบุบทบาทและรูปแบบเอาต์พุต เหมือนในสคริปต์ทดสอบข้างต้น มักจะทำได้ดีกว่าข้อความยาว เนื่องจากข้อความระบบถูกคิดเป็นอินพุตในทุกคำขอ ความกระชับจึงช่วยประหยัดเงินได้ตลอดเซสชันที่ยาวนาน

ตรวจสอบคำตอบก่อนรวมโค้ด

โมเดลที่ไม่มีข้อจำกัดสามารถเขียนบั๊กที่ดูมั่นใจได้ไม่ต่างจากโมเดลที่จัดแนว รันเทสต์ อ่าน diff สำหรับโค้ดที่เข้าถึง secrets การอนุญาต การลบไฟล์ หรือการเข้าถึงเครือข่าย ให้ตรวจสอบสองครั้งและรันใน sandbox หรือ container ชั่วคราวก่อน คุณจ่ายค่าโทเคนอยู่แล้วไม่ว่าจะตรวจสอบหรือไม่ การตรวจสอบคือสิ่งที่ปกป้องระบบของคุณ

ต้นทุนงานเขียนโค้ด

ราคาอยู่ที่ $0.15 ต่อล้านโทเคนอินพุต และ $0.50 ต่อล้านโทเคนเอาต์พุต ซึ่งหักจากเครดิตแบบเติมเงินล่วงหน้า งานเขียนโค้ดมีปริมาณอินพุตสูง เพราะคุณส่งโค้ดไปและได้รับโค้ดที่แก้ไขซึ่งมีขนาดเล็กลง ซึ่งเหมาะกับโครงสร้างราคานี้ ตัวอย่างการคำนวณ:

งานโทเคน inputโทเคน outputต้นทุน
รีวิวไฟล์ขนาด 8,000 โทเคน8,0001,000$0.0012 + $0.0005 = $0.0017
สร้างฟังก์ชันขนาด 600 โทเคน1,500600$0.000225 + $0.0003 = $0.000525
เติมเต็มหน้าต่าง 100,000 โทเคนทั้งหมด ตอบกลับ 2,000 โทเคน98,0002,000$0.0147 + $0.001 = $0.0157

เอเจนต์ที่ทำการเรียกใช้ 20 ครั้งพร้อมหน้าต่างบริบท 50,000 โทเคนต่อการเรียก ใช้โทเคนอินพุตรวม 1,000,000 โทเคน ซึ่งคิดเป็น $0.15 บวกกับโทเคนเอาต์พุตประมาณ 10,000 โทเคนที่ $0.005 เซสชันทั้งหมดมีค่าใช้จ่ายประมาณ $0.155 การรีวิวไฟล์ 1,000 ไฟล์ตามขนาดแถวแรกมีค่าใช้จ่าย $1.70 ต้นทุนการทดลองมีน้อย; ต้นทุนที่สำคัญคือเวลาที่คุณใช้ตรวจสอบผลลัพธ์ คำขอที่ล้มเหลวหรือถูกปฏิเสธไม่มีการเรียกเก็บเงิน

รายละเอียดเต็ม รวมถึงจำนวนเงินเติมเงินตั้งแต่ $20 ถึง $500 และโบนัสที่ $50, $100 และ $200 มีอยู่ที่ หน้าราคา

ขีดจำกัดที่คุณควรรู้ก่อนตัดสินใจ

ซื่อสัตย์กับตัวเองเกี่ยวกับวัตถุประสงค์ของโมเดลแบบไม่เซ็นเซอร์ มันจะไม่เป็นโปรแกรมเมอร์ที่ดีกว่าโมเดลฐาน และโมเดลที่มีข้อจำกัดน้อยลงอาจกระตือรือร้นเกินไป: มันจะผลิตโค้ดที่ไม่ปลอดภัยหรือทำงานภายใต้สมมติฐานที่ผิดอย่างง่ายดาย ให้ตรวจสอบโค้ดที่สร้างขึ้นเหมือนที่คุณตรวจสอบจากเพื่อนร่วมงานมือใหม่ โดยเฉพาะส่วนที่เข้าถึงการตรวจสอบสิทธิ์ การลบไฟล์ หรือการเงิน

นอกจากนี้ ให้วางแผนสำหรับขีดจำกัดของบริการด้วย เนื้อหาคำขอ (body) ที่ใหญ่กว่า 8 MB จะถูกปฏิเสธ และคีย์ทดลองถูกจำกัดที่ 2 คำขอพร้อมกันและ 60 ต่อนาที ซึ่งเพียงพอสำหรับการทดสอบแต่ไม่เพียงพอสำหรับงานแบทช์ เมื่อคุณเห็น HTTP 429 พร้อมเฮดเดอร์ Retry-After: 5 ผู้ให้บริการโหลดเกินชั่วคราว; ให้รอและลองอีกครั้ง หน้าที่เกี่ยวข้องกับ ต้นทุนและการควบคุมของ LLM API แบบไม่เซ็นเซอร์ ครอบคลุมวิธีการที่สิ่งนี้เข้ากันกับทางเลือกที่โฮสต์แบบจัดแนว

เพื่อลองใช้งาน ให้ขอเครดิตทดลองใช้ $0.50 จาก หน้าคีย์ API หลังจากสมัครสมาชิก มันไม่ต้องการบัตร ใช้ได้ 7 วัน และจำกัดเพียงหนึ่งต่อบุคคล

ถาม-ตอบ

โมเดล Abliterated แบบใดดีที่สุดสำหรับการเขียนโค้ด?

ไม่มีคำตอบสากลที่ตรงไปตรงมา เนื่องจากผลลัพธ์ขึ้นอยู่กับภาษาและงานของคุณ สร้างชุดทดสอบขนาดเล็กจากงานของคุณเองและเปรียบเทียบตัวเลือกต่างๆ บนชุดนั้น API นี้ให้บริการโมเดลเพียงตัวเดียว ดังนั้นคุณจึงทดสอบโมเดลนั้น

โมเดล Abliterated จะเขียนโค้ดได้แย่ลงหรือไม่?

เป็นไปได้ เนื่องจากการนำการปฏิเสธออกอาจทำให้คุณภาพทั่วไปลดลงเล็กน้อย ว่าสิ่งนั้นสำคัญสำหรับคุณหรือไม่จะปรากฏขึ้นอย่างรวดเร็วในการทดสอบที่รันโค้ดที่สร้างขึ้นมา

ฉันสามารถใช้กับผู้ช่วยเขียนโค้ด AI ในโปรแกรมแก้ไขของฉันได้หรือไม่

ได้ หากเครื่องมือรองรับ endpoint ที่เข้ากันได้กับ OpenAI แบบกำหนดเอง ให้ป้อน base URL คีย์ของคุณและชื่อโมเดล uncensored

ฉันส่งบริบทได้มากแค่ไหน?

หน้าต่างมี 100,000 โทเคน ซึ่งใช้ร่วมกันระหว่างพรอมต์ของคุณและการตอบกลับ พรอมต์เต็มขนาดนั้นมีต้นทุนอินพุตมากกว่าหนึ่งเซนต์เล็กน้อย

คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว

สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด

รับคีย์ API