Uwierzytelnianie i URL bazowy
Zacznij od zastąpienia adresu bazowego i klucza API w konfiguracji klienta. Nasza usługa używa jednego adresu bazowego do wszystkich żądań, co zapewnia kompatybilność z istniejącymi SDK OpenAI. Nie musisz zarządzać wieloma punktami końcowymi dla różnych funkcji. Wygeneruj klucz przez panel za pomocą Google lub e-mail. Chroń ten klucz, ponieważ daje bezpośredni dostęp do Twojego kredytu z góry opłaconego.
Klucz API jest wysyłany w Authorization Nagłówek. Jeśli zgubisz klucz, wygeneruj nowy w panelu, który zastąpi poprzedni aktywny klucz. Nie jest wymagany numer telefonu do odzyskiwania konta, co utrzymuje nasze podejście nastawione na prywatność. Użyj poniższego adresu URL bazowego do wszystkich kolejnych żądań.
URL bazowy: https://api.norestrictedai.com/v1
POST /v1/chat/completions
Wyślij swój prompt do POST /v1/chat/completions endpoint do otrzymywania odpowiedzi tekstowej. Jest to jedyny endpoint potrzebny do generowania tekstu. Identyfikator modelu to uncensored. Jest to model o otwartych wagach, dostrojony do odpowiadania bez odrzucania treści dla prawnego użytku dorosłych. Nie jest to GPT ani Claude. Możesz przesyłać odpowiedzi strumieniowo lub żądać ich w formacie JSON. System obsługuje wywoływanie funkcji i standardowe parametry takie jak temperatura i top_p.
Żądania są przetwarzane jako tekst-wejście, tekst-wyjście. Nie ma możliwości embeddingów ani generowania obrazów. Jeśli ich potrzebujesz, poszukaj gdzie indziej. Nasz fokus to czyste generowanie tekstu z przejrzystym cennikiem tokenów. Błędy i odmowy (z wyjątkiem twardego limitu treści involving minors) nie zużywają Twojego kredytu.
Integracja SDK Python
Użyj oficjalnej biblioteki Python OpenAI do interakcji z naszym API. Ustaw URL bazowy i klucz API w instancji klienta. To podejście pozwala zachować istniejącą strukturę kodu podczas zmiany dostawcy. Biblioteka automatycznie zarządza serializacją JSON i żądaniami HTTP. Możesz użyć tej samej nazwy modelu, co w innych usługach, ale pamiętaj, że nasz identyfikator modelu to uncensored.
Ta metoda jest idealna dla usług backendowych i skryptów. Biblioteka obsługuje zarówno operacje synchroniczne, jak i asynchroniczne. Możesz dostosować wartości temperatury i top_p, aby kontrolować kreatywność. Obiekt odpowiedzi zawiera wygenerowany tekst oraz statystyki użycia tokenów.
Integracja SDK Node
Zintegruj nasze API z aplikacjami Node.js za pomocą standardowego SDK OpenAI. Skonfiguruj klienta, podając bazowy URL i klucz API. To ustawienie działa bezproblemowo z trasami Express lub funkcjami serverless. SDK zarządza cyklem życia żądania, w tym ponownymi próbami i obsługą błędów. Możesz przekazywać wiadomości jako tablicę obiektów roli i treści.
Ta integracja jest idealna dla aplikacji webowych i mikroserwisów. Obiekt odpowiedzi zawiera wygenerowaną treść oraz dane o zużyciu. Możesz włączyć strumieniowanie, aby wysyłać tokeny do klienta w miarę ich generowania. Zmniejsza to postrzegane opóźnienia dla użytkowników końcowych. SDK obsługuje wszystkie standardowe parametry zdefiniowane w specyfikacji API.
Odpowiedzi strumieniowe (SSE)
Włącz strumieniowanie, ustawiając stream parametr do true. API zwraca strumień zdarzeń wysyłanych serwerowo (SSE). Każdy fragment zawiera częściową odpowiedź. Ostatni fragment zawiera całkowite użycie tokenów. Ta funkcja znacznie skraca czas do pierwszego tokena. Jest kluczowa dla interfejsów czatu i aplikacji w czasie rzeczywistym.
Strumień trwa, aż model zakończy generowanie odpowiedzi lub wystąpi błąd. Możesz anulować strumień w dowolnym momencie. Serwer przestaje przetwarzać żądanie, gdy klient się rozłączy. Oszczędza to zasoby obliczeniowe. Używaj trybu strumieniowego, aby zapewnić płynne doświadczenie użytkownika. Użycie tokenów w ostatnim fragmencie pozwala na dokładne śledzenie kosztów.
Limity szybkości i błędy
Nasze API narzuca ścisłe limity szybkości, aby zapewnić stabilność. Masz prawo do 300 żądań na minutę na klucz. Możesz mieć 8 żądań współbieżnych jednocześnie. Maksymalny rozmiar ciała żądania wynosi 8 MB. Jeśli przekroczysz te limity, otrzymasz błąd 429. Błędy, takie jak nieprawidłowe klucze, zwracają kod 401. Niewystarczające środki zwracają kod 402. Te błędy nie zużywają Twoich kredytów.
Okno kontekstowe wynosi 100 000 tokenów dla promptu i uzupełnienia łącznie. Maksymalna długość odpowiedzi to 16 000 tokenów na żądanie. Jeśli nie ustawisz max_tokens, limit wynosi 2 048. Kredyty są prepayowane i nie wygasają. Błędy są darmowe. Jeśli nastąpi potrójne naliczenie opłaty, skontaktuj się z pomocą techniczną. System nie loguje promptów do celów trenowania. Prywatność jest zachowana. Użyj poniższych bloków kodu, aby zaimplementować te funkcje.
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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.norestrictedai.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)