Szybki start: Pierwsze żądanie
Wyślij żądanie completion do pojedynczego endpointu uncensored. API akceptuje standardowe ładunki JSON chat-completions i zwraca odpowiedzi tekstowe bez odrzuceń treści dla prawnego użytku dorosłego.
Użyj base URL podanego w Twoim panelu. Dołącz swój klucz API w nagłówku authorization. Ustaw identyfikator modelu na uncensored. Zapewnia to, że trafiasz na właściwy serwer uruchamiający model open-weight dostrojony do nieograniczonych wyjść.
Zacznij od prostego prompta, aby zweryfikować łączność. System zwraca użycie tokenów i wygenerowany tekst w ciele odpowiedzi.
Uwierzytelnianie i klucze
Uwierzytelnij każde żądanie za pomocą tokena Bearer w Authorization Nagłówek. Twój klucz API jest generowany natychmiast po rejestracji za pomocą Google lub e-mail.
Chroń swój klucz. Tylko jeden aktywny klucz istnieje na konto; wygenerowanie nowego unieważnia poprzedni klucz. Klucz daje pełny dostęp do salda Twojej zaliczki.
Jeśli klucz jest nieprawidłowy lub wygasł, API zwraca błąd 401.
Punkt końcowy Uzupełnień Czat
Wchodź w interakcję z modelem za pomocą standardowego POST /v1/chat/completions endpoint. Ten endpoint obsługuje wszystkie zadania generowania tekstu.
Wyślij historię wiadomości w messages tablicy. API przetwarza dane wejściowe i zwraca odpowiedź modelu. Możesz dołączyć prompty systemowe, aby kierować zachowaniem.
Punkt końcowy obsługuje tryb JSON i wywoływanie funkcji. Użyj tych funkcji, aby bezproblemowo zintegrować API ze swoimi aplikacjami.
Upewnij się, że Twój ładunek mieści się w limicie 8 MB ciała żądania.
Strumieniowanie i SSE
Włącz generowanie tokenów w czasie rzeczywistym, ustawiając stream: true w Twoim żądaniu. API zwraca strumień zdarzeń wysłanych przez serwer.
Każdy chunk zawiera częściowe aktualizacje tekstu. Ostatni chunk zawiera pełne statystyki zużycia tokenów.
To podejście zmniejsza postrzegane opóźnienia dla użytkowników końcowych. Pozwala Twojej aplikacji wyświetlać tekst w miarę jego generowania.
Obsługuj przerwania strumieniowania w sposób elegancki. API gwarantuje dostarczenie wszystkich tokenów, jeśli połączenie pozostaje stabilne.
Parametry i opcje
Kontroluj zachowanie generowania za pomocą standardowych parametrów. Dostosuj temperature do kreatywności lub determinizmu. Użyj top_p do próbkowania jądra (nucleus sampling).
Ustaw max_tokens ograniczenie długości outputu. Wartość domyślna to 2,048 tokenów. Maksymalna dozwolona wartość to 16,000 tokenów na żądanie.
Użyj stop sekwencje do zatrzymywania generowania na konkretnych znacznikach. The seed parameter zapewnia powtarzalne wyniki do debugowania.
Te opcje działają konsekwentnie we wszystkich klientach.
Obsługa błędów i limity
Monitoruj szybkość zapytań i saldo kredytu. API narzuca limit 300 zapytań na minutę na klucz.
Błąd 429 oznacza, że przekroczyłeś limit szybkości. Błąd 402 oznacza, że Twoje pre-paidowe środki zostały wyczerpane.
Okno kontekstowe obsługuje łącznie 100 000 tokenów. Obejmuje ono zarówno prompt, jak i uzupełnienie.
Błędy podczas przetwarzania nie zużywają kredytu. Pobierana jest opłata tylko za udne generowanie tokenów.
cURL
curl https://api.mostuncensoredllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a list of ten distinct Linux shell commands for system monitoring."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mostuncensoredllm.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mostuncensoredllm.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);Strumieniowanie
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)