URL Dasar dan Autentikasi
Terhubung ke api kompatibel openai dengan memperbarui konfigurasi klien Anda untuk menunjuk ke https://api.openaicompatibleapiendpoints.com/v1. Anda memerlukan kunci API yang valid yang dikirim di Authorization header sebagai token Bearer. Penyiapan ini berfungsi dengan SDK resmi OpenAI dan pustaka klien yang kompatibel. Tidak diperlukan konfigurasi gateway yang kompleks.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Setiap permintaan harus menyertakan kunci unik Anda. Jika kunci hilang atau tidak valid, server mengembalikan kesalahan 401 segera. Ini memastikan panggilan Anda mencapai LLM uncensored yang benar tanpa penundaan pengalihan.
Endpoint Chat Completions
Kirim pesan ke POST /v1/chat/completions endpoint untuk mendapatkan respons teks dari uncensored model. Endpoint ini menangani giliran percakapan standar dan mendukung jendela konteks hingga 100.000 token. Anda dapat menetapkan output maksimum 16.000 token per permintaan. Model menjawab tanpa penolakan konten untuk topik dewasa yang sah.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)Gunakan standar messages format array. API mengabaikan bidang tambahan yang tidak dikenalnya, sehingga migrasi menjadi mudah. Anda hanya membayar untuk token yang sebenarnya dikonsumsi oleh model.
Respons Streaming
Aktifkan pengiriman token real-time dengan mengatur stream: true dalam permintaan Anda. server mengirim serangkaian Server-Sent Events (SSE) hingga respons selesai. Statistik penggunaan token muncul di chunk terakhir stream. Ini mengurangi latensi yang dirasakan bagi pengguna yang menunggu jawaban panjang.
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)Buffer token yang masuk di sisi klien untuk merekonstruksi teks penuh. Kesalahan selama streaming jarang terjadi tetapi harus ditangani dengan memeriksa peristiwa terakhir untuk kode kesalahan. Stream berhenti secara otomatis ketika batas konteks atau token maksimum tercapai.
Mode JSON dan Alat
Paksa output terstruktur dengan mengatur response_format ke {"type": "json_object"}Ini memastikan model mengembalikan JSON alih-alih teks markdown. Anda juga dapat menggunakan tools parameter untuk pemanggilan fungsi. API mendukung tool_choice untuk kontrol presisi atas fungsi mana yang dipanggil model.
Gunakan temperature dan top_p untuk menyesuaikan keacakan. Set seed untuk hasil yang dapat direproduksi selama debugging. Parameter ini bekerja persis seperti yang diharapkan dalam integrasi yang kompatibel dengan OpenAI.
Penanganan Kesalahan dan Batasan
Tangani kesalahan HTTP standar untuk mengelola kegagalan sisi klien dengan baik. Status 401 berarti kunci API Anda tidak valid. Status 402 menunjukkan kredit prabayar Anda telah habis. Error 429 menandakan Anda telah melebihi batas 300 permintaan per menit.
Setiap kunci mengizinkan delapan permintaan simultan. Body permintaan dibatasi hingga 8 MB. Pengembalian dana tidak diterbitkan untuk kredit yang digunakan, tetapi error selama pemrosesan gratis. Selalu periksa error object dalam respons JSON untuk detail.
Jendela Konteks dan Detail Model
Model ini mendukung jendela konteks 100.000 token untuk prompt dan completion secara gabungan. Hal ini memungkinkan penyimpanan konteks mendalam untuk dokumen panjang atau percakapan yang berlangsung lama. Output max default adalah 2.048 token jika Anda tidak menentukan max_tokens. Anda dapat meningkatkan ini hingga 16.000 token per permintaan.
Model ini bukan GPT, Claude, atau model vendor lain. Ini adalah model bobot terbuka yang disesuaikan untuk respons tanpa sensor. Tidak ada data dari prompt Anda yang digunakan untuk pelatihan. Ini memastikan privasi untuk data milik Anda.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);