TH ▾
รับคีย์ API

NsfwAiApiคู่มือ

LLM ท้องถิ่นที่ดีที่สุดสำหรับเล่นบทบาท หรือ API แบบโฮสต์?

โมเดล LLM ท้องถิ่นที่ดีที่สุดสำหรับการเล่นบทบาทคือโมเดล uncensored ขนาดใหญ่ที่สุดที่ GPU ของคุณรองรับได้ในคุณภาพที่ยอมรับได้ และคำตอบนี้จะเปลี่ยนไปทุกไม่กี่เดือน หากคุณต้องการหลีกเลี่ยงการใช้ฮาร์ดแวร์ เอนด์พอยต์แบบโฮสต์ให้เวิร์กโฟลว์การแชทเดียวกันด้วยการเปลี่ยน URL เพียงครั้งเดียว

อัปเดต

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

รันในเครื่องหรือใช้โฮสต์: การตัดสินใจที่รวดเร็ว

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

ปัจจัยโมเดลในเครื่องAPI แบบโฮสต์
โมเดลต้นทุนฮาร์ดแวร์และพลังงาน ไม่มีค่าธรรมเนียมต่อโทเคนจ่ายต่อโทเคนจากเครดิตแบบเติมเงินล่วงหน้า
ขนาดโมเดลจำกัดด้วยหน่วยความจำ GPU ของคุณไม่ว่าผู้ให้บริการจะรันโมเดลอะไร
ความยาวของบริบทจำกัดด้วยหน่วยความจำ เนื่องจากหน้าต่างบริบทที่ยาวขึ้นต้องการหน่วยความจำมากขึ้น100,000 โทเคนที่นี่
ความเป็นส่วนตัวไม่มีอะไรออกจากเครื่องของคุณพรอมต์ถูกส่งไปยังผู้ให้บริการ; ที่นี่จะไม่ถูกนำไปใช้ในการฝึกโมเดล
การตั้งค่าเวลาเรียกใช้ น้ำหนักโมเดล การควอนไทซ์ และการอัปเดตBase URL และคีย์ API
ใช้งานได้จากอุปกรณ์ใดๆเฉพาะเมื่อคุณเปิดเครื่องของคุณเองใช่

สิ่งที่กำหนดโมเดลในเครื่องที่ดีที่สุดจริงๆ

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

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

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

เมื่อการรันในเครื่องหมดพื้นที่

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

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

สิ่งที่ต้องแลกคือต้นทุน ดังนั้นการวัดต้นทุนจึงช่วยได้ สมมติว่าแชทมีประวัติ 30,000 โทเคน และโมเดลเขียนคำตอบ 300 โทเคนต่อรอบ ค่าใช้จ่ายหนึ่งรอบคือโทเคนอินพุต 30,000 โทเคนที่ $0.15 ต่อ 1M ซึ่งเท่ากับ $0.0045 บวกโทเคนเอาต์พุต 300 โทเคนที่ $0.50 ต่อ 1M ซึ่งเท่ากับ $0.00015 นั่นคือ $0.00465 ต่อรอบ หรือ $0.465 สำหรับ 100 รอบ ค่าใช้จ่ายในการเล่นหนึ่งเย็นจะต่ำกว่าหนึ่งดอลลาร์มาก หน้า ราคา แสดงอัตราและระดับโบนัสสำหรับการเติมเงินขนาดใหญ่

การตั้งค่าแบบโฮสต์ที่ใช้งานได้จริงใน Python

เอนด์พอยต์นี้เข้ากันได้กับ OpenAI ดังนั้นแพ็กเกจ openai ทางการจึงใช้งานได้โดยไม่ต้องแก้ไข ยกเว้น Base URL และคีย์ โมเดล ID คือ uncensored ขั้นแรกรับคีย์จาก หน้าคีย์ API; บัญชีใหม่สามารถรับเครดิตทดลองใช้ $0.50 ได้ด้วยการคลิกหนึ่งครั้ง ไม่ต้องใช้ข้อมูลการชำระเงิน

สคริปต์นี้เก็บประวัติแบบวนซ้ำ สตรีมมิงคำตอบ และตัดบทสนทนาเก่าออกเพื่อให้พรอมต์มีขนาดเล็กลง ส่วนพรอมต์ระบบคือส่วนที่คุณควรให้ความสำคัญ: ส่วนนี้กำหนดฉาก กฎ และสไตล์

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.nsfwaiapi.com/v1",
    api_key=os.environ["NSFWAIAPI_KEY"],
)

SYSTEM = '''You are the narrator and all non-player characters in an adult fiction roleplay.
Setting: a rain-soaked port city, late autumn, gaslight and smuggler politics.
Rules:
- Write in third person, past tense, 2 to 4 short paragraphs per reply.
- Never write the player's actions, words or thoughts. Stop where the player decides.
- Keep each character's voice and goals consistent. Track who is present in the scene.
- All characters are adults. Do not write sexual content involving ผู้เยาว์ under any circumstances.
- Stay in the story. No disclaimers or out-of-character commentary unless the player asks with (OOC).'''

history = [{"role": "system", "content": SYSTEM}]
MAX_TURNS = 40  # keep the last 40 messages besides the system prompt

def say(user_text):
    history.append({"role": "user", "content": user_text})
    trimmed = [history[0]] + history[1:][-MAX_TURNS:]
    stream = client.chat.completions.create(
        model="uncensored",
        messages=trimmed,
        temperature=0.9,
        top_p=0.95,
        frequency_penalty=0.3,
        max_tokens=600,
        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})

say("I push open the door of the Gull and Anchor and look for the harbor master.")

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

การตั้งค่าไคลเอนต์สำหรับ SillyTavern และแอปอื่นๆ ที่คล้ายกัน

หน้าเว็บบทบาทสมมติส่วนใหญ่มีหน้าจอการเชื่อมต่อสำหรับแหล่งที่มาของการสร้างข้อความแชทที่เข้ากันได้กับ OpenAI แบบไม่เซ็นเซอร์ พร้อมพรอมต์ระบบที่ใช้งานได้จริงและการตั้งค่าไคลเอนต์ OpenAI หรือแบบกำหนดเอง เช่น SillyTavern ช่วยให้คุณเพิ่มเอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบไม่เซ็นเซอร์ พร้อมพรอมต์ระบบที่ใช้งานได้จริงและการตั้งค่าไคลเอนต์ OpenAI ได้ ฟิลด์ต่างๆ มีลักษณะเดียวกันทุกที่:

  • Base URL หรือเอนด์พอยต์ URL: https://api.nsfwaiapi.com/v1 แอปบางตัวต้องการเส้นทางเต็มลงท้ายด้วย /chat/completions; หากแอปขอ Base URL ให้หยุดที่ /v1
  • API key: คีย์ของคุณ ส่งเป็น bearer token
  • Model: uncensored หากแอปสามารถดึงรายการโมเดลได้ มันสามารถเรียก GET /v1/models ได้
  • Streaming: เปิดอยู่ คำตอบจะปรากฏเมื่อเขียน และแอปสามารถหยุดก่อนหน้าได้หากคุณไม่ชอบทิศทางนั้น

สำหรับการสุ่มตัวอย่าง อุณหภูมิประมาณ 0.8 ถึง 1.0 เหมาะกับข้อความเชิงบรรยาย พร้อมค่า top_p ใกล้ 0.95 การปรับค่าปรับความถี่หรือการปรากฏเล็กน้อยจะลดวลีที่ซ้ำกันซึ่งบทสนทนาที่ยาวมักสะสม เพิ่มค่าปรับเฉพาะเมื่อคุณเห็นการซ้ำซ้อน เนื่องจากค่าสูงทำให้บทบรรยายหลีกเลี่ยงอย่างแปลกๆ ลำดับหยุดจะถูกส่งผ่าน ดังนั้นการเพิ่มชื่อผู้เล่นตามด้วยเครื่องหมายโคลอนเป็นสตริงหยุดจะช่วยหากโมเดลพยายามพูดแทนคุณ ตั้งขนาดหน้าต่างบริบทของแอปตามจำนวนที่คุณยินดีจ่าย; คุณไม่จำเป็นต้องเติมโทเคนทั้งหมด 100,000 โทเคน

ให้คำนึงถึงการทำงานพร้อมกันหากคุณเปิดแท็บแชทหลายแท็บหรือบอทสำหรับเพื่อน คีย์แบบเต็มอนุญาตให้ทำคำขอพร้อมกัน 8 คำขอและ 300 คำขอต่อนาที และคีย์ทดลองอนุญาตให้ทำ 2 และ 60 คำขอ คำตอบแบบสตรีมมิงจะครอบครองช่องของมันจนกว่าสตรีมจะสิ้นสุด ดังนั้นแท็บที่ค้างอยู่อาจใช้ช่องไปจนหมด หน้า docs แสดงขีดจำกัดและเฮดเดอร์การตอบกลับ รวมถึง X-Balance-USD ซึ่งแสดงเครดิตที่เหลือของคุณ

Routine เล็กๆ ที่ทำให้เรื่องราวยาวๆ มีสุขภาพดี

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

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

ขีดจำกัดที่แท้จริงของโมเดลนี้

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

มันสร้างข้อความเท่านั้น ไม่มีภาพสำหรับตัวละครของคุณ ไม่มีเสียง และไม่มี embedding สำหรับการค้นหา lorebook ดังนั้นหากคุณต้องการภาพประกอบหรือเสียง คุณต้องเพิ่มบริการแยกต่างหากสำหรับแต่ละอย่าง นอกจากนี้ยังไม่มี fine-tuning คุณภาพยังขึ้นอยู่กับพรอมต์ของคุณ: พรอมต์ระบบที่คลุมเครือให้เรื่องแต่งที่คลุมเครือ และโปรไฟล์ตัวละครที่ดีพร้อมตัวอย่างบทสนทนาทำได้ดีกว่าการปรับค่า sampling ใดๆ

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

ถาม-ตอบ

LLM ในเครื่องดีกว่า API แบบโฮสต์สำหรับบทบาทสมมติหรือไม่?

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

สามารถใช้ SillyTavern กับ API นี้ได้หรือไม่

ได้ SillyTavern และแอปคล้ายกันรองรับเอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบไม่เซ็นเซอร์ พร้อมพรอมต์ระบบที่ใช้งานได้จริงและการตั้งค่าไคลเอนต์ OpenAI ให้ใส่ https://api.nsfwaiapi.com/v1 เป็น URL คีย์ของคุณ และ model ID uncensored

เซสชันบทบาทสมมติสามารถใช้หน้าต่างบริบทได้มากแค่ไหน

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

มันสร้างภาพหรือเสียงสำหรับตัวละครของฉันหรือไม่

ไม่ใช่ บริการมีเฉพาะข้อความ ไม่มีสร้างรูปภาพ เสียง วิดีโอ หรือ embeddings

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

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

รับคีย์ API

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