Kompatybilne z OpenAI API: Zmień klienta w trzech krokach
Zmień klienta w trzech krokach: zmień bazowy URL i klucz API, a następnie zachowaj istniejący kod. To API kompatybilne z OpenAI dostarcza doświadczenie API LLM bez cenzury z przejrzystym cennikiem za token.
- Bazowy URL
- https://api.openaicompatibleapi.com/v1
- Model
- bez cenzury
Wymagania wstępne: Zainstaluj OpenAI SDK
Przed wysłaniem zapytań upewnij się, że Twoje środowisko programistyczne ma zainstalowane oficjalne OpenAI SDK dla preferowanego języka. Jest to standardowy sposób, w jaki programiści interagują z API kompatybilnym z OpenAI, zapewniając spójne typowanie i obsługę błędów. Dla Pythona użyj pip install openai. Dla Node.js uruchom npm install openai. Te biblioteki obsługują szczegóły HTTP, więc możesz skupić się na przesyłaniu promptów i odbieraniu wyników tekstowych.
Skonfiguruj bazowy URL i klucz API
Główną zaletą naszej usługi jest to, że musisz zaktualizować tylko dwie wartości konfiguracyjne. Wskaż klientowi nasz bazowy URL: https://api.openaicompatibleapi.com/v1. Następnie wygeneruj swój klucz API na stronie rejestracji; jest on wyświetlany natychmiast po rejestracji bez konieczności podawania karty kredytowej. Ustaw base_url i api_key w inicjalizacji klienta. To sprawia, że jesteśmy bezpośrednią alternatywą dla API GPT dla Twoich istniejących projektów bez przepisywania logiki.
Wyślij swoje pierwsze zapytanie
Wyślij standardowe zapytanie o uzupełnienie czatu, używając identyfikatora modelu uncensored. Ten model jest modelem językowym o otwartych wagach dostrojonym do odpowiadania bez odmów treści dla legalnego użytku dorosłego. Nie jest to GPT, Claude ani żaden inny model dostawcy. Możesz przetestować łączność natychmiast za pomocą prostego promptu tekstowego. Odpowiedź zwróci wygenerowany tekst w polu content.
curl https://api.openaicompatibleapi.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."}]
}'
Włącz strumieniowanie odpowiedzi
Dla lepszego doświadczenia użytkownika włącz strumieniowanie, aby otrzymywać tokeny w miarę ich generowania. Ustaw stream=True w swoim zapytaniu. SDK będzie zwracać fragmenty, gdy nadejdą, pozwalając na natychmiastowe wyświetlanie częściowych wyników. Jest to szczególnie przydatne przy długich oknach kontekstu do 100 000 tokenów. Strumieniowanie działa identycznie jak w standardowych klientach OpenAI, zachowując kompatybilność z istniejącą logiką obsługi błędów.
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)
Użyj wywoływania narzędzi (wywoływanie funkcji)
Nasze API obsługuje strukturalne wywoływanie narzędzi. Zdefiniuj swoje funkcje w parametrze tools, a model zwróci wywołania narzędzi w odpowiedzi. Możesz następnie wykonać te narzędzia i przesłać wyniki z powrotem do modelu w celu dalszego rozumowania. Ta funkcja działa z każdym klientem kompatybilnym z OpenAI, który obsługuje standardowy format wywoływania narzędzi. Jest idealna do budowania agentów lub automatyzacji przepływów pracy bez zarządzania złożonym proxy LLM.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapi.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)
Sprawdź dostępne modele
Wywołaj endpoint GET /v1/models, aby zweryfikować dostępne modele. Zobaczysz model uncensored na liście. Potwierdza to, że Twój klucz API i bazowy URL są poprawnie skonfigurowane. Możesz również użyć tego endpointu do debugowania problemów z uwierzytelnianiem. Jeśli endpoint zwróci listę, Twoje połączenie z API AI dla programistów jest aktywne. Nie oferujemy innych modeli, co utrzymuje konfigurację prostą.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapi.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);Specyfikacja techniczna
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.openaicompatibleapi.com/v1 |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Tryb JSON | response_format: {"type": "json_object"} |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Nagłówki odpowiedzi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limit zapytań | 300 zapytań na minutę na klucz |
| Rozmiar zapytania | do 8 MB |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Cena | $0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia |
| Bonus | +5% od $50, +10% od $100 |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Doładowanie | USDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500 |
| 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 |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| Logowanie | Google albo e-mail i hasło |
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
Jakie są limity zapytań?
Jesteś ograniczony do 300 zapytań na minutę na klucz API. Rozmiar ciała zapytania jest ograniczony do 8 MB. Jeśli przekroczysz limit, otrzymasz błąd 429. Możesz wygenerować klucz ponownie w dowolnym momencie, aby zresetować powiązanie, choć limit zapytań dotyczy samego klucza.
Dlaczego otrzymuję błędy 401 lub 402?
Błąd 401 oznacza nieprawidłowy lub wygasły klucz API. Błąd 402 oznacza wyczerpanie przedpłaconego kredytu. Nie oferujemy darmowego nieograniczonego poziomu; musisz doładować konto, aby kontynuować korzystanie z API LLM bez cenzury. Kredyt nigdy nie wygasa, więc możesz doładować od $10 kryptowalutą (USDT lub USDC).
Czy okno kontekstu naprawdę ma 100k?
Tak, model obsługuje ścisłe okno kontekstu 100 000 tokenów dla promptu i uzupełnienia łącznie. Pozwala to na szczegółową obróbkę dokumentów lub długie rozmowy. Upewnij się, że Twoje dane mieszczą się w tym limicie, aby uniknąć obcięcia lub błędów.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.