Kompatybilność SDK i konfiguracja adresu bazowego
Podłącz istniejący kod klienta, wskazując go na nasz dedykowany punkt końcowy. Ten API kompatybilne z openai akceptuje standardowe nagłówki i konfiguracje SDK bez zmian w kodzie. Musisz tylko zaktualizować bazowy URL i podać swój klucz API z panelu.
https://api.openrouterratelimits.com/v1 jest jedynym punktem wejścia dla wszystkich żądań. Autoryzacja wykorzystuje standardowy schemat tokena Bearer, spotykany w większości nowoczesnych bibliotek LLM. Przekaż swój klucz w Authorization Nagłówek do weryfikacji tożsamości. Ta konfiguracja działa z dowolnym klientem oczekującym interfejsu w stylu OpenAI, co sprawia, że migracja jest natychmiastowa dla zespołów zmęczonych uzależnieniem od dostawcy.
- URL bazowy:
https://api.openrouterratelimits.com/v1 - Nagłówek Auth:
Authorization: Bearer YOUR_API_KEY - ID modelu:
uncensored
Strumieniowanie odpowiedzi z SSE
Włącz strumieniowanie, ustawiając stream: true w ciele żądania. API zwraca zdarzenia wysyłane serwerowo (SSE) dla dostarczania tokenów w czasie rzeczywistym. Każdy fragment zawiera wygenerowany tekst, aż do ostatniego fragmentu, który zawiera statystyki użycia. To podejście utrzymuje responsywność interfejsu użytkownika nawet dla długich okien kontekstu.
Strumieniowanie jest idealne dla interfejsów czatu lub scenariuszy roleplay, gdzie liczy się opóźnienie. Nie musisz czekać na zakończenie całej odpowiedzi, aby wyświetlić tekst. Ostatni fragment zawsze zawiera liczbę tokenów do dokładnego rozliczenia. Błędy podczas strumieniowania zwracają poprawne kody statusu HTTP do natychmiastowej obsługi.
Wywoływanie funkcji i tryb JSON
Korzystaj z wyjść strukturalnych do niezawodnej ekstrakcji danych lub integracji narzędzi. Włącz response_format z {"type": "json_object"} aby wymusić zgodność z JSON. Tryb ten jest niezbędny do parsowania złożonych struktur zagnieżdżonych bez dodatkowej logiki czyszczenia. Wywoływanie funkcji działa wraz ze standardową generacją tekstu dla dynamicznych przepływów pracy agentów.
Zdefiniuj swoje narzędzia w tools tablica i określ tool_choice do ścisłego egzekwowania. Model zwraca wywołania funkcji w standardowym formacie OpenAI. Ta funkcja obsługuje zarówno pojedyncze, jak i wielokrotne wywołania narzędzi w jednej turze. Użyj tego do budowania agentów, które niezawodnie interagują z zewnętrznymi API lub bazami danych.
Zarządzanie tokenami i parametrami
Kontroluj zachowanie generowania za pomocą standardowych parametrów takich jak temperature, top_p, a także stop. Okno kontekstowe obsługu do 100,000 tokenów łącznie dla promptu i uzupełnienia. Pozwala to na przechowywanie rozległego kontekstu historycznego lub przetwarzanie dużych dokumentów w jednym żądaniu.
Ustaw max_tokens ograniczenie długości outputu, z wartością domyślną 2,048, jeśli nie zostanie określona. Model obsługuje presence_penalty i frequency_penalty do kontroli stylistycznej. Użycie tokenów jest rozliczane na podstawie rzeczywistej liczby tokenów wejściowych i wyjściowych. Błędy nie zużywają tokenów, zapewniając sprawne rozliczenie nieudanych żądań.
Zrozumienie limitów szybkości na klucz
Każdy klucz API obsługuje 300 żądań na minutę z limitem współbieżności 8 jednoczesnych żądań. Limit ten dotyczy każdego klucza, więc utworzenie wielu kluczy skaluje Twoją przepustowość liniowo. Maksymalny rozmiar ciała żądania wynosi 8 MB, co mieści się w oknie kontekstowym dla większości przypadków użycia.
Limity szybkości resetują się ciągle na podstawie przesuwającego się okna. Jeśli przekroczysz limit, API zwraca błąd 429. Uaktualnij swój kredyt z góry, aby utrzymać priorytetowy dostęp. W przeciwieństwie do warstw współdzielonych, nasze dedykowane serwery nie cierpią na „hałas” od sąsiadów. Monitoruj swój panel zużycia, aby mieścić się w tych granicach dla spójnej wydajności.
Rozwiązywanie powszechnych błędów
Obsłuż błędy, sprawdzając kod statusu HTTP i ciało odpowiedzi. Błąd 401 wskazuje na nieprawidłowy lub brakujący klucz API. Wygeneruj ponownie swój klucz z panelu, jeśli uwierzytelnienie nie powiedzie się. Błąd 402 oznacza, że Twoje prepaydowane środki zostały wyczerpane; doładuj konto poprzez kryptowaluty, aby wznowić usługę.
Błąd 429 oznacza, że przekroczyłeś limity szybkości. Zmniejsz częstotliwość żądań lub rozłóż obciążenia pracy między wiele kluczy. Interfejs API nie nalicza tokenów za te błędy, więc nie tracisz kredytu za ponowne próby. Upewnij się, że Twoja biblioteka klienta obsługuje ponowne próby z wykładniczym opóźnieniem dla większej niezawodności.
cURL
curl https://api.openrouterratelimits.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Process one million logs"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterratelimits.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterratelimits.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);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)