Bazowy URL i autoryzacja
Połącz się z naszym API kompatybilne z openai poprzez zaktualizowanie konfiguracji klienta tak, aby wskazywał na https://api.openaicompatibleapiendpoints.com/v1. Potrzebujesz ważnego klucza API wysłanego w Authorization nagłówek jako token Bearer. To rozwiązanie działa z oficjalnymi SDK OpenAI i dowolną kompatybilną biblioteką klienta. Nie jest wymagana skomplikowana konfiguracja bramy.
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"}]
}'Każde żądanie musi zawierać Twój unikalny klucz. Jeśli klucz jest brakujący lub nieprawidłowy, serwer zwraca błąd 401 natychmiast. Zapewnia to, że Twoje wywołania trafiają do właściwego LLM uncensored bez opóźnień routingu.
Punkt końcowy Uzupełnień Czat
Wyślij wiadomości do POST /v1/chat/completions endpoint do otrzymywania odpowiedzi tekstowych z uncensored model. Ten punkt końcowy obsługuje standardowe tury konwersacyjne i obsługuje okno kontekstowe do 100 000 tokenów. Możesz ustawić maksymalne wyjście na 16 000 tokenów na żądanie. Model odpowiada bez odmów treści dla prawnego tematyki dorosłej.
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)Użyj standardowego messages format tablicy. API ignoruje dodatkowe pola, których nie rozpoznaje, co ułatwia migrację. Płacisz tylko za tokeny faktycznie zużyte przez model.
Odpowiedzi strumieniowe
Włącz dostarczanie tokenów w czasie rzeczywistym, ustawiając stream: true w Twoim żądaniu. Serwer wysyła serię Zdarzeń Wysyłanych przez Serwer (SSE), dopóki odpowiedź nie zostanie ukończona. Statystyki dotyczące użycia tokenów pojawiają się w ostatnim chunku strumienia. Zmniejsza to postrzeganą latencję dla użytkowników oczekujących na długie odpowiedzi.
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)Buforuj przychodzące tokeny po stronie klienta, aby zrekonstruować pełny tekst. Błędy podczas strumieniowania są rzadkie, ale powinny być obsługiwane poprzez sprawdzenie ostatniego zdarzenia pod kątem kodu błędu. Strumień zatrzymuje się automatycznie, gdy zostanie osiągnięty limit kontekstu lub maksymalna liczba tokenów.
Tryb JSON i narzędzia
Wymuś dane strukturalne, ustawiając response_format do {"type": "json_object"}. Zapewnia to, że model zwraca poprawny JSON zamiast tekstu w formacie markdown. Możesz również użyć tools parametr wywoływania funkcji. API obsługuje tool_choice dla precyzyjnej kontroli nad tym, które funkcje wywoła model.
Użyj temperature i top_p do dostosowania losowości. Ustaw seed dla odtwarzalnych wyników podczas debugowania. Te parametry działają dokładnie tak, jak oczekiwano w standardowych integracjach kompatybilnych z OpenAI.
Obsługa błędów i limity
Obsłuż standardowe błędy HTTP, aby z gracją zarządzać awariami po stronie klienta. Status 401 oznacza, że Twój klucz API jest nieprawidłowy. Status 402 wskazuje, że Twoja zaliczka została wyczerpana. Błąd 429 sygnalizuje przekroczenie limitu 300 żądań na minutę.
Każdy klucz pozwala na osiem żądań równoczesnych. Ciało żądania jest ograniczone do 8 MB. Zwroty nie są wydawane za zużyty kredyt, ale błędy podczas przetwarzania są darmowe. Zawsze sprawdzaj error obiekt w odpowiedzi JSON po szczegóły.
Okno kontekstu i szczegóły modelu
Model obsługuje okno kontekstu o rozmiarze 100 000 tokenów, obejmujące zarówno prompt, jak i uzupełnienie łącznie. Pozwala to na głębokie zachowanie kontekstu dla długich dokumentów lub przedłużonych rozmów. Domyślny max output wynosi 2 048 tokenów, jeśli nie określisz max_tokens. Możesz zwiększyć tę wartość do 16 000 tokenów na żądanie.
Model nie jest GPT, Claude ani żadnym innym modelem dostawcy. To model open-weight dostrojony do odpowiedzi uncensored. Dane z twoich promptów nie są używane do trenowania. Zapewnia to prywatność twoich danych własnościowych.
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);