Szybki start: Połącz swój klient
Połącz istniejącego klienta kompatybilnego z OpenAI z naszym bezcenzuralnym Chinese LLM API, aktualizując URL bazowy i klucz API. Ten szybki start obejmuje uwierzytelnianie, ukończenia czatu, strumieniowanie i wywoływanie funkcji z konkretnymi przykładami.
- Bazowy URL
- https://api.chinesellmapi.com/v1
- Model
- bez cenzury
URL bazowy i uwierzytelnianie
Nasze API jest zgodne ze standardowym formatem OpenAI, co pozwala na zmianę dostawcy poprzez zmianę tylko dwóch zmiennych: adresu URL bazowego i klucza API. Klucz możesz uzyskać, logując się na stronie Pobierz klucz API, podając tylko adres e-mail i hasło. Do wersji próbnej nie jest wymagana karta kredytowa, a klucze można natychmiast wygenerować ponownie w przypadku zagrożenia.
Użyj adresu URL bazowego https://api.chinesellmapi.com/v1 w konfiguracji klienta. ID modelu, który musisz wysłać, to uncensored. Jest to model o otwartych wagach działający na naszej dedykowanej infrastrukturze, odróżniający się od modeli GPT, Claude lub innych dostawców. Jest dostrojony do odpowiadania bez odmów treści dla legalnego użytku dorosłych.
Endpoint ukończeń czatu (POST /v1/chat/completions)
Wysyłaj tekst i odbieraj tekst za pomocą standardowego endpointu ukończeń czatu. Ten endpoint obsługuje zarówno odpowiedzi strumieniowe, jak i niestrumieniowe, a także wywoływanie funkcji. Musisz dołączyć pole model ustawione na uncensored w ciele żądania.
Żądania są ograniczone do 8 MB rozmiaru ciała. Jeśli przekroczysz okno kontekstu 100 000 tokenów (prompt + ukończenie), API odrzuci żądanie. Upewnij się, że Twój klient poprawnie obsługuje standardowe odpowiedzi HTTP.
- Wejście: ciało JSON z tablicą
messages. - Wyjście: JSON z
choiceszawierającymessage.content.
Wyślij swoje pierwsze żądanie tym przykładem:
curl https://api.chinesellmapi.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życie oficjalnego Python SDK OpenAI to najprostszy sposób integracji. Zainstaluj pakiet przez pip i skonfiguruj klienta tak, aby wskazywał na nasz URL bazowy. To podejście działa bezproblemowo z każdą biblioteką zbudowaną na kliencie Python OpenAI.
Pamiętaj, że nasz model to nie GPT-4 ani żaden inny model innego dostawcy. To model bez cenzury. Dostosuj accordingly inżynierię promptów, ponieważ model może mieć inne tendencje stylistyczne w porównaniu do innych modeli.
Oto jak zainicjować klienta i wysłać żądanie:
from openai import OpenAI
client = OpenAI(base_url="https://api.chinesellmapi.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.js SDK
Dla projektów JavaScript lub TypeScript pakiet npm openai działa po drobnych zmianach konfiguracji. Ustaw baseURL na endpoint naszego API i podaj swój klucz API. Zapewnia to kompatybilność z istniejącymi bazami kodu, które oczekują odpowiedzi zgodnych ze standardem OpenAI.
Struktura odpowiedzi pozostaje identyczna z formatem OpenAI, w tym pola id, object, created oraz choices. Ułatwia to podmianę naszego modelu bez cenzury w testach lub produkcji bez przepisywania logiki parsowania danych.
Skonfiguruj i wywołaj API:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chinesellmapi.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 (SSE)
Włącz strumieniowanie, ustawiając stream: true w żądaniu. API zwraca Wydarzenia Wysyłane przez Serwer (SSE) zawierające przyrostowe fragmenty odpowiedzi. Jest to idealne dla interfejsów użytkownika, które muszą wyświetlać tekst w czasie rzeczywistym, gdy jest generowany.
Każdy fragment zawiera częściową zawartość w delta.content. Obsługuj te fragmenty przyrostowo w swoim kliencie, aby zaktualizować UI. Strumień kończy się, gdy zostanie otrzymany ostatni fragment z finish_reason ustawionym na stop lub tool_calls.
Przykład implementacji strumieniowania:
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ń, błędy i ograniczenia
Monitoruj swoje użycie, aby uniknąć przerw. Każdy klucz API jest ograniczony do 300 zapytań na minutę. Jeśli przekroczysz ten limit, otrzymasz błąd 429 Too Many Requests. Ciała żądań nie mogą przekraczać 8 MB. Okno kontekstu jest ściśle ograniczone do 100 000 tokenów dla promptu i ukończenia łącznie.
Typowe błędy obejmują:
- 401 Unauthorized: Nieprawidłowy lub brakujący klucz API.
- 402 Payment Required: Niewystarczający przedpłacony kredyt.
- 429 Rate Limit: Przekroczono 300 zapytań na minutę.
Cennik jest przejrzysty: $0,25 za 1M tokenów wejściowych i $1,00 za 1M tokenów wyjściowych. Kredyty nie wygasają. Użyj endpointu GET /v1/models, aby zweryfikować dostępne modele, choć tylko uncensored jest oferowany do ukończeń czatu.
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 |
| ID modelu | uncensored |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.chinesellmapi.com/v1 |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| 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) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Tryb JSON | response_format: {"type": "json_object"} |
| 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 |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| Rozmiar zapytania | do 8 MB |
| 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 |
| 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 |
| Rozliczenie | przedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe |
| Bonus | +5% od $50, +10% od $100 |
| Logowanie | Google albo e-mail i hasło |
| 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 |
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 to model GPT-4 czy inny model OpenAI?
Nie. ID modelu to <code>uncensored</code>, pojedynczy model bez cenzury, obsługiwany bezpośrednio bez routingu między dostawcami. Nie jest to GPT-4, Claude ani żaden inny model dostawcy. Odpowiada bez odmów dla legalnej treści dla dorosłych.
Czy przechowujesz moje dane do trenowania?
Nie. Prompty wysłane do API nie są używane do trenowania Twojego modelu. Twoje konto wymaga tylko adresu e-mail i hasła, co zapewnia minimalne zbieranie danych.
Co się stanie, gdy przekroczę limit zapytań?
Otrzymasz kod statusu 429. Limit to 300 zapytań na minutę na klucz API. Możesz wygenerować klucz ponownie lub poczekać na reset okna. Nie ma miesięcznych opłat; płacisz tylko za to, czego używasz.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień URL bazowy. To cała konfiguracja.