Szybki start: Integracja z proxy LLM
Zintegruj nasze proxy LLM bez cenzury, zmieniając tylko jeden adres bazowy. Kompatybilność z OpenAI oznacza, że Twój istniejący kod działa bez modyfikacji.
Adres bazowy i uwierzytelnianie
Zamień standardowy adres bazowy OpenAI na nasz endpoint. Uwierzytelnianie odbywa się za pomocą tokenu Bearer w nagłówku Authorization. Podejście to działa z każdą biblioteką kliencką kompatybilną z OpenAI. Nie musisz zmieniać logiki kodu, tylko wartości konfiguracyjne. Nasze API naśladuje strukturę standardowego interfejsu OpenAI, zapewniając poprawność istniejącego kodu integracji. Skróca to czas integracji do minut zamiast dni. Możesz wygenerować klucz ponownie w dowolnym momencie z pulpitu nawigacyjnego, co natychmiast unieważnia stary klucz. Zapewnia to bezpieczeństwo bez konieczności stosowania złożonej logiki rotacji tokenów w aplikacji.
Pierwsze zapytanie
Wyślij standardowe zapytanie o uzupełnienie czatu, aby przetestować łączność. Endpoint akceptuje ładunki JSON z identyfikatorem modelu i historią wiadomości. Nasz identyfikator modelu to "uncensored". Identyfikator ten mówi proxy, do którego modelu bez cenzury ma przekierować Twoje zapytanie. Struktura odpowiedzi odzwierciedla format OpenAI, zawierając treść wiadomości asystenta. Możesz zweryfikować odpowiedź, sprawdzając pole content w wyjściu JSON. Potwierdza to poprawność uwierzytelniania i struktury ładunku. Endpoint obsługuje zarówno tryb strumieniowania, jak i niestrumieniowy dla standardowych zapytań.
curl https://api.llmproxyapi.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."}]
}'
Integracja z Python SDK
Użyj oficjalnej biblioteki Python OpenAI do interakcji z naszym API. Ustaw api_key na swój klucz proxy, a base_url na nasz endpoint. Pozostałe zachowanie biblioteki pozostaje identyczne jak w standardowym użyciu OpenAI. Obejmuje to obsługę klientów asynchronicznych, ponawianie prób i standardową obsługę błędów. Możesz przekazać te same parametry, których normalnie używasz, takie jak temperatura i maksymalna liczba tokenów. Proxy obsługuje trasowanie do modelu bez cenzury w tle. Pozwala to na utrzymanie istniejącej bazy kodu Pythona przy jednoczesnym uzyskaniu dostępu do możliwości naszego modelu.
from openai import OpenAI
client = OpenAI(base_url="https://api.llmproxyapi.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)
Integracja z Node SDK
SDK Node.js działa z naszym API poprzez nadpisanie adresu bazowego. Zainicjuj klienta swoim kluczem API proxy i poprawnym endpointem. Wszystkie inne metody, takie jak chat.completions.create, działają zgodnie z oczekiwaniami. Obejmuje to obsługę standardowych obiektów odpowiedzi i typów błędów. Możesz użyć tych samych struktur wiadomości i parametrów, co w OpenAI. Proxy zapewnia, że zapytanie jest przetwarzane przez model bez cenzury. Ta kompatybilność pozwala programistom szybko wymieniać dostawców bez przepisywania logiki klienta. Jest idealny dla mikroserwisów, które już używają wzorca SDK OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmproxyapi.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);
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając parametr stream na true w swoim zapytaniu. API zwraca strumień Server-Sent Events (SSE). Każdy fragment zawiera częściowe aktualizacje tokenów, umożliwiając wyświetlanie odpowiedzi w czasie rzeczywistym. Jest to krytyczne dla interfejsów czatu i aplikacji wymagających natychmiastowej informacji zwrotnej. Strumień kończy się końcowym fragmentem zawierającym pełne metadane odpowiedzi. Możesz analizować fragmenty za pomocą standardowych bibliotek SSE w preferowanym języku. Ta funkcja działa bezproblemowo z SDK OpenAI, które automatycznie obsługują logikę parsowania. Zapewnia płynne doświadczenie użytkownika bez oczekiwania na wygenerowanie całej odpowiedzi.
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)
Limity zapytań i ograniczenia
Nasze API narzuca limit 300 zapytań na minutę na klucz. Jeśli go przekroczysz, otrzymasz kod statusu 429. Upewnij się, że zaimplementowałeś logikę ponownych prób z wykładniczym opóźnieniem dla tych przypadków. Rozmiar ciała zapytania jest ograniczony do 8 MB. Ograniczenie to dotyczy całkowitego ładunku JSON, w tym promptu i kontekstu. Cennik opiera się na zużyciu: $0,25 za milion tokenów wejściowych i $1,00 za milion tokenów wyjściowych. Kredyty są przedpłacone i nie wygasają. Jeśli Twoje saldo jest niewystarczające, zapytania zwrócą błąd 402. Błędy uwierzytelniania zwracają status 401. Nie ma złożonego trasowania ani wyboru dostawcy; model jest stały.
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 |
| ID modelu | uncensored |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.llmproxyapi.com/v1 |
| Tryb JSON | response_format: {"type": "json_object"} |
| Okno kontekstu | 64 000 tokenów (wejście + odpowiedź) |
| 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 |
| Maks. odpowiedź | do reszty okna 64 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| 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 |
| Rozmiar zapytania | do 8 MB |
| 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 |
| 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 |
| 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 |
| 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 |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
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
Czy oferujecie embeddingi lub generowanie obrazów?
Nie, nie oferujemy embeddingów, generowania obrazów, audio ani wideo. Nasze API służy wyłącznie do uzupełniania czatu tekstowego. Jeśli potrzebujesz embeddingów, musisz użyć oddzielnego serwisu lub modelu. Skupiamy się na wysokowydajnym wnioskowaniu tekstowym z modelem bez cenzury.
Czy jest to oficjalny serwis OpenAI?
Nie, jesteśmy niezależnym serwisem. Jesteśmy kompatybilni z formatem API OpenAI, ale hostujemy własny model bez cenzury. Nie jest to GPT-4, GPT-3.5 ani żaden inny model OpenAI. Możesz użyć tych samych SDK, ale podstawowy model jest inny.
Co się stanie, gdy przekroczę limit kredytu?
Zapytania zwrócą błąd 402 Payment Required. Możesz doładować konto w dowolnym momencie za pomocą kryptowalut (USDT lub USDC). Kredyty nigdy nie wygasają, więc możesz doładować środki, gdy Ci pasuje. Nie ma miesięcznej opłaty subskrypcyjnej, tylko opłata za zużycie.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień adres bazowy. To cała konfiguracja.