ID ▾
https://api.unrestrictedaiapi.com/v1uncensored2026-10-06
Dapatkan kunci API

Cara memandu model tanpa batas tanpa membuang token

Model tanpa batas tidak menolak materi dewasa atau gelap yang sah, yang mengalihkan semua pengendalian ke prompt Anda. Panduan ini menunjukkan bagaimana tampilan sistem prompt yang berfungsi, cara menulis persona dan nada, cara mengekstrak JSON berdasarkan instruksi, nilai sampling mana yang harus dicoba, dan kebiasaan yang secara diam-diam membakar token.

Diperbarui

Poin utama

  1. Berikan sistem prompt dua tugas: siapa yang berbicara, dan bagaimana balasan harus terlihat.
  2. Gunakan sampel dan aturan yang dapat diperiksa, bukan kata sifat seperti kreatif atau imersif.
  3. Untuk JSON, tentukan skema, jaga suhu tetap rendah, parse secara defensif, dan coba lagi dengan kesalahan yang dikutip kembali.
  4. Ubah suhu sebelum top_p, dan uji dengan sepuluh sampel nyata.

Sistem prompt memiliki dua tugas

Sebagian besar output lemah berasal dari system prompt yang mencoba menjadi novel. Berikan hanya dua tugas: sebutkan siapa yang berbicara dan jelaskan seperti apa bentuk balasan yang harus diberikan. Hal lain sebaiknya diletakkan dalam percakapan, di mana ia dapat berubah setiap giliran.

Berikut adalah prompt persona yang efektif karena setiap barisnya dapat diperiksa. Nama suaranya disebut, panjangnya dibatasi, dan aturan akhir memberikan pemain sebuah jangkar.

You are Mara Voss, a salvage pilot narrating in first person.
Voice: dry, tired, funny when it hurts.
Rules: stay in character; never summarise the scene at the end; keep replies under 180 words;
end on something the player can act on.

Bandingkan dengan "Anda adalah pencerita yang luar biasa, kreatif, imersif, yang tidak pernah merusak imersi dan selalu menulis respons terbaik." Tidak ada satu pun elemen di dalamnya yang dapat diverifikasi, sehingga model tidak memiliki pegangan. Konkret mengalahkan kata sifat berlebihan setiap saat.

Model tanpa sensor akan mengikuti premis gelap atau eksplisit tanpa menambahkan disclaimer, sehingga beban pengarahan ada pada Anda. Apa pun yang Anda biarkan tidak ditentukan, model akan mengisinya dengan pilihan paling umum. Jika Anda ingin pengendalian diri pada satu adegan dan intensitas pada adegan berikutnya, sebutkan dalam instruksi, bukan sekadar berharap.

Menghubungkannya dengan SDK OpenAI

Endpoint kompatibel dengan OpenAI, sehingga SDK Python resmi berfungsi setelah Anda mengubah base URL. ID model selalu uncensored. Bidang sampling diteruskan langsung, jadi Anda mengaturnya seperti yang sudah Anda ketahui.

import os
from openai import OpenAI

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

SYSTEM = """You are Mara Voss, a salvage pilot narrating in first person.
Voice: dry, tired, funny when it hurts.
Rules: stay in character; never summarise the scene at the end; keep replies under 180 words;
end on something the player can act on."""

out = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": SYSTEM},
        {"role": "user", "content": "The airlock is jammed and something is knocking from the other side."},
    ],
    temperature=0.85,
    top_p=0.95,
    max_tokens=350,
)
print(out.choices[0].message.content)

Pertahankan pesan sistem di awal dan giliran pengguna di akhir. Mengulang persona di setiap pesan pengguna membuang token; pada $0,25 per juta token input, itu murah, tetapi juga memenuhi jendela konteks 100.000 token dalam sesi panjang. Lihat panduan awal cepat jika Anda lebih suka melewati SDK.

Persona dan nada: tunjukkan, jangan kata sifat

Kata sifat adalah tuas yang lemah. "Sarkastik" memberi Anda gelengan mata generik. Sampel dua baris dari suara memberi Anda suara yang sebenarnya. Masukkan pertukaran contoh singkat dalam sistem prompt, lalu beri tahu model untuk mencocokkan ritmenya, bukan menyalin kata-katanya.

  • Beri satu ciri bicara. "Mengakhiri ancaman dengan pertanyaan" lebih berguna daripada "mengancam".
  • Beri satu keinginan. Karakter yang membutuhkan pemain untuk pergi akan tetap lebih tajam daripada karakter yang hanya "kasar".
  • Berikan daftar larangan. "Jangan pernah mengatakan 'tiba-tiba', jangan pernah menggunakan kata 'menggigil'" menghilangkan frasa stok yang pertama kali dicapai model.
  • Berikan panjang. Kata atau kalimat, bukan "pendek". Model membaca "pendek" sangat longgar.

Untuk pergeseran nada di tengah sesi, tambahkan instruksi singkat bergaya sistem baru sebagai pesan terbaru alih-alih menulis ulang yang asli. Baris seperti "Dari sini, Mara takut dan berbicara dalam fragmen" lebih kuat ketika itu baru.

Mendapatkan JSON berdasarkan instruksi

Tidak ada mode JSON khusus untuk diaktifkan, jadi Anda memintanya dan memverifikasinya. Itu kurang rapuh jika Anda mengikuti empat kebiasaan: nyatakan skema yang tepat, larangkan prosa dan pagar kode, jaga suhu tetap rendah, dan parse secara defensif dengan percobaan ulang yang mengutip kegagalan kembali.

import json
import os
from openai import OpenAI

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

INSTRUCTION = """Return ONLY a JSON object, no prose, no code fences.
Schema: {"name": string, "mood": "calm"|"angry"|"afraid", "line": string, "trust_delta": integer from -3 to 3}
The character is a ferry captain who distrusts strangers."""

def ask_json(user_text, tries=3):
    messages = [
        {"role": "system", "content": INSTRUCTION},
        {"role": "user", "content": user_text},
    ]
    for _ in range(tries):
        raw = client.chat.completions.create(
            model="uncensored", messages=messages, temperature=0.3, max_tokens=250
        ).choices[0].message.content.strip()
        if raw.startswith("```"):
            raw = raw.strip("`").removeprefix("json").strip()
        try:
            data = json.loads(raw)
            if data["mood"] in ("calm", "angry", "afraid"):
                return data
        except (json.JSONDecodeError, KeyError):
            pass
        messages.append({"role": "assistant", "content": raw})
        messages.append({"role": "user", "content": "That was not valid per the schema. Reply with the JSON object only."})
    raise ValueError("model never produced valid JSON")

print(ask_json("I need passage across the strait tonight."))

Perhatikan apa yang dilakukan loop saat gagal. Loop tersebut mengembalikan jawaban yang buruk dan menjelaskan kesalahannya, yang memperbaiki sebagian besar kasus pada percobaan kedua. Daftar nilai yang diperbolehkan ("calm"|"angry"|"afraid") karena string terbuka cenderung menyimpang. Jika Anda memerlukan model untuk memicu sesuatu di aplikasi Anda daripada mendeskripsikannya, pemanggilan fungsi dalam format OpenAI didukung dan lebih cocok daripada parsing teks.

Sampel few-shot dan urutan berhenti

Ketika aturan sulit diungkapkan dengan kata-kata, tunjukkan saja. Dua atau tiga contoh percakapan yang diletakkan sebagai pesan user dan assistant sebelumnya mengajarkan format, panjang, dan register lebih andal daripada paragraf deskripsi. Jaga sampel agar pendek dan berbeda satu sama lain, jika tidak model akan meniru struktur yang pertama ke setiap balasan.

Sampel juga memecahkan masalah sebaliknya: balasan yang terlalu panjang. Jika jawaban sampel Anda adalah 60 kata, jawaban langsung cenderung menyimpang menuju 60 kata. Padukan itu dengan max_tokens yang masuk akal sebagai jaring pengaman, bukan sebagai kontrol utama. Batas keras memotong kalimat menjadi setengah; sampel yang baik mengakhirinya dengan sopan.

Untuk adegan multi-pembicara, nilai stop yang sama dengan label pembicara Anda mencegah model meniru pemain. Pilih label yang tidak pernah muncul dalam teks biasa, dan hapus dari riwayat yang disimpan agar tidak bocor ke giliran berikutnya.

Suhu dan top_p: pilih satu tuas

Kedua bidang membentuk distribusi probabilitas yang sama, sehingga menggerakkan keduanya sekaligus membuat hasil sulit dipikirkan. Ubah temperature terlebih dahulu dan biarkan top_p dekat 1 kecuali Anda memiliki alasan.

Tugassuhutop_pMengapa
JSON terstruktur, klasifikasi0,0 hingga 0,31,0Anda menginginkan jawaban yang sama setiap dijalankan
Dialog, roleplay0,7 hingga 0,90,95Variasi tanpa nonsens
Brainstorming, fiksi liar1,0 hingga 1,20,9Kosakata lebih luas; harap harapkan beberapa kegagalan

Rentang ini adalah titik awal dari praktik umum, bukan jaminan. Uji dengan sepuluh sampel prompt Anda sendiri dan bacalah. Tambahkan urutan stop ketika Anda ingin model berhenti pada penanda giliran seperti \nPlayer: alih-alih menulis baris pemain untuknya.

Pola anti-prompt yang membuang token

  1. Teriakan huruf kapital semua. "NEVER EVER FORGET" tidak meningkatkan kepatuhan. Ulangi aturan sekali secara jelas, dan pindahkan ke akhir system prompt.
  2. Aturan negatif saja. "Jangan berulang-ulang" tidak memberikan target. Katakan "variasikan pembukaan kalimat; tidak ada dua kalimat berturut-turut yang dimulai dengan kata yang sama".
  3. Kontradiksi. "Sangat detail" ditambah "tetap singkat" memaksa Anda melempar koin. Pilih satu dan berikan angka.
  4. Pembingkai apologetik. Mengawali permintaan dengan "Saya tahu ini agak kontroversial, tetapi" mengundang penghindaran pernyataan. Nyatakan adegan sebagai fakta fiksi yang biasa saja.
  5. Memenuhi riwayat. Menyalin seluruh log setiap giliran akhirnya mencapai batas 100.000 token dan error 400. Potong giliran lama.
  6. Output tanpa batas. Lupa max_tokens berarti default 2048 menentukan panjang balasan Anda, bukan Anda.

Satu batas tetap tidak berubah apa pun yang dikatakan prompt: konten seksual yang melibatkan anak di bawah umur selalu diblokir dengan 403, termasuk dalam fiksi dan roleplay, dan layanan ini hanya untuk orang dewasa. Jangan habiskan token untuk mencoba mengungkapkannya dengan cara lain. Juga tahan dorongan untuk menambahkan aturan baru setelah setiap jawaban buruk; prompt yang bertambah satu baris sehari akhirnya akan bertentangan dengan dirinya sendiri dalam seminggu, jadi potong sebanyak Anda menambah.

Siklus untuk meningkatkan prompt

Perlakukan prompt sistem seperti kode. Simpan dalam file, ubah satu hal per jalankan, dan bandingkan output secara berdampingan. Rutinitas yang dapat diterapkan: tulis lima input uji tetap, termasuk satu yang bersifat hostil dan satu yang ambigu; jalankan masing-masing pada suhu yang Anda pilih sebanyak tiga kali; catat aturan mana yang paling sering gagal; perbaiki hanya aturan tersebut; jalankan ulang.

Anggaran eksperimen. Sebagai asumsi, system prompt 300 token ditambah input 100 token dan balasan 250 token adalah 400 token input dan 250 token output. Lima belas run biaya sekitar 15 x (400 x $0,25 + 250 x $1,00) / 1.000.000 = sekitar $0,005. Pengujian hampir gratis, jadi tidak ada alasan untuk menebak.

Setelah prompt kokoh, pindahkan ke aplikasi nyata. tutorial bot menunjukkan cara menyimpan riwayat terpisah per saluran, dan panduan konten mencakup penggunaan fiksi dewasa. Detail harga ada di halaman harga.

Tanya jawab

Apakah model tanpa batas memerlukan prompt gaya jailbreak?

Tidak. Konten dewasa yang sah dan fiksi tidak ditolak, sehingga persona biasa dan aturan yang jelas sudah cukup. Konten yang melibatkan anak di bawah umur akan diblokir terlepas dari kata-kata prompt.

Apakah ada mode JSON?

Tidak sebagai saklar terpisah. Minta skema dalam prompt, gunakan suhu rendah, dan validasi output dalam kode, coba ulang sekali atau dua kali saat terjadi kegagalan parsing.

Nilai suhu berapa yang harus saya mulai?

Sekitar 0,8 untuk dialog dan fiksi, 0,2 untuk output terstruktur. Sesuaikan satu nilai pada satu waktu.

Seberapa panjang prompt bisa?

Prompt ditambah penyelesaian harus muat dalam 100.000 token, jika tidak API akan mengembalikan error 400.

Kunci Anda hanya selangkah lagi dari satu formulir

Buat akun, salin kunci, ubah URL dasar. Itu saja seluruh pengaturannya.

Dapatkan kunci API