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

ประเด็นสำคัญ
- การสวมบทบาทขาดความต่อเนื่องเมื่อโมเดลปฏิเสธหรือสอนระหว่างฉาก ดังนั้นพฤติกรรมการปฏิเสธจึงสำคัญกว่าคะแนนแบงช์มาร์กดิบ
- หน้าต่างบริบทขนาด 100,000 โทเคนรองรับการ์ดตัวละครยาวพร้อมประวัติแชทหลายชั่วโมง
- SillyTavern เชื่อมต่อผ่านซอร์สที่เข้ากันได้กับ OpenAI โดยกำหนด base URL, คีย์ API และ model ID
uncensored - เซสชัน 50 เทิร์นที่มีค่าเฉลี่ยพรอมต์ 6,000 โทเคน มีค่าใช้จ่ายประมาณ $0.05
สิ่งที่ทำให้โมเดลเก่งด้านการสวมบทบาท
การสวมบทบาทเป็นข้อทดสอบที่หนักหนาสำหรับโมเดลภาษา โมเดลต้องรักษาเสียงพูดไว้ตลอดหลายร้อยข้อความ จดจำสิ่งที่เกิดขึ้นในฉากก่อนหน้า ยึดตัวละครไว้แม้เนื้อเรื่องจะมืดลง และไม่ก้าวออกมาอธิบายตัวเอง โมเดลผู้ช่วยมาตรฐานมักล้มเหลวในจุดสุดท้ายที่สุด มันเขียนย่อหน้าได้ดี แต่เพิ่มคำเตือนหรือปฏิเสธการพลิกผันพล็อตที่เป็นการแต่งขึ้นอย่างชัดเจน
โมเดลที่ผ่านการลบการเซ็นเซอร์หรือ uncensored ถูกปรับแต่งเพื่อขจัดการปฏิเสธเหล่านั้น ซึ่งช่วยได้ แต่เป็นเพียงหนึ่งในห้าคุณสมบัติที่ควรตรวจสอบก่อนตัดสินใจใช้บริการผู้ให้บริการ:
- พฤติกรรมการปฏิเสธ มันปฏิบัติตามบทพูดของตัวร้ายหรือฉากสีเทาทางศีลธรรมโดยไม่มีคำอธิบายประกอบหรือไม่?
- ความยาวของบริบท การ์ดตัวละคร หมายเหตุโลก และประวัติแชทสามารถรวมอยู่ในคำขอเดียวได้หรือไม่
- ความสม่ำเสมอ ตัวละครรักษาพฤติกรรมการพูดเดิมตลอดเซสชันที่ยาวนานหรือไม่
- การควบคุมการสุ่มตัวอย่าง คุณสามารถปรับ temperature, top_p, ค่าปรับ และลำดับหยุดได้หรือไม่
- สตรีมมิง ข้อความปรากฏทีละโทเคน เพื่อให้การตอบกลับรู้สึกเหมือนการสนทนา
ไม่มีใครสามารถระบุผู้ชนะเพียงรายเดียวสำหรับทุกสไตล์เรื่องราวได้อย่างตรงไปตรงมา รสนิยมมีบทบาท และนักเขียนสองคนอาจจัดอันดับโมเดลเดียวกันแตกต่างกัน คำตอบในทางปฏิบัติคือรันฉากของคุณเองผ่านตัวเลือกและตัดสินผลลัพธ์ด้วยตนเอง
สิ่งที่ API นี้มอบให้คุณสำหรับการสวมบทบาท
บริการรันโมเดลแบบเปิดน้ำหนักหนึ่งตัว โดยผู้ให้บริการอิสระและปรับแต่งให้ตอบโดยไม่ปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย รหัสโมเดลคือ uncensored ไม่มี routing ระหว่างผู้ให้บริการ ดังนั้นเสียงที่คุณทดสอบในวันจันทร์คือเสียงที่คุณได้รับในวันศุกร์
| ความต้องการสำหรับการสวมบทบาท | สิ่งที่คุณได้รับ |
|---|---|
| ความจำยาว | หน้าต่างบริบท 100,000 โทเคน รวมพรอมต์และการสร้างข้อความ |
| เอฟเฟกต์การพิมพ์แบบเรียลไทม์ | สตรีมมิงผ่าน SSE พร้อม stream: true |
| การควบคุมสไตล์ | temperature, top_p, stop, seed และค่าปรับทั้งสองถูกส่งผ่าน |
| การรองรับไคลเอนต์ | รองรับรูปแบบ OpenAI ทำให้ SillyTavern และเครื่องมือคล้ายกันทำงานได้ด้วยการเปลี่ยน URL |
| ความเป็นส่วนตัว | พรอมต์ไม่ถูกใช้ในการฝึกฝน |
มีข้อจำกัดที่เข้มงวดหนึ่งข้อซึ่งไม่สามารถเจรจาได้: ไม่มีเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ รักษาตัวละครและสถานการณ์ของคุณให้อยู่ในขอบเขตที่ถูกต้องและการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย รายละเอียดของตระกูลโมเดลอยู่ที่ หน้าโมเดลที่ลบการเซ็นเซอร์แล้ว
เชื่อมต่อ SillyTavern ในห้าขั้นตอน
SillyTavern สามารถทำงานกับเอนด์พอยต์ที่เข้ากันได้กับ OpenAI ได้ ป้ายเมนูอาจเปลี่ยนไปบ้างระหว่างเวอร์ชัน แต่ขั้นตอนการทำงานจะเหมือนกัน
- สร้างบัญชีและรับคีย์ API ของคุณที่หน้า คีย์ API ผู้ใช้ใหม่สามารถรับเครดิตทดลองใช้ฟรีมูลค่า $0.50 ได้ด้วยการคลิกเพียงครั้งเดียว ใช้ได้เป็นเวลา 7 วัน ไม่ต้องใช้บัตร
- ใน SillyTavern เปิดไอคอนปลั๊ก (API Connections) และตั้งค่าประเภท API เป็น Chat Completion
- เลือกแหล่งข้อมูล Custom (OpenAI-compatible)
- ป้อน
https://api.abliterated.cc/v1เป็น URL ของ endpoint และวางคีย์ API ของคุณลงในช่อง API key - พิมพ์
uncensoredเป็น model ID จากนั้นกด Connect สถานะสีเขียวหมายถึงคำขอไปยัง/v1/modelsสำเร็จ
หากการเชื่อมต่อล้มเหลว ให้ตรวจสอบ URL ก่อน ต้องลงท้ายด้วย /v1 โดยไม่มีเส้นทางต่อท้ายและไม่มี /chat/completions เพิ่มเข้ามา ไคลเอนต์จะเพิ่มส่วนนั้นเอง
การตั้งค่าเริ่มต้นที่แนะนำ
Temperature ระหว่าง 0.8 ถึง 1.0 ให้บทประพันธ์ที่มีชีวิตชีวา เก็บ top_p ไว้ใกล้ 0.9 เพิ่ม frequency penalty เล็กน้อย ประมาณ 0.2 หากคำตอบเริ่มทำซ้ำประโยคเดียวกัน ตั้งขนาดบริบทให้ใกล้กับหน้าต่างจริง แต่เหลือพื้นที่สำหรับคำตอบ จากนั้นปรับตามความรู้สึกหลังจากเล่นไม่กี่ฉาก
สร้างลูปการสวมบทบาทของคุณเองใน Python
หากคุณเขียนฟรอนต์เอนด์ของตัวเองหรือบอท Discord SDK ของ OpenAI ก็เพียงพอแล้ว สคริปต์นี้เก็บประวัติทั้งหมด สตรีมคำตอบ และหยุดโมเดลจากการเขียนแทนคุณ
from openai import OpenAI
client = OpenAI(
base_url="https://api.abliterated.cc/v1",
api_key="YOUR_KEY",
)
system = (
"You are Mara, a smuggler captain in a sea-faring fantasy setting. "
"Write in third person, past tense, two short paragraphs per reply. "
"Never write the actions or words of the player character."
)
history = [{"role": "system", "content": system}]
while True:
user = input("> ")
history.append({"role": "user", "content": user})
stream = client.chat.completions.create(
model="uncensored",
messages=history,
temperature=0.9,
top_p=0.9,
frequency_penalty=0.2,
stop=["\nPlayer:"],
stream=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)
print()
history.append({"role": "assistant", "content": reply})
การเรียกใช้แบบเดียวกันนี้ใช้ได้จาก Node, curl หรือไคลเอนต์ OpenAI อื่นๆ เพียงแต่ base URL, คีย์ และ model ID เท่านั้นที่เปลี่ยน หน้า quickstart ในเอกสาร แสดงแต่ละรูปแบบ
เขียนการ์ดตัวละครที่โมเดลสามารถปฏิบัติตามได้
ปัญหาคุณภาพการสวมบทบาทส่วนใหญ่เป็นปัญหาเกี่ยวกับพรอมต์ การ์ดที่คลุมเครือจะทำให้ตัวละครดูคลุมเครือ การ์ดที่ดีควรมีขนาด 300 ถึง 600 โทเคน และครอบคลุมสี่สิ่ง: ตัวละครคือใคร พูดอย่างไร ตอนนี้ต้องการอะไร และต้องไม่ทำอะไร
ความชัดเจนสำคัญกว่าความงดงาม เปรียบเทียบ "Mara ลึกลับและอันตราย" กับ "Mara ตอบคำถามด้วยคำถาม ไม่เคยให้ชื่อจริงกับคนแปลกหน้า และวางมือข้างหนึ่งไว้ใกล้มีดเมื่อมีใครยืนอยู่เบื้องหลัง" บรรทัดที่สองให้พฤติกรรมที่โมเดลสามารถทำซ้ำได้ในการตอบกลับทุกครั้ง
- ตัวอย่างเสียง เพิ่มตัวอย่างบทสนทนาสองหรือสามบรรทัด โมเดลเลียนแบบจังหวะและคำศัพท์จากตัวอย่างได้เชื่อถือได้มากกว่าจากคำคุณศัพท์
- กฎรูปแบบ ระบุบุรุษ กาล ความยาว และการใช้เครื่องหมายดอกจันสำหรับการกระทำ โมเดลเบี่ยงเบนจากการจัดรูปแบบหากไม่ได้บอกให้ชัดเจนเพียงครั้งเดียว
- สถานะฉาก วางสถานที่ เวลาปัจจุบัน และเส้นเรื่องที่ยังเปิดค้างไว้ใกล้ท้ายพรอมต์ ซึ่งข้อมูลล่าสุดจะมีอิทธิพลมากที่สุด
- ขอบเขต หากเรื่องราวเกี่ยวข้องกับเฉพาะผู้ใหญ่ ให้ระบุไว้ในการ์ด บรรทัดเช่น "ตัวละครทั้งหมดเป็นผู้ใหญ่" จะทำให้การตั้งค่าชัดเจนสำหรับคุณและสำหรับทุกคนที่อ่านบันทึก
แก้ไขตัวละครที่จืดชืด วนซ้ำ หรือเซ้าซี้
นี่คือปัญหาที่ปรากฏขึ้นหลังจากชั่วโมงแรก พร้อมวิธีแก้ไขทั่วไป
ตัวละครทำซ้ำตัวเอง
ประโยคกลับมาปรากฏทุกไม่กี่คำตอบ ให้เพิ่ม frequency_penalty เป็น 0.3 และ presence_penalty เป็น 0.1 ปรับ temperature ขึ้น 0.1 และตรวจสอบว่าบทสรุปหรือตัวอย่างบทสนทนาของคุณไม่ได้มีประโยคนั้นอยู่ โมเดลจะเลียนแบบสิ่งที่เห็น
การตอบกลับยาวขึ้นเรื่อยๆ
การตอบกลับที่ยาวจะสอนให้โมเดลเข้าใจว่าการตอบกลับที่ยาวเป็นเรื่องปกติ ให้ตัดการตอบกลับบางส่วนออกจากประวัติ แล้วกำหนดกฎความยาวใหม่ พร้อมตั้งค่า max_tokens เป็นค่าสูงสุดที่คุณยอมรับ ฟิลด์นี้เป็นตัวเลือก ดังนั้นจะทำงานเป็นค่าจำกัดเฉพาะเมื่อคุณตั้งค่าเท่านั้น
โมเดลตัดสินใจการกระทำของตัวละคร
เพิ่มกฎบังคับในข้อความระบบและลำดับหยุดที่ส่วนนำหน้าชื่อตัวละครของคุณ ตามตัวอย่างในสคริปต์ด้านบน หากคุณใช้เฟรมเอนด์ ให้ตรวจสอบว่าเฟรมเอนด์จัดรูปแบบประวัติด้วยแท็กชื่อเดียวกัน
เนื้อเรื่องติดขัด
กำหนดเป้าหมายและเวลาจำกัดให้ตัวละคร "เธอต้องได้แผนที่ก่อนที่น้ำจะขึ้น" จะทำให้เกิดการเคลื่อนไหว ตัวละครที่ไม่มีสิ่งที่ต้องการจะรอให้คุณกระทำ และฉากจะขาดความมีชีวิตชีวา
รักษาความสอดคล้องของเรื่องราวที่ยาว
หน้าต่างบริบทขนาด 100,000 โทเคนนั้นใหญ่ แต่แคมเปญที่ยาวหลายเดือนจะเกินขอบเขตนั้น วางแผนสำหรับปัญหานี้ตั้งแต่เนิ่นๆ
- ตรึงส่วนสำคัญไว้ เก็บการ์ดตัวละครและเป้าหมายของฉากปัจจุบันไว้ที่ด้านบนของข้อความระบบ ซึ่งจะไม่ถูกตัดออก
- สรุปการสนทนาเก่า ทุกๆ 30 หรือ 40 ข้อความ ให้โมเดลสรุปส่วนเก่าที่สุดของแชทให้เป็นบทสรุปสั้นๆ แล้วแทนที่ข้อความเหล่านั้นด้วยบทสรุปนั้น
- ใช้รายการข้อมูลโลกของเรื่อง เก็บชื่อ สถานที่ และคำสัญญาไว้ในบล็อกสั้นๆ ที่คุณอัปเดตทุกเทิร์น โมเดลมักลืมรายละเอียดเล็กน้อยจาก 80 ข้อความที่แล้ว มากกว่าข้อเท็จจริงที่ระบุในพรอมต์ล่าสุด
- ใช้ seed ขณะแก้ไขข้อผิดพลาด เมื่อคุณปรับแก้ prompt การกำหนดค่า
seedคงที่ช่วยให้การเปรียบเทียบมีความยุติธรรมมากขึ้น
ความล้มเหลวทั่วไป: โมเดลพูดแทนตัวละครของคุณ แก้ไขในพรอมต์ระบบด้วยกฎโดยตรงและสนับสนุนด้วยลำดับหยุดเช่นตัวอย่างด้านบน อีกกรณี: การตอบกลับทุกครั้งเปิดด้วยรูปแบบเดียวกัน ให้เพิ่มอุณหภูมิเล็กน้อยและเพิ่มค่าปรับความถี่
ต้นทุนของเซสชัน
ราคาอยู่ที่ $0.15 ต่อ 1M input tokens และ $0.50 ต่อ 1M output tokens ซึ่งหักจากเครดิตแบบเติมเงินล่วงหน้า การเล่นบทบาทสมมติใช้ input หนักเพราะประวัติทั้งหมดจะถูกส่งในทุกเทิร์น ดังนั้นฝั่ง input จึงมีสัดส่วนสูง
ลองทำเซสชัน 50 เทิร์น โดยค่าเฉลี่ยของพรอมต์คือ 6,000 โทเคน (การ์ดตัวละครรวมประวัติ) และการตอบกลับแต่ละครั้งใช้ประมาณ 250 โทเคน
- Input: 50 x 6,000 = 300,000 โทเคน ซึ่งคือ 0.3 x $0.15 = $0.045
- Output: 50 x 250 = 12,500 โทเคน ซึ่งคือ 0.0125 x $0.50 = $0.00625
- รวม: $0.05125 ประมาณห้าเซ็นต์
การเติมเงิน $20 ครอบคลุมประมาณ 390 เซสชันขนาดนั้น การเติมเงินมีตั้งแต่ $20 ถึง $500 ในจำนวนเต็ม พร้อมโบนัส +5% จาก $50, +10% จาก $100 และ +15% จาก $200 เครดิตแบบเติมเงินล่วงหน้าไม่หมดอายุ และคำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่ถูกเรียกเก็บเงิน คุณสามารถจ่ายด้วยคริปโต (USDT บน TRC20, USDC บน Base) รายละเอียดเต็มมีอยู่ที่ หน้าราคา
คู่มือเพิ่มเติม
ถาม-ตอบ
มี LLM ที่ลบการเซ็นเซอร์แล้วเพียงตัวเดียวที่ดีที่สุดสำหรับการสวมบทบาทหรือไม่
ไม่มี ความชอบแตกต่างกันไปตามแนวเรื่องและสไตล์การเขียน ทดสอบตัวเลือกด้วยฉากของคุณเองโดยใช้เครดิตทดลองใช้ฟรี $0.50 ก่อนตัดสินใจ
สามารถใช้กับ SillyTavern ได้หรือไม่?
ใช่ เลือก Chat Completion จากนั้นเลือกแหล่งข้อมูลแบบกำหนดเอง (เข้ากันได้กับ OpenAI) กรอก base URL และคีย์ของคุณ และตั้งค่ารหัสโมเดลเป็น uncensored
อนุญาตให้ใช้เนื้อหาได้ทุกอย่างหรือไม่
โมเดลนี้ปรับแต่งมาให้ตอบโดยไม่ปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย เนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์จะไม่อนุญาตเด็ดขาด
ฉันสามารถส่งประวัติได้มากแค่ไหน
หน้าต่างบริบทมีขนาด 100,000 โทเคน ซึ่งใช้ร่วมกันระหว่างพรอมต์และการสร้างคำตอบ
คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว
สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด