Uwierzytelnianie: Ustawianie klucza API
Twój klucz API uwierzytelnia każde żądanie. Otrzymujesz ten klucz natychmiast po rejestracji za pomocą Google lub adresu e-mail. Zachowaj go bezpiecznie, ponieważ daje dostęp do Twojego kredytu z góry opłaconego. Klucz działa jako Twój jedyny identyfikator dla limitów szybkości i rozliczeń. Zmień go ręcznie w panelu, jeśli jest to konieczne, pamiętając, że nowy klucz natychmiast zastępuje stary.
Struktura bazowego URL i endpointu
Podstawowy adres URL to HTTPS://api.chatunfiltered.com/v1. Ta struktura zapewnia kompatybilność ze standardowymi bibliotekami OpenAI SDK. Musisz tylko korzystać z punktu końcowego uzupełnień czatu. Embeddingi, generowanie obrazów i przetwarzanie audio nie są dostępne. Utrzymuj spójność podstawowego adresu URL we wszystkich konfiguracjach klienta, aby uniknąć błędów routingu.
curl https://api.chatunfiltered.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check server status"}]
}'
Wykonywanie pierwszego żądania POST
Wyślij żądanie POST do /v1/chat/completions, aby wygenerować tekst. Dołącz swój klucz API w nagłówku Authorization. Ustaw model na "uncensored", aby uzyskać dostęp do dedykowanego LLM bez cenzury. Ciało żądania musi zawierać tablicę messages z Twoim promptem. Odpowiedzi zwracają zużycie tokenów oraz wygenerowaną treść. To bezpośrednie podejście minimalizuje opóźnienia w porównaniu do wielomodelowych proxy.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatunfiltered.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)
Zrozumienie formatów odpowiedzi i strumieniowania
Otrzymuj odpowiedzi w standardowym formacie JSON lub strumieniuj je za pomocą Server-Sent Events. Strumieniowanie pozwala przetwarzać tokeny w miarę ich generowania, co poprawia postrzeganą opóźnienie dla długich wyjść. Ostatni fragment strumienia zawiera całkowite zużycie tokenów dla dokładnych rozliczeń. Możesz również wymusić tryb JSON dla danych wyjściowych o strukturze. Wybierz metodę, która najlepiej pasuje do architektury Twojej aplikacji.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatunfiltered.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);
Konfigurowanie parametrów: Temperatura, Top-P i Narzędzia
Dostosuj temperaturę i top_p, aby kontrolować losowość odpowiedzi. Użyj tool_choice dla możliwości wywoływania funkcji. Model obsługuje ścisły tryb JSON poprzez response_format. Możesz również ustawić sekwencje stop, aby zatrzymać generowanie w określonych punktach. Te parametry pozwalają na drobną kontrolę nad zachowaniem modelu uncensored bez zewnętrznych warstw routingu.
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)
Obsługa błędów i śledzenie zużycia tokenów
Obsługuj błędy 401 dla nieprawidłowych kluczy i błędy 402 dla niewystarczającego kredytu. Limity szybkości zwracają 429, gdy przekroczysz 300 żądań na minutę. Twoje okno kontekstowe obejmuje 100 000 tokenów łącznie z promptem i completion. Błędy i odmowy nie zużywają Twojego zapasu kredytowego. Śledź użycie tokenów w ostatnim kawałku strumieniowania, aby dokładnie zarządzać kosztami.