Uwierzytelnianie i URL bazowy
Nasze API zostało zaprojektowane jako bezpośrednia wymiana dla istniejących klientów OpenAI. Musisz zmienić tylko dwie rzeczy w swojej konfiguracji: URL bazowy i klucz API. URL bazowy dla tej usługi to https://api.uncensoredgpt.top/v1. Możesz wygenerować swój klucz API natychmiast po zalogowaniu się przez Google lub e-mail w panelu. Nie jest wymagany numer telefonu, a klucz jest wyświetlany raz przy tworzeniu.
Upewnij się, że przechowujesz swój klucz bezpiecznie. Jeśli go zgubisz, możesz wygenerować nowy z panelu, co unieważni poprzedni klucz. Ta prosta konfiguracja pozwala połączyć się z naszym API AI bez cenzury za pomocą standardowych bibliotek bez niestandardowych adapterów.
Endpoint Chat Completions
Podstawowa funkcjonalność jest obsługiwana przez standardowy endpoint POST /v1/chat/completions. Ten endpoint akceptuje wejście tekstowe i zwraca wyjście tekstowe, obsługując zarówno żądania synchroniczne, jak i asynchroniczne. Nie musisz martwić się o routing modelu lub agregację; obsługujemy pojedynczy, wysokowydajny model dużego języka bez cenzury dostosowany do treści bez ograniczeń.
Podczas składania zapytania musisz określić identyfikator modelu jako uncensored. Ten model jest modelem o otwartych wagach i jest hostowany na naszych własnych serwerach, odrębnych od GPT, Claude lub innych modeli dostawców. Został zaprojektowany tak, aby odpowiadać bez odmów treści dla prawnego użytku dorosłego, co czyni go idealnym do tematów NSFW lub kontrowersyjnych.
Aby rozpocząć, możesz przetestować endpoint za pomocą prostego polecenia cURL. Zastąp YOUR_API_KEY swoim rzeczywistym kluczem.
curl https://api.uncensoredgpt.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Odpowiedzi strumieniowe (SSE)
Dla aplikacji w czasie rzeczywistym API obsługuje Server-Sent Events (SSE). Strumieniowanie pozwala otrzymywać tokeny w miarę ich generowania, zapewniając lepsze doświadczenie użytkownika dla interfejsów czatu. Gdy ustawisz stream: true w swoim zapytaniu, API zwraca strumień fragmentów zamiast jednej kompletnej odpowiedzi.
Każdy fragment zawiera częściowy tekst, a ostatni fragment zawiera statystyki użycia tokenów do celów rozliczeniowych. Ta funkcja jest szczególnie przydatna dla aplikacji wymagających natychmiastowej informacji zwrotnej. Możesz obsłużyć strumień w preferowanym języku za pomocą odpowiedniego SDK.
Oto przykład, jak zainicjować żądanie strumieniowe za pomocą cURL:
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)
Wywoływanie funkcji i narzędzia
API obsługuje wywoływanie funkcji, pozwalając Twojej aplikacji na interakcję z zewnętrznymi narzędziami i usługami. Możesz zdefiniować listę funkcji w parametrze tools, a model zwróci wywołanie funkcji, jeśli jest to odpowiednie. Jest to przydatne do budowania agentów lub aplikacji, które muszą wykonywać określone działania.
Możesz kontrolować zachowanie modelu za pomocą tool_choice, który może być ustawiony na auto, none lub konkretny identyfikator funkcji. Model zwróci nazwę funkcji i argumenty w odpowiedzi, które możesz następnie wykonać w swojej aplikacji.
Oto przykład w Pythonie pokazujący, jak używać funkcji wywoływania funkcji z kompatybilnym z OpenAI SDK:
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredgpt.top/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)
Konfiguracja trybu JSON
Jeśli potrzebujesz danych strukturalnych, możesz włączyć tryb JSON, ustawiając parametr response_format na {"type": "json_object"}. Wskazuje to modelowi, aby generował dane zgodne z poprawną składnią JSON. Jest to szczególnie przydatne w aplikacjach wymagających programistycznego parsowania odpowiedzi.
Podczas korzystania z trybu JSON model unika dodawania ogrodzeń markdown lub dodatkowego tekstu wokół obiektu JSON. Zapewnia to, że Twój parser może bezpośrednio przetworzyć odpowiedź bez dodatkowych kroków czyszczenia. To niezawodny sposób na uzyskanie danych strukturalnych z LLM.
Oto przykład w Node.js pokazujący, jak skonfigurować klienta dla trybu JSON:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredgpt.top/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);
Parametry: Temperatura i Top P
Możesz kontrolować losowość i kreatywność odpowiedzi modelu za pomocą parametrów takich jak temperature i top_p. Parametr temperature dostosowuje temperaturę próbkowania, przy czym niższe wartości sprawiają, że wyjście jest bardziej deterministyczne, a wyższe wartości sprawiają, że jest bardziej kreatywne. Parametr top_p kontroluje próbkowanie jądra, ograniczając model do rozważania tylko najwyższej p masy prawdopodobieństwa tokenów.
Inne obsługiwane parametry obejmują sekwencje stop, seed dla reprodukowalności oraz kary za presence_penalty i frequency_penalty. Te parametry pozwalają dopracować zachowanie modelu, aby pasowało do Twojego konkretnego przypadku użycia.
Zrozumienie tych parametrów jest kluczowe dla optymalizacji jakości generowanego tekstu. Eksperymentuj z różnymi wartościami, aby znaleźć odpowiednią równowagę dla swojej aplikacji.
Parametry API
Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.
| Element | Wartość |
|---|---|
| Format API | zgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.uncensoredgpt.top/v1 |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| ID modelu | uncensored |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Tryb JSON | response_format: {"type": "json_object"} |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Rozmiar zapytania | do 8 MB |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Darmowy kredyt | $0,50 na 7 dni, bez karty · Klucz próbny: 2 równoległe żądania, 60 na minutę; pełne limity (8 i 300) po pierwszym doładowaniu |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Bonus | +5% od $50, +10% od $100 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| Treści | treści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane |
| Logowanie | Google albo e-mail i hasło |
Kody błędów
Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.
| Kod | Typ | Znaczenie |
|---|---|---|
400 | bad_request | błędny JSON, puste wiadomości, zły parametr lub za długi kontekst |
401 | missing_key · invalid_key · key_revoked | brak klucza, zły klucz lub klucz zastąpiony nowym |
402 | no_credit | brak kredytu — doładuj, działa od razu |
403 | content_blocked | treści seksualne z nieletnimi — odmowa, bez opłaty |
404 | not_found | nieznany endpoint |
413 | request_too_large | treść większa niż 8 MB |
429 | rate_limited · concurrency | ponad 300/min lub 8 równolegle — odczekaj i ponów |
503 | upstream_busy | model zajęty — ponów za kilka sekund |
Pytania i odpowiedzi
Co się stanie, jeśli przekroczysz limit zapytań?
Jeśli przekroczysz limit 300 zapytań na minutę lub 8 równoległych zapytań, otrzymasz błąd 429 Zbyt wiele żądań. Twój klucz API jest ograniczony do 8 jednoczesnych połączeń, więc upewnij się, że Twoja aplikacja odpowiednio obsługuje równoległe zapytania, aby nie przekroczyć tego limitu.
Dlaczego otrzymuję błąd 402?
Błąd 402 oznacza, że Twój przedpłacony kredyt został wyczerpany. Ponieważ używamy modelu tokenów z przedpłatą, musisz doładować swoje konto, aby kontynuować korzystanie z API. Błędy i odmowy nie zużywają kredytu, więc płacisz tylko za pomyślne użycie tokenów.
Jaki jest limit okna kontekstu?
Model obsługuje okno kontekstu o rozmiarze 100 000 tokenów, które obejmuje zarówno prompt, jak i uzupełnienie. Maksymalna ilość danych wyjściowych na zapytanie to 32 000 tokenów, lub 2 048 tokenów, jeśli nie określisz wartości max_tokens. Pozwala to na generowanie długich treści i wykonywanie złożonych zadań rozumowania.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.