NsfwAiApi/Panduan
Model LLM Lokal Terbaik untuk Roleplay, atau API yang Dihosting?
Model LLM lokal terbaik untuk roleplay adalah model tanpa sensor terbesar yang dapat ditampung GPU Anda pada kualitas yang Anda terima, dan jawaban ini berubah setiap beberapa bulan. Jika Anda lebih suka melewatkan perangkat keras, endpoint yang dihosting memberi Anda alur obrolan yang sama dengan satu perubahan URL.

Lokal atau dihosting: keputusan cepat
Pilih lokal jika Anda sudah memiliki GPU yang mumpuni, ingin semuanya offline, atau menikmati penyetelan model. Pilih yang dihosting jika Anda menginginkan memori panjang dalam cerita, menggunakan laptop atau ponsel, atau lebih suka menghabiskan menit daripada akhir pekan untuk penyetelan. Banyak orang melakukan keduanya: model lokal untuk eksperimen pribadi dan yang dihosting untuk kampanye panjang.
| Faktor | Model lokal | API Terhosting |
|---|---|---|
| Model Biaya | Perangkat keras dan daya, tanpa biaya per token | Bayar per token dari saldo prabayar |
| Ukuran model | Dibatasi oleh memori GPU Anda | Apa pun yang dijalankan oleh penyedia |
| Panjang konteks | Dibatasi oleh memori, karena konteks yang lebih panjang membutuhkan lebih banyak memori | 100.000 token di sini |
| Privasi | Tidak ada yang keluar dari mesin Anda | Prompt dikirim ke penyedia; di sini tidak digunakan untuk pelatihan |
| Pengaturan | Waktu berjalan, bobot, kuantisasi, pembaruan | URL dasar dan kunci |
| Berfungsi dari perangkat apa pun | Hanya jika Anda mengekspos mesin Anda sendiri | Ya |
Apa yang sebenarnya menentukan model lokal terbaik
Peringkat model LLM lokal terbaik untuk roleplay menjadi usang dengan cepat, dan tidak ada nama tunggal yang tepat untuk semua orang. Sebagai gantinya, nilai kandidat berdasarkan hal-hal yang muncul dalam sesi nyata.
- Perilaku penolakan. Banyak model dasar dan instruksi telah ditala untuk menolak tema tertentu. Model yang ditala untuk fiksi atau ditandai sebagai tanpa sensor biasanya menolak lebih sedikit, tetapi kualitasnya bervariasi, jadi ujilah sendiri pada adegan Anda.
- Tetap dalam karakter. Perhatikan model yang mulai meriwayatkan tindakan karakter Anda, mengulang frasa yang sama setiap giliran, atau lupa siapa yang ada di ruangan.
- Kualitas prosa. Baca sepuluh balasan berturut-turut. Beberapa model baik untuk satu giliran dan melelahkan pada yang kesepuluh.
- Penanganan konteks. Model mungkin mengklaim jendela panjang dan tetap kehilangan detail dari tengahnya. Jalankan uji di mana fakta dari awal obrolan penting nanti.
- Ukuran dan kuantisasi. Model yang lebih besar yang diperas ke dalam kuantisasi berat dapat kehilangan lebih banyak daripada model yang lebih kecil yang dijalankan dengan presisi lebih tinggi. Bandingkan, jangan berasumsi.
Thread komunitas dan kartu model untuk runtime yang Anda gunakan adalah tempat yang tepat untuk rekomendasi saat ini. Unduh dua atau tiga kandidat, jalankan adegan yang sama di masing-masing dan simpan yang membuat Anda ingin melanjutkan cerita.
Di mana lokal kehabisan ruang
Dinding yang paling sering dihadapi oleh pemain peran adalah memori, dan itu terjadi di dua tempat. Yang pertama adalah model itu sendiri: model yang lebih besar menulis lebih baik tetapi membutuhkan lebih banyak memori GPU. Yang kedua adalah konteks. Setiap pesan dalam cerita panjang dikirim lagi dengan setiap giliran baru, dan cache yang menampungnya juga tumbuh dengan panjang, sehingga kampanye panjang dapat memeras GPU yang menangani obrolan pendek dengan baik.
Solusi yang biasa digunakan adalah meringkas putaran lama, menggunakan buku lore yang hanya menyuntikkan fakta yang relevan, dan mengurangi ukuran jendela konteks. Solusi tersebut berfungsi, dan itu juga butuh usaha. Endpoint yang dihosting dengan jendela 100.000 token memungkinkan Anda menyimpan lebih banyak cerita agar tetap terlihat jelas, yang cocok untuk kampanye panjang, dunia bersama dengan banyak karakter, dan cerita yang berjalan selama berminggu-minggu.
Pertukarannya adalah biaya, jadi penting untuk mengukurnya. Misalkan sebuah obrolan memiliki 30.000 token riwayat dan model menulis 300 token per balasan. Satu giliran membutuhkan 30.000 token input pada $0,15 per 1 juta, yaitu $0,0045, ditambah 300 token output pada $0,50 per 1 juta, yaitu $0,00015. Itu adalah $0,00465 per giliran, atau $0,465 untuk 100 giliran. Sesi bermain panjang di malam hari biayanya jauh di bawah satu dolar. Halaman harga mencantumkan tarif dan tingkat bonus untuk top-up yang lebih besar.
Pengaturan host yang berfungsi di Python
Endpoint ini kompatibel dengan OpenAI, sehingga paket openai resmi berfungsi tanpa perubahan kecuali untuk URL dasar dan kunci. ID modelnya adalah uncensored. Pertama, dapatkan kunci dari halaman kunci API; akun baru dapat mengklaim kredit uji coba $0,50 di sana dengan satu klik, tanpa perlu detail pembayaran.
Skrip ini menjaga riwayat bergulir, meng-stream balasan dan memangkas giliran lama agar prompt tetap kecil. Sistem prompt adalah bagian yang layak untuk waktu Anda: itu mengatur pengaturan, aturan, dan gaya.
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 minors 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.")
Karena jendela adalah 100.000 token, Anda dapat menaikkan MAX_TURNS banyak sebelum pemangkasan menjadi penting. Pemangkasan tetap merupakan kebiasaan yang baik: prompt yang lebih pendek biaya lebih sedikit dan menjaga model tetap fokus pada peristiwa terbaru.
Pengaturan klien untuk SillyTavern dan aplikasi serupa
Sebagian besar antarmuka roleplay memiliki layar koneksi untuk sumber penyelesaian obrolan kompatibel OpenAI atau kustom. SillyTavern, misalnya, memungkinkan Anda menambahkan endpoint kompatibel OpenAI. Bidangnya sama di mana saja:
- URL dasar atau endpoint:
https://api.nsfwaiapi.com/v1. Beberapa aplikasi menginginkan jalur lengkap yang berakhir dengan/chat/completions; jika aplikasi meminta dasar, berhenti di/v1. - Kunci API: kunci Anda, dikirim sebagai token bearer.
- Model:
uncensored. Jika aplikasi dapat mengambil daftar model, itu dapat memanggilGET /v1/models. - Streaming: on. Balasan muncul saat ditulis, dan aplikasi dapat berhenti lebih awal jika Anda tidak menyukai arahnya.
Untuk sampling, suhu sekitar 0,8 hingga 1,0 cocok untuk teks naratif, dengan top_p sekitar 0,95. Penalti frekuensi atau kehadiran yang kecil mengurangi frasa berulang yang cenderung terkumpul dalam obrolan panjang. Tingkatkan penalti hanya jika Anda melihat pengulangan, karena nilai tinggi membuat prosa menjadi aneh menghindari pengulangan. Urutan berhenti diteruskan, sehingga menambahkan nama pemain diikuti dengan titik dua sebagai string berhenti membantu jika model mencoba berbicara untuk Anda. Atur ukuran konteks aplikasi sesuai yang ingin Anda bayar; Anda tidak perlu mengisi semua 100.000 token.
Perhatikan konkurensi jika Anda menjalankan beberapa tab obrolan atau bot untuk teman. Kunci penuh memungkinkan 8 permintaan paralel dan 300 per menit, dan kunci uji coba memungkinkan 2 dan 60. Balasan streaming memegang slotnya hingga streaming berakhir, sehingga tab yang macet dapat menghabiskan slot. Dokumen mencantumkan batas dan header respons, termasuk X-Balance-USD, yang menunjukkan sisa saldo Anda.
Rutinitas kecil untuk menjaga cerita panjang tetap sehat
Sesi roleplay panjang sering gagal dengan cara yang dapat diprediksi, dan beberapa kebiasaan dapat mencegah sebagian besar masalah tersebut. Tulis ringkasan cerita pendek setiap 20 atau 30 putaran dan letakkan di bagian atas prompt, setelah pesan sistem. Perbarui secara manual atau minta model untuk membuatnya, lalu periksa apakah nama, tempat, dan janji-janji tetap ada. Tetapkan fakta yang tidak boleh pernah dilupakan, seperti hubungan dan alur terbuka, dalam pesan sistem itu sendiri.
Jika balasan mengarah ke arah yang tidak Anda sukai, buat ulang balasan tersebut daripada berdebat dengannya dalam obrolan. Argumen mencemari riwayat dan mengajarkan model bahwa adegan tersebut berfokus pada argumen. Ketika Anda ingin mengarahkan, tambahkan satu baris yang jelas dalam tanda kurung siku, seperti catatan tentang suasana adegan berikutnya, dan biarkan balasan berikutnya membawanya. Pertahankan konsistensi nama karakter dan berikan catatan suara satu baris untuk setiap karakter non-pemain, karena model sering mengaburkan karakter yang terdengar mirip.
Batasan jujur dari model ini
Ini adalah satu model bobot terbuka, dijalankan oleh penyedia independen dan disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah. Ini bukan API resmi dari vendor model mana pun dan bukan router untuk beberapa model. Anda tidak dapat memilih antara model, dan Anda tidak harus mengharapkan model ini setara dengan model tertutup terbaik dalam setiap tugas.
Ini hanya menghasilkan teks. Tidak ada gambar untuk karakter Anda, tidak ada suara dan tidak ada embedding untuk pencarian lorebook, jadi jika Anda ingin potret atau ucapan Anda perlu menambahkan layanan terpisah untuk masing-masing. Tidak ada penyetelan halus juga. Kualitas juga akan bergantung pada prompt Anda: sistem prompt yang kabur memberikan fiksi yang kabur, dan profil karakter yang baik dengan dialog contoh melakukan lebih banyak daripada tweak pengambilan sampel apa pun.
Satu aturan bersifat tetap. Konten seksual yang melibatkan anak di bawah umur tidak diperbolehkan, dan konfigurasi yang mencoba menghasilkannya tidak akan didukung. Pastikan karakter berusia dewasa, dan pastikan penggunaan Anda sesuai hukum. Untuk fiksi, aplikasi pendamping, dan obrolan karakter yang ditujukan untuk orang dewasa, kombinasi penolakan yang lebih sedikit dan jendela konteks yang panjang adalah bagian yang berguna.
Panduan lainnya
Tanya jawab
Apakah LLM lokal lebih baik daripada API yang di-host untuk roleplay?
Tidak ada yang menang di semua aspek. Lokal memberi Anda privasi offline dan tanpa biaya per token, sedangkan yang di-host memberi Anda konteks yang lebih panjang dan tanpa batas perangkat keras. Banyak orang menggunakan keduanya.
Dapatkah saya menggunakan SillyTavern dengan API ini?
Ya. SillyTavern dan aplikasi serupa menerima endpoint yang kompatibel dengan OpenAI. Masukkan https://api.nsfwaiapi.com/v1 sebagai URL, kunci Anda, dan ID model uncensored.
Berapa banyak konteks yang dapat digunakan sesi roleplay?
Jendela konteks adalah 100.000 token, termasuk prompt dan balasan secara bersama. Obrolan panjang membutuhkan biaya lebih karena riwayat dikirimkan di setiap giliran.
Apakah API ini menghasilkan gambar atau suara untuk karakter saya?
Tidak. Layanan ini hanya teks, tanpa pembuatan gambar, audio, atau video, dan tanpa embedding.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kunci, ubah URL dasar. Itu saja seluruh proses pengaturannya.
Dapatkan kunci APINsfwAiApiAPI LLM Tanpa Sensor untuk Pembuatan Teks NSFW