Hermes API: Zmień klienta w trzech liniach
Zacznij korzystać z API Hermes w kilka minut, używając standardowych SDK OpenAI. Ten szybki przewodnik obejmuje konfigurację, podstawowe żądania, strumieniowanie i obsługę błędów dla Twojej integracji LLM bez cenzury.
- za 1 mln tokenów wejściowych
- $0.25
- Tokeny wyjściowe / 1 mln
- $1.00
- okno kontekstu
- 100,000
- darmowy kredyt próbny
- $0.50
- żądania na minutę
- 300
Zainstaluj SDK OpenAI
Ponieważ nasz endpoint jest kompatybilny z OpenAI, możesz użyć znanych Ci oficjalnych SDK. To podejście pozwala na przejście od innych dostawców bez przepisania logiki aplikacji. Obsługujemy standardowy pakiet openai dla środowisk Python i Node.js.
Upewnij się, że używasz najnowszej wersji SDK, aby zagwarantować kompatybilność ze strumieniowaniem i wywoływaniem funkcji. Biblioteka klienta obsługuje serializację JSON i transport HTTP automatycznie, więc możesz skupić się na parametrach modelu, a nie szczegółach sieciowych.
Skonfiguruj Base URL i klucz
Uwierzytelnianie odbywa się przez token Bearer w nagłówku Authorization. Klucz uzyskujesz, logując się e-mailem i hasłem na panelu. Nie potrzebujesz karty do próby, a klucz możesz wygenerować ponownie, aby unieważnić dostęp.
Ustaw base URL na nasz dedykowany endpoint. Zapewnia to, że zapytania trafiają do infrastruktury bezcenzurowego modelu, a nie do domyślnej chmury OpenAI. Klucz znajdziesz na stronie 'Pobierz klucz API' po rejestracji.
Wyślij pierwsze żądanie
Wyślij standardowe żądanie uzupełnienia czatu, aby przetestować łączność. ID modelu to zawsze uncensored. Model jest dostrojony do odpowiadania bez odrzucania treści dla legalnego użytku dorosłych, co czyni go idealnym do pisania kreatywnego, roleplay lub nieograniczonych badań.
- Użyj
POST /v1/chat/completionsdo generowania tekstu. - Okno kontekstu obsługuje do 100 000 tokenów dla promptu plus completion.
- Żądania są rozliczane na podstawie liczby tokenów wejściowych i wyjściowych.
curl https://api.hermesllmapi.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 (SSE)
Dla lepszego doświadczenia użytkownika włącz strumieniowanie, aby otrzymywać tokeny w miarę ich generowania. Zmniejsza to postrzeganą latencję, szczególnie przy dłuższych odpowiedziach. Serwer zwraca zdarzenia wysyłane przez serwer (SSE), które klient może parsować w czasie rzeczywistym.
Ustaw parametr stream na true w ciele żądania. SDK zwraca fragmenty w miarę ich przybywania. Jest to przydatne w interfejsach czatu, gdzie chcesz wyświetlać tekst stopniowo, a nie czekać na zakończenie odpowiedzi.
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 funkcji
Nasz API obsługuje wywoływanie funkcji, pozwalając modelowi na zwracanie strukturalnego JSON do wykonania zewnętrznych narzędzi. Zdefiniuj swoje funkcje w parametrze tools, a model zwróci tool_calls w odpowiedzi, jeśli będzie to odpowiednie.
Ta funkcja działa dokładnie tak, jak opisano w specyfikacji OpenAI. Możesz sparsować nazwę funkcji i argumenty, wykonać logikę backendu i przekazać wyniki z powrotem do rozmowy. Jest w pełni kompatybilna ze standardowymi przepływami pracy wywoływania funkcji w SDK OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hermesllmapi.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ź dostępne modele
Zapytaj endpoint modeli, aby sprawdzić łączność i zobaczyć dostępne opcje. Obecnie oferujemy jeden dedykowany model: uncensored. Ta prostota eliminuje złożoność routingu modeli lub ogólnej infrastruktury, zapewniając przewidywalne zachowanie.
Możesz również użyć tego endpointu do debugowania problemów z uwierzytelnianiem. Jeśli żądanie się nie powiedzie, sprawdź ważność klucza API i łączność sieciową. Odpowiedź wylistuje szczegóły modelu, w tym rozmiar okna kontekstu i limity tokenów.
from openai import OpenAI
client = OpenAI(base_url="https://api.hermesllmapi.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)
Obsługa limitów i błędów
Nasz API wymusza limit 300 żądań na minutę na klucz. Jeśli go przekroczysz, otrzymasz błąd 429. Obsługujemy również limit ciała żądania 8 MB dla złożonych promptów lub dużych okien kontekstu.
Typowe błędy to 401 (nieprawidłowy klucz) i 402 (niewystarczający kredyt). Przedpłacony kredyt nigdy nie wygasa, więc możesz go doładować, gdy chcesz. Bonusy kredytowe są naliczane automatycznie dla większych zakupów: +5% od $50 i +10% od $100.
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 |
| ID modelu | uncensored |
| Endpointy | POST /v1/chat/completions · GET /v1/models |
| Uwierzytelnianie | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.hermesllmapi.com/v1 |
| Maks. odpowiedź | do reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu) |
| Tryb JSON | response_format: {"type": "json_object"} |
| Parametry | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Wywoływanie funkcji | tak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool |
| Okno kontekstu | 100 000 tokenów (wejście + odpowiedź) |
| Strumieniowanie | tak — server-sent events; ostatni fragment zawiera zużycie tokenów |
| Równoległe zapytania | do 8 jednocześnie na klucz |
| 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 |
| 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 |
| 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 |
| Ważność | opłacony kredyt nie wygasa, bez subskrypcji |
| Klucze | jeden aktywny klucz na konto; nowy zastępuje stary |
| 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 |
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 API Hermes obsługuje generowanie obrazów lub audio?
Nie, obecnie oferujemy API tylko do uzupełniania czatu tekstowego. Nie obsługujemy osadzania, generowania obrazów, audio ani wideo, ani dostrajania. Skupiamy się na dostarczaniu prostego modelu tekstowego bez cenzury dla standardowych klientów kompatybilnych z OpenAI.
Jak model bez cenzury radzi sobie z treściami dla dorosłych?
Model nie odrzuca legalnych tematów dla dorosłych, fikcyjnych lub kontrowersyjnych. Istnieje jednak twardy limit treści: żądania dotyczące treści seksualnych z udziałem małoletnich są zawsze blokowane. To jedyne ścisłe ograniczenie stosowane do Twoich promptów.
Co się stanie, gdy zabraknie kredytu?
Twój klucz API pozostaje aktywny, ale żądania zwrócą błąd 402 oznaczający niewystarczające środki. Możesz doładować konto kryptowalutą (USDT lub USDC) w dowolnym momencie. Twój przedpłacony kredyt nigdy nie wygasa, więc możesz dodać środki, gdy będziesz gotowy do kontynuacji.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień base URL. To cała konfiguracja.