Bazowy URL i autoryzacja
Użyj dostarczonego adresu URL bazowego i ważnego klucza API, aby połączyć klienta. Punkt końcowy to https://api.qwencodeapikey.com/v1. Musisz dołączyć swój klucz w Authorization nagłówek każdego żądania. Zapewnia to, że usługa poprawnie identyfikuje Twoje konto kredytu z góry opłaconego.
curl https://api.qwencodeapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check my api key validity status"}]
}'
Możesz wygenerować klucz poprzez Google lub e-mail na stronie rejestracji. Klucz pojawia się natychmiast. Przechowuj go bezpiecznie, ponieważ kontroluje Twoje wydatki.
Punkt końcowy Uzupełnień Czat
Wyślij wiadomości do /v1/chat/completions endpoint do otrzymywania odpowiedzi tekstowych. Jest to standardowy interfejs dla większości SDK OpenAI. Definiujesz model jako uncensored i podaj listę wiadomości w messages tablicy. API przetwarza Twoje dane wejściowe i zwraca wygenerowane uzupełnienie.
from openai import OpenAI
client = OpenAI(base_url="https://api.qwencodeapikey.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)
Upewnij się, że Twoja biblioteka klienta wskazuje na poprawny adres URL bazowy. ID modelu uncensored uruchamia model o otwartych wagach dostrojony do mniejszej liczby odmów. Obsługuje tury konwersacyjne tak samo jak dowolny inny interfejs API czatu.
Punkt końcowy Modeli
Zapytanie GET /v1/models zwerydować dostępne modele i ich szczegóły. Ten punkt końcowy zwraca listę modeli dostępnych dla Twojego klucza. Pomaga to potwierdzić uncensored model jest aktywny i gotowy do żądań. Użyj tego do debugowania konfiguracji klienta przed wysłaniem pełnych ładunków.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwencodeapikey.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);
Sprawdź strukturę odpowiedzi, aby upewnić się, że Twój SDK poprawnie parsuje listę modeli. To endpoint nie zużywa kredytów, co czyni go bezpiecznym do sprawdzania podczas inicjalizacji.
Parametry żądania i strumieniowanie
Obsługa standardowych parametrów takich jak temperature, top_p, stop, a także seed. Włącz strumieniowanie, ustawiając stream: true. API wysyła tokeny za pośrednictwem zdarzeń wysyłanych serwerowo (SSE). Statystyki użycia tokenów pojawiają się w ostatnim fragmencie strumienia. Pozwala to na wyświetlanie generowanego tekstu w czasie rzeczywistym.
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)
Ustaw max_tokens do kontrolowania długości wyjścia. Domyślna wartość to 2 048 tokenów. Możesz zwiększyć tę wartość do 16 000 tokenów w jednym żądaniu. Dostosuj parametry, aby zbalansować kreatywność i precyzję w odpowiedziach.
Limity szybkości i ograniczenia
Każdy klucz pozwala na 300 żądań na minutę i 8 żądań równoczesnych. Maksymalny rozmiar ciała żądania wynosi 8 MB. Limity te zapobiegają nadużyciom i zapewniają stabilną wydajność. Jeśli przekroczysz limit szybkości, otrzymasz błąd 429. Dostosuj logikę klienta, aby obsługiwał ponawianie z wykładniczym opóźnieniem.
Okno kontekstowe obsługuje łącznie 100 000 tokenów. Obejmuje to zarówno prompt, jak i uzupełnienie. Duże konteksty wymagają starannego zarządzania tokenami, aby mieścić się w limitach.
Tryb JSON i wywoływanie funkcji
Użyj response_format: {"type": "json_object"} do wyjścia strukturalnego. To zapewnia, że model zwróci poprawny JSON, przydatny do integracji programistycznej. Wywoływanie funkcji działa przez tools parametr. Zdefiniuj narzędzia w standardowym formacie OpenAI. Model będzie wywoływał funkcje w razie potrzeby.
Błędy i odrzucenia nie pobierają kredytu. Dotyczy to nawet, jeśli model odrzuci żądanie z powodu twardego limitu treści. Płacisz tylko za rzeczywiste zużycie tokenów. Kredyt nigdy nie wygasa, więc możesz doładować go, gdy będzie Ci to wygodnie.
Obsługa błędów i użytkowanie
Obsłuż błędy HTTP w sposób graceful. Błąd 401 oznacza nieprawidłowy lub wygasły klucz API. Błąd 402 oznacza, że prepaydowane środki zostały wyczerpane. Błąd 429 sygnalizuje przekroczenie limitu szybkości. Sprawdź treść odpowiedzi pod kątem szczegółowych komunikatów o błędach.
Korzystanie jest śledzone według klucza. Jeden aktywny klucz na konto upraszcza rozliczenia. Jeśli popełnisz błąd, np. potrójne naliczenie opłaty, skorzystaj ze strony Wsparcie. Kredyt nie jest zwracany, ale pozostaje ważny. Błędy są darmowe, więc nieudane żądania nie obniżają Twojego salda.
Podsumowanie i najlepsze praktyki
Zacznij od podstawowego URL i ważnego klucza. Użyj uncensored identyfikator modelu dla mniejszej liczby odmów. Strumień odpowiedzi dla lepszego doświadczenia użytkownika. Monitoruj limity szybkości, aby uniknąć przerw. Użyj trybu JSON dla danych strukturalnych. Obsługuj błędy, aby zachować niezawodność. Kredyt jest płatny z góry i nigdy nie wygasa. Doładuj kryptowalutą, gdy jest to potrzebne. To API idealnie wpisuje się w istniejące bazy kodu OpenAI. Nie są wymagane nowe SDK. Zmień tylko adres bazowy i klucz.