Uwierzytelnij i skonfiguruj URL bazowy
Twój klucz API zapewnia natychmiastowy dostęp do endpointu chat completions. Wygeneruj klucz za pomocą Google lub e-mail na dashboardzie i wklej go do zmiennych środowiskowych. Podstawowy URL to https://api.cheapaiapikeys.com/v1 który działa z dowolnym standardowym klientem SDK OpenAI.
- Ustaw
OPENAI_API_KEYdo wygenerowanego ciągu. - Nadpisz
base_urlwskazać na nasz serwer hostowany. - Zweryfikuj łączność, wywołując
GET /v1/modelswyświetlić dostępne modele.
curl https://api.cheapaiapikeys.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List three common regex patterns for validating email addresses"}]
}'
Wyślij swoje pierwsze żądanie uzupełnienia czatu
Wyślij wejście tekstowe i otrzymaj wygenerowany tekst używając standardowej struktury uzupełnień czatu. Nasz pojedynczy model uncensored przetwarza żądania bez odmów dla legalnych treści dla dorosłych lub kontrowersyjnych tematów. Możesz dostosować parametry takie jak temperature i top_p do kontrolowania losowości.
from openai import OpenAI
client = OpenAI(base_url="https://api.cheapaiapikeys.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)
Włącz Strumieniowanie i Obsługuj Wydarzenia SSE
Włącz dostarczanie tokenów w czasie rzeczywistym, ustawiając stream: true w Twoim żądaniu. Serwer zwraca Zdarzenia Wysyłane przez Serwer (SSE), które musisz parsować inkrementalnie. Szczegóły dotyczące zużycia tokenów pojawiają się w ostatnim chunku strumienia. Podejście to redukuje postrzeganą latencję dla długich odpowiedzi.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.cheapaiapikeys.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);
Korzystaj z Wywoływania Funkcji i Trybu JSON
Zdefiniuj narzędzia w ciele żądania, aby włączyć output strukturalny lub wykonanie zewnętrznych funkcji. Użyj response_format: {type: "json_object"} aby wymusić ścisłą zgodność z JSON. Model obsługuje tool_choice dla precyzyjnej kontroli nad tym, które funkcje wywoła. Zapewnia to niezawodne parsowanie dla logiki Twojej aplikacji.
Zrozum limity tokenów i cennik
Cennik jest przejrzysty: $0.15 za milion tokenów wejściowych i $0.50 za milion tokenów wyjściowych. Błędy i odrzucenia nie zużywają kredytu. Okno kontekstowe obsługuje łącznie 100,000 tokenów. Żądania przekraczające limit zwracają błąd limitu 429. Upewnij się, że Twoje payloady mieszczą się w limicie 8 MB, aby uniknąć błędów ciała.
Obsługa błędów i przypadków brzegowych
Typowe błędy obejmują 401 dla nieprawidłowych kluczy oraz 402 dla niewystarczającego kredytu. Status 429 oznacza, że przekroczyłeś limit 300 żądań na minutę. Używaj wykładniczego backoffu przy ponawianiu po przekroczeniu limitów szybkości. Sprawdź error obiekt w odpowiedzi JSON po konkretne szczegóły. Zwrotów nie wystawiamy, więc dokładnie monitoruj swoje zużycie.
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)