TH ▾
รับคีย์ API

ตัวสร้างนิยาย AI ไม่เซ็นเซอร์ผ่าน API

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

อัปเดต

หนังสือเปิดออกซึ่งหน้ากระดาษเปลี่ยนเป็นริบบินเรืองแสงที่ไหลเข้าสู่เทอร์มินัล แสดงถึงการสร้างนิยายผ่าน API

ประเด็นสำคัญ

  • ชี้ SDK ของ OpenAI ไปที่ base URL ใช้ model ID uncensored และคุณจะมีเครื่องสร้างเรื่องราวในประมาณยี่สิบบรรทัด
  • system prompt ที่กำหนดแนว เรื่องราว และกฎ มีความสำคัญกว่าพารามิเตอร์การสุ่มใดๆ
  • หน้าต่างบริบทขนาด 100,000-token ช่วยให้คุณเก็บ story bible และบทหลายบทไว้ในคำขอเดียวได้
  • บทความยาว 1,200 โทเคน มีต้นทุนประมาณหนึ่งในสิบของเซ็นต์ ดังนั้นต้นทุนจึงไม่ใช่ข้อจำกัดบ่อยครั้ง

ตัวสร้างเรื่องราวแบบไม่มีตัวกรองจริงๆ แล้วคืออะไร

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

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

มีกฎหนึ่งข้อที่ตายตัว เนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ ไม่อนุญาตเด็ดขาด และไม่มี prompt ใดๆ ที่เปลี่ยนกฎนี้ได้ เนื้อหาอื่นๆ ทั้งหมดในนิยายสำหรับผู้ใหญ่ตามกฎหมายเป็นของคุณที่จะเขียน หากต้องการภาพรวมทั่วไปของการเปรียบเทียบนี้กับแพลตฟอร์มตัวละครแบบโฮสต์ หน้า NoFilter AI เทียบกับ Character AI ครอบคลุมเรื่องนี้

เรื่องราวแรกของคุณในยี่สิบบรรทัดของ Python

เนื่องจาก API ปฏิบัติตามรูปแบบ OpenAI แพ็คเกจ openai ทางการจึงใช้งานได้ทันที คุณเพียงเปลี่ยน URL ฐานและคีย์ ติดตั้งด้วย pip install openai แล้วรันสิ่งนี้

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.9,
    messages=[
        {"role": "system", "content": (
            "You are a fiction author. Write in third person, past tense. "
            "Use concrete detail and subtext. Never summarise the scene, "
            "never moralise, never address the reader."
        )},
        {"role": "user", "content": (
            "Genre: noir crime. Setting: a flooded harbour town. "
            "Write the opening 600 words. A smuggler finds a body in his net."
        )},
    ],
)
print(resp.choices[0].message.content)

รหัสโมเดลคือ uncensored คีย์มาจากหน้า คีย์ API หากคุณยังไม่ได้สมัคร ผู้ใช้ใหม่สามารถขอเครดิตทดลองใช้ $0.50 ได้ที่นั่นด้วยการคลิกหนึ่งครั้ง ใช้ได้ 7 วัน ทำให้สคริปต์แรกนี้คุณไม่ต้องเสียค่าใช้จ่าย

การเรียกใช้เดียวกันนี้ใช้งานได้จาก curl ซึ่งสะดวกสำหรับการทดสอบพรอมต์ก่อนที่จะห่อหุ้มไว้ในโค้ด

curl https://api.nofilterai.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "user", "content": "Write a 200 word horror scene set in a lighthouse."}
    ]
  }'

โครงสร้างของ prompt ที่สร้างงานเขียนที่ใช้งานได้

เอาต์พุตที่น่าผิดหวังส่วนใหญ่จากโมเดลเรื่องราวมาจากคำแนะนำที่คลุมเครือ ไม่ใช่มาจากโมเดล ส่วนสามส่วนของพรอมต์ทำงานหนัก

ข้อความระบบกำหนดผู้แต่ง ไม่ใช่หัวข้อ

วางกฎน้ำเสียงที่นี่: มุมมองบุคคล กาลเวลา จังหวะประโยค สิ่งที่ควรหลีกเลี่ยง บรรทัดเช่น "อย่าจบฉากด้วยการสะท้อนว่าทั้งหมดหมายถึงอะไร" จะขจัดนิสัยที่โมเดลภาษาหลายตัวมีร่วมกัน รักษาข้อความนี้ให้คงที่ตลอดทั้งโปรเจกต์เพื่อให้บทต่างๆ มีลักษณะคล้ายกัน

ข้อความผู้ใช้กำหนดจังหวะ

ให้ฉากเดียวในแต่ละครั้ง ตั้งชื่อตัวละคร สถานที่ สิ่งที่เปลี่ยนแปลงในตอนจบของฉาก และความยาวเป้าหมาย "เขียน 700 คำ มาร่าเผชิญหน้ากับพี่ชายของเธอเกี่ยวกับสมุดบัญชีที่หายไป เธอไม่ได้รับคำตอบ" ดีกว่า "ดำเนินเรื่องต่อ" มาก

ไบลเบิลเรื่องราวจะติดตามไปด้วย

รักษาบล็อกสั้นๆ ที่มีข้อเท็จจริงเกี่ยวกับตัวละคร เส้นเวลาจนถึงปัจจุบัน และเส้นด้ายที่ยังเปิดอยู่ และส่งไปกับคำขอทุกครั้ง story bible ขนาด 800-token มีต้นทุนเกือบเป็นศูนย์และหยุดไม่ให้โมเดลเปลี่ยนสีตาหรือฟื้นคืนตัวละคร

  • ใช้ temperature ประมาณ 0.8 ถึง 1.0 สำหรับการร่าง และ 0.5 ถึง 0.7 สำหรับการแก้ไข
  • ใช้ลำดับ stop หากคุณสร้างในรูปแบบที่ตายตัว ตัวอย่างเช่น หยุดที่บรรทัดที่อ่านว่า "END SCENE"
  • ใช้ presence_penalty และ frequency_penalty ในระดับต่ำหากโมเดลทำซ้ำวลีที่คุ้นเคย พารามิเตอร์ทั้งสองจะถูกส่งต่อไปยังโมเดล
  • ใช้ seed เมื่อต้องการเปรียบเทียบเวอร์ชันของพรอมต์สองเวอร์ชันภายใต้เงื่อนไขที่เท่ากัน

การรักษาความสอดคล้องของเรื่องราวที่ยาว

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

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

from openai import OpenAI

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

bible = "Mara Voss, 34, ferry pilot. Brother Teo owes money. Setting: Harbor Nine, rain every night."
history = [{"role": "system", "content": "Fiction author. Third person, past tense. No moralising.\nBible: " + bible}]

def write(beat):
    history.append({"role": "user", "content": beat})
    r = client.chat.completions.create(model="uncensored", messages=history, temperature=0.85)
    text = r.choices[0].message.content
    history.append({"role": "assistant", "content": text})
    return text

print(write("Chapter 1, 700 words: Mara finds Teo's boat adrift."))
print(write("Chapter 2, 700 words: she searches the cabin and finds a second ledger."))

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

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

การสตรีมมิงและนิยายเชิงโต้ตอบ

สำหรับเกมผจญภัยด้วยข้อความหรือผู้ช่วยเขียนสด คุณต้องการให้ข้อความปรากฏบนหน้าจอทันทีที่ข้อมูลมาถึง ตั้งค่า stream: true และอ่านเหตุการณ์ที่ส่งจากเซิร์ฟเวอร์ (SSE) จำนวนการใช้งานจะปรากฏที่ท้ายสตรีม

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.nofilterai.cc/v1",
  apiKey: process.env.NOFILTER_KEY,
});

const stream = await client.chat.completions.create({
  model: "uncensored",
  stream: true,
  messages: [
    { role: "system", content: "You are the narrator of a survival horror text adventure. Second person, present tense." },
    { role: "user", content: "I open the cellar door." },
  ],
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

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

เหตุผลที่เรื่องราวที่สร้างมาแบนราบ และวิธีแก้ไข

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

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

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

ต้นทุนของเรื่องราว

ราคาคือ $0.15 ต่อ 1M input token และ $0.50 ต่อ 1M output token จากเครดิตแบบเติมเงินล่วงหน้าโดยไม่ต้องสมัครสมาชิก เครดิตไม่หมดอายุ ตัวเลขด้านล่างคำนวณจากสองราคานี้

งานโทเคน inputโทเคน outputต้นทุน
หนึ่งบทพร้อมคัมภีร์และข้อความก่อนหน้า3,0001,200$0.00045 + $0.0006 = $0.00105
100 บทเช่นนี้300,000120,000$0.045 + $0.06 = $0.105
เซสชันโต้ตอบ: 50 เทิร์น บริบท 20,000 โทเคนต่อเทิร์น คำตอบ 1,000 โทเคน1,000,00050,000$0.15 + $0.025 = $0.175
หนึ่งคำขอที่เติมหน้าต่างด้วยอินพุต100,0000$0.015

แม้หนึ่งร้อยบทมีต้นทุนประมาณสิบเซ็นต์ การเติมเงินเริ่มต้นที่ $20 และสูงสุดถึง $500 ในจำนวนเต็มใดๆ พร้อมโบนัส 5% จาก $50, 10% จาก $100 และ 15% จาก $200 การชำระเงินเป็นคริปโตเท่านั้น โดยใช้ USDT บน TRC20 หรือ USDC บน Base รายละเอียดปัจจุบันอยู่ที่ หน้าราคา

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

คำแนะนำปฏิบัติและขีดจำกัด

จุดสำคัญไม่กี่จุดช่วยประหยัดเวลาเมื่อคุณเริ่มสร้าง

  • เฉพาะข้อความ บริการไม่สร้างภาพ เสียง หรือวิดีโอ และไม่มี embedding หรือการปรับแต่ง ใช้เครื่องมืออื่นสำหรับภาพปกหรือเสียง
  • โหมด JSON ช่วยเรื่องโครงสร้าง ขอ response_format: {"type":"json_object"} เมื่อคุณต้องการให้โมเดลคืนค่าแผ่นตัวละครหรือรายการฉากที่โค้ดของคุณจะวิเคราะห์
  • พรอมต์ของคุณไม่ถูกนำไปใช้ในการฝึกโมเดล สิ่งนี้สำคัญหากผลงานของคุณยังไม่ได้ตีพิมพ์
  • แก้ไขแบบแบ่งขั้นตอน เขียนร่างแรกด้วยอุณหภูมิสูง จากนั้นส่งร่างนั้นกลับพร้อมคำสั่งให้ปรับบทสนทนาให้กระชับหรือตัดคำวิเศษณ์ออก โดยลดอุณหภูมิลง
  • ตรวจสอบผลลัพธ์ โมเดลที่ไม่มีระบบปฏิเสธจะปฏิบัติตามแนวทางของคุณ ดังนั้นน้ำเสียงที่ได้คือน้ำเสียงที่คุณต้องการ

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

ถาม-ตอบ

มีวิธีทดลองใช้เครื่องสร้างนิยายแบบไม่มีตัวกรองผ่าน API แบบฟรีหรือไม่

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

คำขอเรื่องหนึ่งเรื่องสามารถมีความยาวได้เท่าใด

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

สามารถใช้ร่วมกับเครื่องมือที่รองรับ OpenAI อยู่แล้วได้หรือไม่

ใช่ ไคลเอนต์ใดๆ ที่ให้คุณตั้งค่า URL ฐานและคีย์ได้จะใช้งานได้ โดยใช้ model ID uncensored วิธีการที่รองรับคือ POST /v1/chat/completions และ GET /v1/models.

มีเนื้อหาใดบ้างที่โมเดลจะไม่เขียน

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

คุณเก็บหรือนำเรื่องราวของฉันไปฝึกโมเดลหรือไม่?

พรอมต์ไม่ถูกนำไปใช้ในการฝึกโมเดล

คีย์ของคุณอยู่ห่างแค่ขั้นตอนเดียว

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