TH ▾
รับคีย์ API

NsfwAiApiคู่มือ

พรอมต์ระบบ LLM NSFW: โครงสร้างและตัวอย่าง โครงสร้างและตัวอย่าง โครงสร้างและตัวอย่าง

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

อัปเดต

การ์ดพรอมต์ซ้อนกันไหลเข้าสู่ฟองแชทเหนือเทอร์มินัล แสดงโครงสร้างพรอมต์ระบบ
ภาพประกอบไอโซเมตริกเปรียบเทียบกล่อง GPU ท้องถิ่นและคลัสเตอร์เซิร์ฟเวอร์โฮสต์ที่เชื่อมต่อกันด้วยฟองแชท

หน้าที่ของพรอมต์ระบบในแอปนิยายสำหรับผู้ใหญ่

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

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

กฎหนึ่งข้ออยู่นอกเหนือการควบคุมของคุณและอยู่นอกเหนือพรอมต์ใดๆ: ห้ามมีเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ ระบุในพรอมต์ของคุณว่าตัวละครทุกตัวเป็นผู้ใหญ่ สิ่งนี้ทำให้เรื่องราวสะอาดและสอดคล้องกับกฎของบริการใน เอกสาร API

โครงสร้างห้าส่วน

พรอมต์ส่วนใหญ่ที่ใช้งานได้ดีตลอดเซสชันยาวมีโครงสร้างพื้นฐานเหมือนกัน จำกัดแต่ละส่วนให้เหลือไม่กี่บรรทัด

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

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

ตัวอย่างการทำงานที่คุณสามารถส่งได้วันนี้

สคริปต์ด้านล่างใช้ OpenAI Python SDK มีเพียง Base URL คีย์ และโมเดล ID ที่แตกต่างจากการตั้งค่า OpenAI มาตรฐาน หากคุณใหม่ต่อเอนด์พอยต์ คู่มือ Python ครอบคลุมการติดตั้งและการจัดการข้อผิดพลาด

from openai import OpenAI

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

SYSTEM = """You are Mara, a ship's navigator in a slow-burn space drama.
Setting: the freighter Calloway, year 2412. Adults only, all characters are 18+.
Voice: dry, warm, quick with a joke. Replies are 80-150 words.
Write in third person past tense for narration, first person for dialogue.
Never speak or act for the user's character.
Stay in character. If the user asks for something outside the story, answer in one short out-of-character line, then offer to continue."""

history = [{"role": "system", "content": SYSTEM}]

def say(text):
    history.append({"role": "user", "content": text})
    r = client.chat.completions.create(
        model="uncensored",
        messages=history,
        temperature=0.9,
        top_p=0.95,
        presence_penalty=0.3,
    )
    reply = r.choices[0].message.content
    history.append({"role": "assistant", "content": reply})
    return reply

print(say("Mara, the engines are quiet tonight. Can't sleep?"))

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

คำขอเดียวกันด้วย curl

หากคุณต้องการทดสอบพรอมต์ก่อนจะต่อเข้ากับโค้ด curl นั้นรวดเร็ว ข้อความระบบอยู่ในช่องแรก เหมือนกับใน Python

curl https://api.nsfwaiapi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are Mara, a navigator. Adults only. Stay in character. Replies under 120 words."},
      {"role": "user", "content": "Mara, are you still awake?"}
    ],
    "temperature": 0.9
  }'

การตอบกลับคือ JSON การเสร็จสิ้นการสนทนาแบบมาตรฐาน ข้อความตอบอยู่ใน choices[0].message.content และส่วนหัวการตอบกลับ X-Balance-USD แสดงเครดิตคงเหลือของคุณหลังเรียกใช้

การตั้งค่าที่โต้ตอบกับพรอมต์

พรอมต์เป็นเพียงครึ่งหนึ่งของพฤติกรรม การตั้งค่า Sampling เปลี่ยนแปลงความใกล้ชิดที่โมเดลปฏิบัติตามพรอมต์

  • temperature ระหว่าง 0.8 ถึง 1.0 ให้บทประพันธ์ที่มีชีวิตชีวา ลดลงเหลือ 0.6 หากตัวละครเบี่ยงเบนจากบท
  • top_p ช่วง 0.9 ถึง 0.95 จะตัดคำที่แปลกประหลาดออกโดยไม่ทำให้เสียงพูดแบนราบ
  • presence_penalty หรือ frequency_penalty ของ 0.2 ถึง 0.5 ลดคำซ้ำในแชทยาว สิ่งเหล่านี้จะถูกส่งผ่านไปยังโมเดล
  • seed มีประโยชน์เมื่อคุณเปรียบเทียบพรอมต์สองเวอร์ชัน: กำหนดค่า seed และแก้ไขเฉพาะข้อความ
  • max_tokens เป็นตัวเลือก คำสั่งความยาวภายในพรอมต์มักทำงานได้ดีกว่าขีดจำกัดสูงสุด ซึ่งอาจตัดประโยคครึ่งหนึ่ง

เปลี่ยนทีละอย่าง หากแก้ไขพรอมต์และอุณหภูมิไปพร้อมกัน คุณจะไม่สามารถรู้ได้ว่าการเปลี่ยนแปลงใดที่ช่วยได้

ความล้มเหลวทั่วไปและวิธีแก้ไข

โมเดลพูดแทนผู้ใช้

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

การตอบกลับยาวขึ้นเรื่อยๆ

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

ตัวละครลืมการตั้งค่าหลังจากผ่านไปหลายรอบ

ข้อความระบบจะอยู่ด้านบนเสมอ จึงไม่หลุดจากหน้าต่างบริบท 100,000 โทเคน แต่รายละเอียดอาจเบี่ยงเบนในประวัติที่ยาวนาน ทุกๆ 30 หรือ 40 เทิร์น ให้เพิ่มบทสรุปสั้นๆ เป็นข้อความผู้ใช้ หรือสรุปเทิร์นเก่าและแทนที่ คู่มือโมเดลสวมบทบาท อธิบายว่าขนาดบริบทส่งผลต่อฉากยาวอย่างไร

น้ำเสียงกลายเป็นซ้ำซาก

เพิ่มคำแนะนำความหลากหลายในส่วนน้ำเสียง เช่น "เปลี่ยนจุดเริ่มต้นของประโยคและหลีกเลี่ยงการซ้ำคำที่ใช้ในสามคำตอบล่าสุด" และเพิ่มค่าปรับความมีอยู่ (presence penalty) เล็กน้อย

การพูดคุยนอกเหนือจากตัวละคร

กำหนดบรรทัดออก หากไม่มี โมเดลจะด้นคำปฏิเสธความรับผิด (disclaimer) ขึ้นมาเอง

ต้นทุนของพรอมต์ระบบ

ข้อความระบบจะถูกส่งพร้อมกับทุกคำขอ จึงนับเป็นอินพุตทุกครั้ง ใช้พรอมต์ขนาด 400 โทเคน ที่อัตรา $0.15 ต่อ 1M โทเคนอินพุต 400 โทเคนมีค่าใช้จ่าย 400 / 1,000,000 x $0.15 = $0.00006 ต่อคำขอ เมื่อทำ 1,000 คำขอ จะเป็น 400,000 โทเคน หรือ $0.06

การสนทนายังเก็บประวัติ ซึ่งมักมีค่าใช้จ่ายมากกว่าข้อความระบบ การตอบกลับคิดราคา $0.50 ต่อ 1M โทเคน ดังนั้นคำตอบ 150 คำ (ประมาณ 200 โทเคน) มีค่าใช้จ่าย 200 / 1,000,000 x $0.50 = $0.0001 คำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่คิดเงิน ราคาปัจจุบันและจำนวนเงินเติมเงินอยู่ที่หน้า ราคา และคุณสามารถเริ่มต้นด้วยคีย์ทดลองจาก หน้าคีย์ API การชำระเงินเป็นคริปโต (USDT บน TRC20 หรือ USDC บน Base)

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

ถาม-ตอบ

พรอมต์ระบบ NSFW ควรยาวแค่ไหน?

ระหว่าง 150 ถึง 400 คำครอบคลุมกรณีส่วนใหญ่ พรอมต์ที่ยาวกว่านั้นแทบไม่ช่วยและอาจทำให้คำแนะนำที่สำคัญเจือจางลง

ฉันจำเป็นต้องใช้การเจาะระบบ เพื่อให้ได้การตอบกลับแบบไม่เซ็นเซอร์หรือไม่?

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

ฉันสามารถเปลี่ยนพรอมต์ระบบระหว่างบทสนทนาได้หรือไม่

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

มีอะไรที่ห้ามใช้ไม่ว่าจะใช้พรอมต์แบบใด

ใช่ เนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ไม่อนุญาตเด็ดขาด และคุณควรระบุว่าตัวละครทั้งหมดเป็นผู้ใหญ่ในบล็อกการตั้งค่าของคุณ

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

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

รับคีย์ API

NsfwAiApiAPI LLM แบบไม่เซ็นเซอร์สำหรับการสร้างข้อความ NSFW