Adres bazowy i uwierzytelnianie
API Unrestricted AI jest hostowane pod adresem https://api.unrestrictedai.top/v1. Działa zgodnie ze strukturą OpenAI chat completions, co oznacza, że możesz używać istniejących SDK OpenAI, po prostu aktualizując base_url i podając swój klucz API. Potrzebujesz tylko jednego aktywnego klucza na konto, który zapewnia natychmiastowy dostęp do modelu bez cenzury. Autoryzacja jest realizowana za pomocą nagłówka Authorization z użyciem schematu Bearer. Upewnij się, że Twój klucz jest bezpieczny, ponieważ kontroluje on zużycie przedpłaconego kredytu. W przeciwieństwie do usług subskrypcyjnych, płacisz tylko za przetworzone tokeny, a błędy i odmowy są rozliczane przy zerowej liczbie tokenów.
Twoje pierwsze zapytanie
Wyślij standardowe zapytanie o ukończenie czatu, aby przetestować łączność. ID modelu to zawsze uncensored. Ten endpoint akceptuje dane wejściowe tekstowe i zwraca dane wyjściowe tekstowe, obsługując do 100 000 tokenów w oknie kontekstu. Jeśli nie określisz max_tokens, API domyślnie ustawia 2048 tokenów wyjściowych. To proste zapytanie POST demonstruje podstawową funkcjonalność: wysyłanie promptu i otrzymywanie wygenerowanej odpowiedzi bez filtrów treści dla legalnych treści dla dorosłych lub kontrowersyjnych tematów.
Integracja z Python SDK
Użycie oficjalnej biblioteki Python OpenAI to najszybszy sposób na integrację. Wskaż klientowi nasz adres bazowy i przekaż swój klucz. Poniższy kod pokazuje podstawowe zapytanie synchroniczne. To podejście automatycznie obsługuje parsowanie JSON, pozwalając na bezpośredni dostęp do treści odpowiedzi w zmiennych Python. Jest idealne dla usług backendowych lub przetwarzania wsadowego, gdzie opóźnienia strumieniowania są mniej istotne niż prostota kodu.
Integracja z Node.js SDK
W środowiskach JavaScript skonfiguruj klienta OpenAI Node.js, aby celował w nasz endpoint. Asynchroniczna natura Node.js dobrze współgra z czasem odpowiedzi API. Ustaw poprawnie adres bazowy, a SDK obsłuży formatowanie zapytania. Pamiętaj, że to API nie obsługuje endpointów obrazów, audio ani embeddingów, więc trzymaj się ukończeń opartych na tekście. Ta metoda jest odpowiednia dla serwerów sieciowych lub funkcji brzegowych, gdzie musisz wstrzyknąć odpowiedzi LLM bez cenzury do dynamicznej zawartości.
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca dane za pomocą Server-Sent Events (SSE), pozwalając na otrzymywanie tokenów w czasie rzeczywistym. Zużycie tokenów i metryki rozliczeniowe są zawarte w ostatnim kawałku strumienia. Zmniejsza to postrzegane opóźnienia dla użytkowników końcowych, szczególnie przy długich odpowiedziach. Strumieniowanie jest zalecane dla interfejsów czatowych, gdzie natychmiastowe renderowanie tekstu poprawia doświadczenie użytkownika. Monitoruj ostatni kawałek pod kątem całkowitej liczby tokenów, aby dokładnie śledzić swój przedpłacony kredyt.
Limity, błędy i kontekst
Każdy klucz API jest ograniczony do 300 zapytań na minutę i 8 równoległych zapytań. Ciało zapytania nie może przekraczać 8 MB. Powszechne błędy to 401 dla nieprawidłowych kluczy, 402 gdy przedpłacony kredyt się wyczerpie oraz 429 dla limitów zapytań. Okno kontekstu obsługuje łącznie 100 000 tokenów, w tym zarówno prompt, jak i uzupełnienie. Jeśli przekroczysz te limity, wdrożaj wykładnicze opóźnienie ponownych prób. Kredyt nigdy nie wygasa, a błędy, takie jak podwójne obciążenia, są obsługiwane na stronie Wsparcie, zapewniając nieograniczone utrzymanie wartości przedpłaconego kredytu.
cURL
curl https://api.unrestrictedai.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedai.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedai.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);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)