Szybki start: Zintegruj Uncensored API
Wklej nasze API bez cenzury do istniejącego kodu. Zmień jeden bazowy URL i zachowaj swoją logikę.
Wymagania wstępne: SDK i konfiguracja środowiska
Zainstaluj oficjalne SDK dla swojego języka. Wspieramy dowolny openai kompatybilny klient. Nasza usługa działa jako bezpośrednia wymiana dla standardowych integracji OpenAI.
Skonfiguruj swoją zmienną środowiskową natychmiast. Uniknie to hardkodowania poświadczeń w plikach źródłowych. Twój klucz API identyfikuje Twoje konto i śledzi zużycie.
Użyj wersji biblioteki standardowej. Większość deweloperów ma je już zainstalowane. Jeśli nie, dodaj pakiet do zależności.
Uwierzytelnianie: Ustawianie klucza API
Przekazaj swój klucz poprzez Authorization Nagłówek. Wymagamy tokena Bearer dla każdego żądania. Ta metoda jest standardowa we wszystkich punktach końcowych kompatybilnych z OpenAI.
Wygeneruj swój klucz z panelu. Otrzymujesz jeden aktywny klucz na konto. Jego zastąpienie unieważnia poprzedni natychmiast.
Chroń swój klucz. Nie wystawiaj go w kodzie po stronie klienta. Nasz endpoint weryfikuje poświadczenia przed przetworzeniem tokenów.
Punkt końcowy: POST /v1/chat/completions
Wyślij swój prompt do endpointu chat. Użyj model pole ustawione na uncensored. Zapewnia to, że żądanie jest kierowane do naszego konkretnego modelu.
Odpowiedzi strumieniowe przez SSE
Włącz strumieniowanie, ustawiając stream: true. Otrzymujesz czaty w miarę ich generowania. Zmniejsza to postrzeganą latencję dla długich wyjść.
Przeanalizuj format Server-Sent Events. Każdy fragment zawiera częściowy tekst. Zaggregate te fragmenty, aby odtworzyć pełną odpowiedź.
Monitoruj zużycie tokenów w ostatnim kawałku. Ostatnie zdarzenie zawiera kompletne statystyki użycia. Pomaga to dokładnie śledzić koszty.
Wywoływanie funkcji i użycie narzędzi
Zdefiniuj narzędzia w ciele żądania. Model zwraca strukturalne argumenty. Sparsuj te argumenty w logice swojej aplikacji.
Obsługa standardowych definicji narzędzi. Użyj tool_choice aby wymusić konkretne zachowanie. Działa to z dowolnym SDK kompatybilnym z OpenAI.
Zweryfikuj format wyjścia. Upewnij się, że Twój kod elegancko obsługuje brakujące argumenty. Model może pominąć pola, jeśli nie są wymagane.
Tryb JSON i dane strukturalne
Ustaw response_format do json_object. Model zwraca ściśle sformatowany JSON. To eliminuje błędy parsowania dla danych strukturalnych.
Zdefiniuj wyraźnie swój schemat. Model ściśle podąża za Twoimi instrukcjami. Użyj tego do ekstrakcji danych lub generowania konfiguracji.
Obsłuż błędy parsowania JSON. Nieprawidłowe struktury nadal występują od czasu do czasu. Zaimplementuj logikę fallback dla solidnych aplikacji.
Obsługa błędów i limity szybkości
Obsłuż poprawnie kody statusu HTTP. A 401 błąd oznacza, że Twój klucz jest nieprawidłowy. A 402 błąd wskazuje na niewystarczający kredyt. A 429 błąd sygnalizuje ograniczenie szybkości.
Szranaj limit 300 żądań na minutę. Możesz wysłać 8 żądań równoczesnych. Przekroczenie tych limitów zwraca błąd 429. Poczekaj przed ponowną próbą.
Twój kontekst wynosi 100 000 tokenów. Obejmuje to zarówno wejście, jak i wyjście. Starannie zarządzaj budżetem tokenów. Maksymalna długość odpowiedzi wynosi 16 000 tokenów na żądanie. Błędy nie zużywają kredytu.
cURL
curl https://api.alternativeapiopenai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the primary functions in this module"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.alternativeapiopenai.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.alternativeapiopenai.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)Typowe pytania
Czy to jest prawdziwa alternatywa dla interfejsu API OpenAI?
Tak, stosuje dokładnie protokół OpenAI. Zmieniasz tylko base URL i nazwę modelu. Twój istniejący kod działa bez modyfikacji.
Jaki jest limit okna kontekstu?
Okno kontekstowe wynosi łącznie 100 000 tokenów. Obejmuje ono zarówno Twoje dane wejściowe, jak i output modelu'. Maksymalna długość odpowiedzi na żądanie to 16 000 tokenów.
Jak radzić sobie z limitami szybkości?
Przydział to 300 żądań na minutę. Możesz mieć 8 żądań współbieżnych. Po przekroczeniu tego limitu otrzymasz błąd 429. Poczekaj chwilę przed ponowną próbą.
Generowanie klucza wymaga tylko wypełnienia formularza
Zarejestruj się, skopiuj swój klucz i zaktualizuj swój bazowy URL. To cała wymagana konfiguracja.