Wymagania wstępne i konfiguracja
Aby korzystać z naszego proxy api openai, potrzebujesz oficjalnego SDK dla swojego języka i ważnego klucza API. Zarejestruj się w panelu, aby natychmiast otrzymać klucz. Nie potrzebujesz karty kredytowej do wersji próbnej. Ustaw dwie zmienne środowiskowe: OPENAI_API_KEY ze swoim kluczem oraz OPENAI_BASE_URL wskazujący na nasz endpoint. To podejście zapewnia działanie istniejącego kodu bez modyfikacji, działając jako przezroczysty proxy llm dla Twoich aplikacji.
Nasza usługa korzysta ze standardowego ID modelu uncensored. Ponieważ jesteśmy proxy dla jednego modelu, nie musisz zarządzać skomplikowaną logiką routingu. Bazowy URL to https://api.openaiapiproxy.com/v1. Po skonfigurowaniu Twój klient traktuje naszą usługę dokładnie jak każde inne endpoint kompatybilne z OpenAI.
Pierwsze żądanie i konfiguracja Pythona
Zacznij od wysłania prostego żądania ukończenia czatu. Potwierdzi to uwierzytelnienie i łączność. Poniższy przykład używa podstawowego promptu tekstowego do weryfikacji zachowania bez cenzury. Zastąp wartości zastępcze swoimi rzeczywistymi danymi logowania.
Dla programistów Pythona oficjalna biblioteka openai przejmuje złożoność. Po prostu wskaż klientowi nasz bazowy URL. Poniższy kod demonstruje standardowe żądanie synchroniczne. Wysyła prompt i zwraca odpowiedź modelu. To najszybszy sposób na weryfikację integracji.
Upewnij się, że zmienne środowiskowe są załadowane przed utworzeniem instancji klienta. SDK automatycznie używa standardowego formatu OpenAI dla żądań i odpowiedzi.
Integracja z Node.js
Jeśli budujesz aplikację w Node.js, proces jest identyczny jak w Pythonie. Użyj pakietu @ai-sdk/openai lub oficjalnego pakietu npm openai. Wskaż klientowi nasz bazowy URL i podaj swój klucz API. SDK przejmuje serializację JSON i żądania HTTP za Ciebie.
Ta konfiguracja działa z każdą biblioteką klienta kompatybilną z OpenAI. Możesz ponownie wykorzystać istniejące szablony promptów i struktury wiadomości. Format odpowiedzi odpowiada standardowemu schematowi OpenAI, co ułatwia zmianę dostawcy w razie potrzeby.
Pamiętaj o obsłudze błędów. Problemy sieciowe lub nieprawidłowe klucze zwrócą standardowe kody błędów HTTP. Sprawdź dokumentację dla swojej konkretnej wersji SDK, aby uzyskać szczegółowe informacje o obsłudze błędów.
Odpowiedzi strumieniowe
W aplikacjach czasu rzeczywistego włącz strumieniowanie, aby otrzymywać tokeny w miarę ich generowania. Zmniejsza to postrzeganą latencję dla użytkowników końcowych. SDK natywnie obsługuje zdarzenia wysyłane serwerowo (SSE). Iterujesz po strumieniu odpowiedzi, aby przetwarzać każdy token.
Strumieniowanie jest idealne dla interfejsów czatowych, gdzie użytkownicy oczekują natychmiastowej informacji zwrotnej. Model generuje tekst nieprzerwanie, a Ty możesz dołączać każdy token do interfejsu użytkownika. Zapewnia to płynniejsze doświadczenie użytkownika w porównaniu do oczekiwania na pełną odpowiedź.
Endpoint strumieniowania używa tego samego bazowego URL i uwierzytelniania. Musisz tylko włączyć flagę stream w parametrach żądania. SDK przejmuje cykl życia połączenia i odzyskiwanie po błędach.
Limity zapytań i ograniczenia
Nasze API narzuca ścisłe limity, aby zapewnić niezawodność. Masz dozwolone 300 zapytań na minutę na klucz API. Maksymalny rozmiar ciała żądania to 8 MB. Jeśli przekroczysz limit zapytań, otrzymasz kod statusu 429. Zaimplementuj wykładnicze opóźnienie ponownych prób w swoim kliencie, aby obsłużyć te błędy.
Błędy uwierzytelniania zwracają kod statusu 401, jeśli klucz jest nieprawidłowy lub unieważniony. Problemy z płatnością zwracają kod statusu 402, gdy Twój przedpłacony kredyt zostanie wyczerpany. Doładowania są dostępne natychmiastowo za pomocą kryptowalut (USDT lub USDC). Twój przedpłacony kredyt nigdy nie wygasa, więc możesz płacić za zużycie.
Okno kontekstu wynosi 100 000 tokenów dla sumy wejścia i wyjścia. Zaplanuj swoje prompty odpowiednio, aby uniknąć obcinania. Model przestanie generować, gdy osiągnie limit.
Modele i polityka treści
Dostępny jest tylko jeden model uncensored, model o otwartych wagach zoptymalizowany pod kątem legalnej treści dla dorosłych i twórczego pisania. Nie odrzuca domyślnie kontrowersyjnych lub eksplicytnych tematów. Dzięki czemu jest idealny do zastosowań, w których standardowe modele mogą być zbyt restrykcyjne.
Nie oferujemy osadzania, generowania obrazów ani przetwarzania dźwięku. To jest API tylko do tekstu. Model nie jest GPT, Claude ani żadnym innym modelem dostawcy. Jest dostrojony specjalnie dla naszej infrastruktury.
Treści seksualne z udziałem małoletnich są zawsze blokowane. Pozostała treść prawna jest dozwolona. Nie używamy Twoich promptów do trenowania. Twoje dane pozostają prywatne i są używane wyłącznie do wygenerowania odpowiedzi na Twoje zapytanie.
cURL
curl https://api.openaiapiproxy.com/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.openaiapiproxy.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.openaiapiproxy.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)