Unfiltered AI Chatbot: Szybki start: Integracja z API LLM bez cenzury
Zintegruj nasz LLM API bez cenzury w kilka minut za pomocą standardowych klientów kompatybilnych z OpenAI. Przewodnik obejmuje uwierzytelnianie, żądania uzupełnienia, strumieniowanie i używanie narzędzi bez odrzuceń treści.
URL bazowy i uwierzytelnianie
Aby rozpocząć integrację, wskaż klientowi URL bazowy https://api.unfilteredaichatbot.cc/v1. API podąża za standardową strukturą chat-completions OpenAI, co oznacza, że możesz używać istniejących SDK, po prostu aktualizując URL bazowy i podając swój klucz API.
Uwierzytelnianie opiera się na nagłówku Authorization. Dołącz swój unikalny klucz w formacie Bearer YOUR_API_KEY. System weryfikuje ten klucz przy każdym zapytaniu. Jeśli klucz jest nieobecny lub nieprawidłowy, otrzymasz błąd 401. Każde konto jest ograniczone do jednego aktywnego klucza; wygenerowanie nowego natychmiast unieważnia poprzedni. Zapewnia to prostą kontrolę dostępu bez złożonych hierarchii uprawnień.
Klucz API jest wyświetlany natychmiast po rejestracji przez Google lub e-mail. Nie jest wymagany numer telefonu, a klucz pozostaje ważny, dopóki Twój przedpłacony kredyt pokrywa zużycie. Błędy i odrzucenia nie zużywają kredytu, więc możesz bezpiecznie przetestować uwierzytelnianie.
Podstawowe żądanie uzupełnienia
Wyślij żądanie POST do /v1/chat/completions, ustawiając identyfikator modelu na uncensored. Payload wymaga tablicy messages zawierającej historię rozmowy. Ten endpoint akceptuje dane wejściowe tekstowe i zwraca dane wyjściowe tekstowe, ściśle przestrzegając formatu chat-completions.
Poniżej znajduje się standardowy przykład curl przedstawiający prostą rozmowę składającą się z dwóch tur. Model odpowie bez blokowania tematyki dla dorosłych lub kontrowersyjnych, pod warunkiem że są one zgodne z prawem. Upewnij się, że jawnie podasz pole model, aby wskazać właściwą instancję bez cenzury.
Dla programistów Pythona oficjalne SDK OpenAI działa od razu. Wystarczy zainicjować klienta swoim URL bazowym i kluczem.
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredaichatbot.cc/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)Dla użytkowników Node.js obowiązuje ta sama struktura. Zainicjuj klienta i wywołaj chat.completions.create.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredaichatbot.cc/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);
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w payload żądania. API zwraca strumień zdarzeń wysłanych przez serwer (SSE), dostarczając tokeny inkrementalnie, gdy są generowane. Jest to idealne dla interfejsów użytkownika w czasie rzeczywistym, gdzie liczy się opóźnienie.
Ostatni fragment strumienia zawiera pełne statystyki użycia, w tym liczbę tokenów wejściowych i wyjściowych. Możesz użyć tych danych do aktualizacji interfejsu użytkownika lub dokładnego śledzenia rozliczeń. Pamiętaj, że zużycie tokenów jest raportowane tylko w ostatnim fragmencie, więc musisz przeanalizować cały strumień, aby uzyskać dokładne liczby.
Oto przykład curl pokazujący strukturę żądania strumieniowego. Zastąp symbol zastępczy swoim rzeczywistym kluczem i treścią wiadomości.
curl https://api.unfilteredaichatbot.cc/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."}]
}'Strumieniowanie nie wpływa na ceny ani limity zapytań; każdy wygenerowany token nadal wlicza się do Twojego zużycia i limitów.
Wywoływanie funkcji
API obsługuje wywoływanie funkcji za pomocą parametrów tools i tool_choice. Zdefiniuj swoje funkcje w tablicy tools, a model zwróci strukturalny JSON, gdy będzie to odpowiednie. Możesz wymusić użycie narzędzi, ustawiając tool_choice na konkretną funkcję lub auto dla decyzji modelu.
Ta funkcja działa w tym samym kontekście bez cenzury, co oznacza, że model nie odmówi wywołania narzędzi związanych z tematami dla dorosłych lub niszowymi, chyba że naruszają one twardy limit treści. Użyj response_format ustawionego na {"type": "json_object"}, jeśli potrzebujesz ścisłego wyjścia JSON do parsowania.
Wywoływanie funkcji jest częścią standardowego endpointu chat-completions, więc nie jest potrzebna dodatkowa konfiguracja poza payload żądania. Upewnij się, że definicje Twoich funkcji zgodne są ze schematem OpenAI dla kompatybilności.
Tryb JSON
Dla aplikacji wymagających danych strukturalnych ustaw response_format na {"type": "json_object"}. To każe modelowi zwrócić poprawny JSON, zmniejszając błędy parsowania w Twoich systemach. Tryb ten jest przydatny do ekstrakcji danych, generowania konfiguracji lub napędzania przepływów pracy agentów.
Tryb JSON działa wraz z wywoływaniem funkcji, ale może być również używany do bezpośredniej konwersji tekst na JSON. Model jest bez cenzury, więc wygeneruje JSON nawet dla złożonych lub nietypowych struktur danych bez odmowy z powodu filtrów treści.
Pamiętaj, że tryb JSON nadal wlicza się do limitów tokenów i rozliczeń. Upewnij się, że Twój prompt jasno definiuje strukturę JSON, aby poprawić jakość wyjścia. Okno kontekstu 100 000 tokenów dotyczy łącznego wejścia i wyjścia.
Limity zapytań i błędy
Każdy klucz API jest ograniczony do 300 zapytań na minutę i 8 zapytań równoległych. Ciało żądania nie może przekraczać 8 MB. Jeśli przekroczysz limit zapytań, API zwróci błąd 429. Jeśli Twój kredyt zostanie wyczerpany, otrzymasz błąd 402. Niepowodzenia uwierzytelniania skutkują błędem 401.
Okno kontekstu wynosi 100 000 tokenów łącznie, z maksymalnym wyjściem 32 000 tokenów na zapytanie (2048, jeśli max_tokens nie jest ustawione). Błędy i odrzucenia są darmowe, więc możesz przetestować limity bez zużywania kredytu. Kredyt nigdy nie wygasa, a kwoty przedpłacone są rozliczane na podstawie rzeczywistego zużycia.
Aby uzyskać szczegółowe informacje o obsłudze błędów, sprawdź kody stanu. 401 wskazuje na nieprawidłowy lub brakujący klucz, podczas gdy 402 wymaga doładowania. Użyj strony wsparcia, aby rozwiązać problemy z rozliczeniami. Nie jest wymagana karta dla kredytu próbnego, ale do doładowania wymagana jest kryptowaluta.
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)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 |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.unfilteredaichatbot.cc/v1 |
| ID modelu | uncensored |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| 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ź) |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Rozmiar zapytania | do 8 MB |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| 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 |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| Bonus | +5% od $50, +10% od $100 |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Logowanie | Google albo e-mail i hasło |
| 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 |
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
Jak uzyskać klucz API?
Zarejestruj się za pomocą opcji 'Kontynuuj z Google' lub e-maila i hasła na stronie pobierania klucza API. Twój klucz pojawi się od razu po rejestracji. Nie jest wymagany numer telefonu, a klucz jest aktywny natychmiast.
Co się stanie, gdy przekroczę limit zapytań?
API zwróci błąd 429. Każdy klucz pozwala na 300 zapytań na minutę i 8 zapytań równoległych. Błędy i odrzucenia nie obciążają Twojego salda kredytu, ale wliczają się do limitu zapytań.
Czy kredyt próbny jest odnawialny?
Nie, kredyt próbny w wysokości $0,50 jest jednorazowy na osobę i ważny przez 7 dni. Po wygaśnięciu lub wykorzystaniu musisz doładować konto kryptowalutą (USDT TRC20 lub USDC Base), aby kontynuować korzystanie z API.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień URL bazowy. To cała konfiguracja.