ms ▾
Dapatkan kunci percubaan

Penyelesaian Masalah Kesilapan Biasa dengan model abliterated

Memecahkan model abliterated sering bergantung kepada pemahaman bagaimana LLM tanpa sensor mengendalikan struktur, konteks, dan penstriman berbeza daripada API komersial piawai. Dengan menangani pengesahan JSON, had token, dan penalaan parameter, anda boleh memastikan peranan watak NSFW atau pengekodan yang boleh dipercayai tanpa penolakan atau format yang rosak yang tidak dijangka.

Kemas kini terakhir

Ringkasan

Mengapa respons JSON anda gagal pengesahan

Penafsiran JSON gagal apabila model menambah teks perbualan di luar blok kod. Model tanpa sensor mengutamakan aliran bahasa semula jadi, jadi mereka sering menambah "Ini adalah JSON" sebelum atau selepas data mentah. Ini memecahkan parser ketat yang hanya mengharapkan objek.

Gunakan response_format parameter ditetapkan kepada {"type": "json_object"}. Ini memaksa model menghasilkan hanya JSON yang sah. Ia menghilangkan keperluan untuk skrip pembersihan regex dalam kod anda. Walau bagaimanapun, ambil perhatian bahawa ini menggunakan lebih banyak token setiap permintaan kerana model dihadkan.

  • Tetapkan response_format ke json_object dalam payload permintaan anda.
  • Pastikan petua sistem anda secara eksplisit meminta output JSON.
  • Kendalikan koma akhir atau ralat sintaks kecil dengan anggun jika model tersesat.
from openai import OpenAI

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

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

Mengendalikan had jendela konteks dengan betul

Tetingkap konteks anda memegang 100,000 token jumlah, menggabungkan input dan output. Jika anda menghantar sejarah yang panjang, anda mesti mengurangkan panjang output maksimum. Output maksimum lalai ialah 2,048 token kecuali anda menentukan sebaliknya.

Kira baki token anda dengan menolak saiz input anda daripada 100,000. Jika anda melakukan peranan, kekalkan arahan sistem yang ringkas. Simpan hanya giliran perbualan terkini dalam permintaan API. Konteks lama boleh diringkaskan atau dipendekkan. Ini menghalang anda daripada mencapai had keras semasa penjanaan.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.abliteratedllmonline.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Ralat panggilan fungsi dengan model tanpa sensor

Panggilan fungsi gagal apabila model mengabaikan definisi alat atau mengembalikan hujah yang tidak sah. Model tanpa sensor mungkin mengutamakan respons kreatif berbanding penggunaan alat yang ketat. Mereka mungkin mengarang parameter yang tidak wujud dalam skema anda.

Takrifkan alat anda dengan jelas dalam tools array. Gunakan tool_choice untuk memaksa tingkah laku khusus. Jika model menolak untuk memanggil alat, periksa arahan kontradiktori dalam arahan sistem anda. Pastikan nama dan penerangan alat adalah tidak ambigu. Ujian dengan pertanyaan mudah dahulu untuk mengesahkan integrasi.

  • Sertakan nama alat dan penerangannya dengan jelas.
  • Gunakan tool_choice untuk mengawal pemanggilan.
  • Sahkan hujah terhadap skema anda sebelum pelaksanaan.
curl https://api.abliteratedllmonline.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the python dependencies for this flask app"}]
  }'

Gangguan penstriman dan pengendalian SSE

Penstriman melalui Acara Dihantar Pelayan (SSE) boleh menjatuhkan token jika klien memutuskan sambungan atau gangguan rangkaian berlaku. Pecahan terakhir mengandungi statistik penggunaan token. Anda mesti menguraikan pecahan ini untuk mendapatkan kiraan input dan output.

Laksanakan klien SSE yang kukuh yang menangani logik sambungan semula. Jangan andaikan setiap bahagian mengandungi data. Sesetengah bahagian mungkin kosong atau hanya mengandungi ruang putih. Proses bahagian akhir untuk mengemas kini baki kredit atau pengira token anda. Ini memastikan pengebilan dan penjejakan penggunaan yang tepat.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Tetapan suhu yang mempengaruhi output NSFW

Suhu mengawal keacakan output model. Nilai yang lebih tinggi seperti 0.8 atau 0.9 meningkatkan kreativiti dan ketidakpastian. Nilai yang lebih rendah seperti 0.2 menjadikan output lebih deterministik dan fokus. Untuk roleplay NSFW, suhu yang lebih tinggi menghasilkan respons yang lebih pelbagai dan intens.

Eksperimen dengan nilai berbeza untuk mencari keseimbangan yang tepat. Suhu yang terlalu tinggi mungkin menyebabkan teks tidak koheren atau berulang. Suhu yang terlalu rendah mungkin menghasilkan dialog robotik atau hambar. Laraskan berdasarkan nada dan konsistensi yang diingini. Model tanpa sensor bertindak balas dengan baik terhadap tetapan kreativiti yang lebih tinggi.

  • Gunakan 0.7-0.9 untuk roleplay kreatif.
  • Gunakan 0.2-0.5 untuk tugas fakta atau pengkodan.
  • Pantau kualiti output semasa anda melaraskan.

Top P dan kepelbagaian dalam penjanaan watak

Top P (pensampelan nukleus) menghadkan model untuk mempertimbangkan hanya peratusan jisim kebarangkalian teratas. Ia berfungsi dengan suhu untuk mengawal kepelbagaian. Nilai Top P yang rendah menjadikan output lebih boleh diramal. Nilai tinggi membolehkan pilihan perkataan yang lebih pelbagai.

Gabungkan Top P dengan suhu untuk kawalan halus. Sebagai contoh, suhu tinggi dengan Top P rendah boleh menghasilkan teks kreatif tetapi fokus. Ini berguna untuk mengekalkan suara watak sambil membenarkan tindakan spontan. Uji gabungan berbeza untuk sesuai dengan gaya naratif anda.

from openai import OpenAI

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

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

Memahami had dan kos token

Penggunaan token memberi kesan langsung kepada kredit pra-bayar anda. API mengenakan caj $0.15 per juta token input dan $0.50 per juta token output. Token output lebih mahal kerana ia mewakili kerja model. Aliran tidak mengubah kos; anda membayar untuk semua token yang dijana.

Pantau penggunaan token anda untuk mengelakkan caj yang tidak dijangka. Chunk SSE terakhir memberikan jumlah token yang tepat. Gunakan ini untuk mengemas kini baki tempatan atau papan pemuka bil anda. Ralat dan penolakan adalah percuma, jadi anda hanya membayar untuk penyelesaian berjaya. Model bayar mengikut penggunaan ini memastikan anda tidak membayar lebih.

  • Token input berharga $0.15 per juta.
  • Token output berharga $0.50 per juta.
  • Penolakan dan ralat adalah percuma.

Penggantian kunci API dan had kadar

Setiap akaun membenarkan hanya satu kunci API aktif. Jika anda menjana semula kunci anda, kunci lama menjadi tidak sah serta-merta. Ini memastikan keselamatan tetapi memerlukan anda mengemas kini klien anda dengan segera. Had kadar ditetapkan kepada 300 permintaan setiap minit dan 8 permintaan serentak per kunci.

Melampaui had ini mengakibatkan ralat HTTP 429. Laksanakan backoff eksponen dalam logik cuba semula anda. Pantau isipadu permintaan anda untuk kekal dalam had. Jika anda memerlukan throughput yang lebih tinggi, pertimbangkan untuk membahagikan beban kerja anda merentasi beberapa akaun atau mengoptimumkan saiz prompt anda. Kunci ditunjukkan serta-merta selepas pendaftaran, jadi pastikan ia selamat.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.abliteratedllmonline.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Memecahkan ralat HTTP biasa

Ralat HTTP menunjukkan isu dengan permintaan anda atau respons pelayan. Ralat biasa termasuk 400 Permintaan Buruk, 401 Tidak Dibenarkan, dan 429 Terlalu Banyak Permintaan. Ralat 400 sering bermaksud JSON yang rosak atau parameter tidak sah. Ralat 401 menunjukkan kunci API yang salah atau telah luput.

Semak header dan beban permintaan anda untuk ralat sintaks. Sahkan bahawa kunci API anda adalah betul dan aktif. Jika anda mendapat ralat 429, tunggu dan cuba semula dengan kembali eksponen. Gunakan SDK rasmi OpenAI untuk mengendalikan ralat ini secara automatik. Mereka menyediakan mesej ralat yang jelas dan logik percubaan semula. Ini mengurangkan masa pembangunan dan meningkatkan kebolehpercayaan.

  • 400: Periksa sintaks JSON dan parameter.
  • 401: Sahkan kesahihan kunci API.
  • 429: Laksanakan logik cubaan semula dengan penangguhan.
curl https://api.abliteratedllmonline.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the python dependencies for this flask app"}]
  }'

Soalan biasa

Bolehkah saya menggunakan model abliterated dengan SDK OpenAI standard?

Ya, API kami sepenuhnya serasi dengan OpenAI. Anda boleh menggunakan SDK rasmi OpenAI dengan hanya mengubah URL asas ke HTTPS://api.abliteratedllmonline.com/v1 dan menyediakan kunci API anda. ID model untuk dihantar ialah "uncensored". Ini memastikan integrasi lancar dengan kod sedia ada anda.

Adakah model tanpa penapisan menolak kandungan?

Model ini direka untuk menjadi tanpa sensor untuk penggunaan dewasa yang sah. Ia tidak menolak topik kontroversi, fiksyen, atau NSFW. Walau bagaimanapun, terdapat had kandungan yang tegas: permintaan yang melibatkan kandungan seksual dengan kanak-kanak sentiasa ditolak. Ini adalah satu-satunya penolakan ketat dalam perkhidmatan kami.

Bagaimana cara mengendalikan aliran dengan penggunaan token?

Apabila Menggunakan Peristiwa Dihantar Pelayan (SSE), bahagian akhir mengandungi statistik penggunaan token. Anda mesti menguraikan bahagian terakhir ini untuk mendapatkan kiraan token input dan output. Ini membolehkan anda mengesan penggunaan kredit anda dengan tepat dan mengebilnya dengan sewajarnya. Ralat dan penolakan adalah percuma, jadi anda hanya membayar untuk penyelesaian berjaya.

Apakah saiz tetingkap konteks?

Jendela konteks ialah 100,000 token, yang merangkumi kedua-dua prompt dan penyelesaian. Output maksimum setiap permintaan ialah 16,000 token, atau 2,048 token jika anda tidak menentukan parameter max_tokens. Jendela besar ini membolehkan sejarah perbualan mendalam dan pemprosesan dokumen panjang.

Dapatkan Kunci API anda

Daftar, dapatkan kunci anda, dan kemas kini URL asas. Itu sahaja.