Przewodnik po integracji z API Blibs

DOSTĘP Wczesny (Early Access): Funkcjonalności, ceny i parametry mogą ulec zmianie w przyszłości.

Opierając się na zoptymalizowanej architekturze opartej o Blibs, nasza kompatybilna z OpenAI API dostarcza wysokowydajne wnioskowanie dużych modeli językowych — bez konieczności posiadania dedykowanych zasobów GPU po Twojej stronie. Hostowana wyłącznie w centrach danych UE, zapewnia płynną integrację z Twoimi aplikacjami, jednocześnie przestrzegając rygorystycznych wymogów zgodności z RODO (GDPR). Wykorzystując skalowalną infrastrukturę Trooper.AI, rozwiązanie eliminuje ograniczenia sprzętowe, umożliwiając kosztowo efektywny wdrożenie zarówno dla startupów, jak i przedsiębiorstw. Niezależnie od tego, czy budujesz czatboty, dopasowujesz modele czy wdrażasz pracownie AI generatywnej, nasza API oferuje odpowiedzi o niskim czasie reakcji przy niezwykle wysokiej niezawodności klasy enterprise.

Stworzone z myślą o elastyczności, usługa integruje się płynnie z istniejącymi procesami za pomocą prostych punktów końcowych, wspierając przetwarzanie w partiach oraz zapytania w czasie rzeczywistym. Oparta na trwałym magazynie danych i zaawansowanych protokołach bezpieczeństwa – takich jak zasady firewallowe czy ochrona przed atakami typu DDoS – platforma gwarantuje nieprzerwaną dostępność dla krytycznych zadań związanych z AI. Zapoznaj się poniżej z naszymi dopasowanymi konfiguracjami, aby sprostać wymaganiom Twojego projektu.

Zamów teraz API Blib


Modele i Cennik

Nasze podstawowe cenniki przedstawiono poniżej. Dodatkowe opłaty mogą obowiązywać w zależności od kraju przy zamówieniu API Blib. Możesz również skorzystać z naszych regularnych promocji Extra Credits!

Trasa Model Kontekst Input/1M Output/1M +33% Akcja promocyjna Zalety
żywy Google Gemma 4 2,3 mld + 0,15 mld (wizja) + 0,3 mld (dźwięk) 20,380 €0.029 €0.049 0,029 eur 0,022 wejście, 0,049 eur 0,037 wyjście Tekst, Wizja, Dźwięk, Rozumowanie, Narzędzia, JSON
clara Mistral Ministral 3 13,5 mld + 0,4 mld (wzrok) 9,248 €0.139 €0.249 0,139 eur 0,105 eur wejściowo, 0,249 eur 0,187 eur wyjściowo Model UE, Wizja, Narzędzia, Tekst, JSON
nikola NVIDIA Nemotron 3 Nano 30B MoE (128 ekspertów, 6 aktywnych przy 3,5 mld) 20,480 €0.159 €0.319 €0.159 od €0.120 wejście, €0.319 z €0.240 wyjście Tekst, Rozumowanie, Narzędzia, Kodowanie, JSON

* Aktualna promocja daje Ci +33% dodatkowych kredytów za wpłatę od €150 w tym miesiącu. Zapłać €150, a otrzymasz €200 na konto!


Jak zamówić swój API Blib

Zanim zaczniesz korzystać z naszej API, musisz zamówić swój API Blib na naszej stronie: Zamów API Blib

Możesz wybrać swój Model i swoją Region, a po wdrożeniu wybranego modelu powinieneś zobaczyć coś podobnego w swoim Panelu Zarządzania:

API Blib in your Dashboard
API Blib w Twojej Pulpicie


Darmowy statyczny wstęp (system prompt)

Oferujemy darmowy system prompt o długości do 1024 znaków. Darmowy system prompt jest dostępny wyłącznie przez panel administracyjny! Dynamiczne wiadomości systemowe przesyłane za pośrednictwem API są opłacane zgodnie z zasadami standardowymi. Kliknij Akcje, aby zobaczyć okno edycji system prompta:

API Blib Static System Prompt
Statyczny wstępny komunikat systemu API

Zacznij już teraz, zamów swoje API Blib:

Zamów teraz API Blib


Benchmarkowanie Modeli Językowych 🧪

LLM Quality Benchmark Interface
Interfejs Benchmarku Jakości Modeli Językowych

Jeśli chcesz porównać nasze LLM Endpointy z innymi platformami LLM, możesz skorzystać z naszego darmowego narzędzia Benchmark Jakości LLM. Oto jak wygląda:

Sprawdź dowolny kompatybilny z OpenAI endpoint modeli językowych za pomocą 25 automatycznych testów jakościowych – logiczne myślenie, kodowanie, wielojęzyczność, strukturalne wyniki, wywołania narzędzi i więcej.


Adres URL bazowy

Kod
https://eu.router.trooper.ai/v1

Regionalne endpointy dla lokalizacji danych na poziomie kraju:

Domena Region
eu.router.trooper.ai UE (wszystkie centra danych UE)
de.router.trooper.ai tylko Niemcy
nl.router.trooper.ai tylko dla Holandii

Uwierzytelnianie

Wszystkie żądania wymagają tokena typu Bearer. Pobierz swój klucz API z panelu zarządzania.

Kod
Authorization: Bearer YOUR_TROOPER_KEY

Dostępne modele

Aktywuj trasy na stronie trooper.ai/order-apiblib . Każda trasa udostępnia nazwę modelu, którą użyjesz w wywołaniach API.

Trasa Model podstawowy Zalety
żywy Google Gemma 4 Najtańsze. Obsługa tekstu, obrazów, dźwięku i rozumowania. Duże obciążenia pracą.
clara Mistral Ministral 3 Oparty na wizji. Szybki przepływ danych, silne wsparcie języków UE.
nikola NVIDIA Nemotron 3 Nano Silnik wnioskowania. Generowanie kodu, wywoływanie funkcji, praca agentów.

Endpointy

POST /v1/chat/completions

Standardowy punkt końcowy kompatybilny z OpenAI dla generowania odpowiedzi w trybie czatu.

GET /v1/models

Wyświetla aktywowane modele. Wymaga autoryzacji. Zwraca jedynie modele dopasowane do regionu domeny, z której dokonywasz połączenia.

Każdy obiekt modelu zawiera:

Pole Typ Opis
id łańcuch Nazwa Twojej trasy (używana jako model (w żądaniu).
object łańcuch Zawsze "model".
owned_by łańcuch Identyfikator właściciela.
created liczba całkowita Czas utworzenia w formacie Unix.
base_models tablica Podstawowy(-e) nazwa(e) modelu.
context_length liczba całkowita Maksymalne okno kontekstu (tokeny)
max_tokens liczba całkowita Maksymalna liczba wygenerowanych tokenów.
capabilities obiekt Flagi funkcjonalne dla tego modelu (patrz poniżej).
supported_parameters tablica Parametry akceptowane przez ten model.

Obiekt możliwości:

Własność Typ Opis
thinking bool Obsługuje reasoning_effort oraz rozumowanie krok po kroku.
tools bool Obsługuje wywołania funkcji / narzędzia.
vision bool Obsługuje wejścia obrazów i plików PDF.
audio bool Obsługuje wejścia audio.
json_mode bool Obsługuje response_format (tryb JSON / wyjściowe struktury danych)
token_budget bool Wsparcie dla jawnego kontrolowania budżetu tokenów myślenia.

Użyj capabilities.thinking aby ustalić, czy model obsługuje parametry rozumowania przed ich wysłaniem.

Przykładowa odpowiedź:

json
{
  "object": "list",
  "data": [
    {
      "id": "clara",
      "object": "model",
      "owned_by": "trooper_42",
      "created": 1700000000,
      "base_models": ["Ministral-3"],
      "context_length": 131072,
      "max_tokens": 131072,
      "capabilities": {
        "tools": true,
        "vision": true,
        "audio": false,
        "thinking": false,
        "json_mode": true,
        "token_budget": false
      },
      "supported_parameters": [
        "temperature", "top_p", "max_tokens", "stream",
        "response_format", "tools", "tool_choice"
      ]
    }
  ]
}

GET /health

Zwraca dostępność punktu końcowego oraz informacje o regionie.

Zamów teraz API Blib


Parametry żądania

Wszystkie parametry zgodne są z formatem OpenAI Chat Completions API.

Wymagane

Parametr Typ Opis
model łańcuch Nazwa Twojej trasy (np. "clara", "nikola", "liv")
messages tablica Tablica obiektów wiadomości (role + content)

Opcjonalny

Parametr Typ Domyślne Opis
max_tokens liczba całkowita domyślnie ustawione (32–4096) Maksymalna liczba tokenów wyjściowych. Automatycznie dostosowywana do okna kontekstowego trasy.
max_completion_tokens liczba całkowita Alias dla max_tokens.
stream bool false Włącz strumieniowanie SSE.
temperature liczba domyślny model Temperatura próbkowania (0–2).
top_p liczba domyślny model Wybieranie jądra.
response_format obiekt {"type": "json_object"} or {"type": "json_schema", "json_schema": {...}}
tools tablica Definicje narzędzi wywoływania funkcji (format OpenAI)
tool_choice łańcuch/obiekt Steruje wyborem narzędzia ("auto", "none", lub konkretny narzędzie.
reasoning obiekt `{"wykonywanie": "brak"}
reasoning_effort łańcuch Skrót: "none", "medium", "high".
reasoning.exclude bool false Usunięcie treści rozumowania z odpowiedzi.

Funkcje

Strumieniowanie

Strumieniowe przesyłanie danych w standardzie Server-Sent Events (SSE), pełnie kompatybilne z biblioteką OpenAI SDK.

json
{ "stream": true }

Format odpowiedzi: data: {...}\n\n wiersze, zakończone przez data: [DONE]\n\n.

Tryb JSON

Żądaj wyjściu w strukturze JSON. Upewnij się nie tylko o ustawieniu żądania JSON w treści wiadomości, ale także koniecznie ustaw co najmniej response_format na `json_object`!

Jeśli model nie wygeneruje poprawnego JSON, nie poniesiesz żadnych kosztów.

json
{ "response_format": { "type": "json_object" } }

Z schematem:

json
{
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "my_schema",
      "schema": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "age": { "type": "integer" }
        },
        "required": ["name", "age"]
      }
    }
  }
}

Wizja (Obrazy i PDF)

Wyślij obrazy za pomocą URL lub w formacie base64. Pliki PDF są automatycznie konwertowane na strony obrazów po stronie serwera.

json
{
  "messages": [{
    "role": "user",
    "content": [
      { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } },
      { "type": "text", "text": "Describe this image." }
    ]
  }]
}

Base64:

json
{
  "type": "image_url",
  "image_url": { "url": "data:image/png;base64,iVBOR..." }
}
  • Obrazki są automatycznie skalowane i pozbawiane metadanych (bezpieczne pod względem SSRF).
  • Maksymalna liczba i rozmiar obrazów zależą od konfiguracji Twojej ścieżki.
  • Dostępne na trasach liv oraz clara.

Dźwięk

Prześlij pliki audio w wiadomościach multimodalnych. Obsługiwane na liv.

Myślenie / Rozumowanie

Kontroluj, czy i w jakim stopniu model rozumuje (łańcuch myślenia) przed udzieleniem odpowiedzi.

Wartość Wpływ
"none" Wylączone myślenie — najszybsze odpowiedzi, najmniejsze zużycie tokenów.
"low" Myślenie wyłączone — tak jak "brak".
"medium" Włączone — model rozumuje krok po kroku przed udzieleniem odpowiedzi. Dobry kompromis między jakością a szybkością.
"high" Włączone + dogłębne — model jest instruowany, aby myśleć bardzo starannie i w dużym szczegółowości. Najlepsze dla skomplikowanych obliczeń matematycznych, logiki oraz kodu. Jeśli ustawiono max_tokens, musi wynosić co najmniej 4 096, w przeciwnym razie żądanie zostanie odrzucone.

Włącz myślenie na poziomie standardowym:

json
{ "reasoning_effort": "medium" }

Włącz myślenie na głębokim poziomie dla maksymalnej jakości:

json
{ "reasoning_effort": "high" }

Albo poprzez reasoning obiekt:

json
{ "reasoning": { "effort": "high" } }

Wyłącz myślenie jawnie:

json
{ "reasoning_effort": "none" }

Aby usunąć uzasadnienie z odpowiedzi (myślenie nadal zachodzi, ale tokeny uzasadnienia nie są zwracane):

json
{ "reasoning": { "effort": "high", "exclude": true } }

Zachowanie myślenia można również skonfigurować na poziomie trasy w panelu zarządzania. Ustawienie panela kontroluje domyślne zachowanie oraz sposób zwracania rozumowania:

Thinking Modes under Actions on supported Models
Tryby Myślenia w akcjach dla obsługiwanych modeli

  • Wyłączone — domyślnie wyłączona myślowność. Można ją nadal włączyć na żądanie za pomocą "reasoning_effort": "medium" lub "high"
  • Odrzuć — Myślenie włączone, ale tokens z rozumowania są usuwane z odpowiedzi.
  • Treść Rozumowania — Myślenie włączone, rozumowanie zwracane w oddzielnym polu rozumowanie_treść.
  • Tag myślenia — Myślenie włączone, rozumowanie zwracane jako <myśl> w treści odpowiedzi.

Odzyskiwanie z myślenia: jeśli model wpadnie w pętlę rozumowania, routowanie automatycznie odzyskuje kontrolę i zwraca użyteczną odpowiedź.

Wywołanie Funkcji / Narzędzia

Standardowy format narzędzi OpenAI. Działa z wszystkimi ścieżkami.

json
{
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": { "type": "string" }
        },
        "required": ["location"]
      }
    }
  }],
  "tool_choice": "auto"
}

Automatyczne kompresowanie kontekstu

Jeśli Twoje wejście przekroczy okno kontekstowe, routery automatycznie kompresują środkową część rozmowy, aby wszystko zmieściło się w nim — nie wymagana jest ręczna cięcia. Zawsze otrzymasz odpowiedź.

Wstępny komunikat systemu

Darmowy wstępny komunikat systemu można skonfigurować dla każdej trasy w panelu zarządzania. Jest automatycznie dodawany do każdego żądania i nie jest opłacany.


Format odpowiedzi

Standardowa struktura odpowiedzi OpenAI:

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "clara",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Hello! How can I help you?"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 8,
    "total_tokens": 20
  }
}

Włączając rozumowanie, odpowiedź może zawierać reasoning_content obok content.

ID transakcji

W każdej odpowiedzi zawarty jest x-transaction-id nagłówek do celów rozliczeniowych i debugowania.


Obsługa błędów

Błędy są zgodne z formatem otoczki błędów OpenAI:

json
{
  "error": {
    "message": "The model 'nonexistent' does not exist.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

Kody błędów

Kod statusu HTTP Kod Opis
400 invalid_value Brak modelu, klucza API, zbyt krótki wejście lub nieprawidłowa wartość max_tokens.
403 invalid_api_key Nieprawidłowy klucz API lub niewystarczający budżet.
404 model_not_found Model nie istnieje lub nie jest aktywowany.
404 region_mismatch Model niedostępny w żądanym regionie.
500 Błąd wewnętrznego routera.
503 Brak dostępnych endpointów w żądanym regionie.

Faktura / Opłaty

  • Cennik za tokeny — opłacane oddzielnie wejścia i wyjścia w milionach tokenów.
  • Brak kosztów prosto stojących — płacisz tylko za wykonane wywołania API.
  • Przedpłacone kredyty — uzupełnij saldo i wykorzystuj zgodnie z zużyciem.
  • Tokeny wpisu systemowego są bezpłatne (nie są pobierane opłaty).
  • Nieudane żądania w formacie JSON nie są opłacane przy użyciu trybu JSON.
  • Wejścia wizualne są opłacane za jednostkę (obrobione obrazy).

Zamów teraz API Blib


Przykłady integracji

Zobacz popularne przykłady kodu pokazujące, jak korzystać z kompatybilnej z OpenAI API dla inferencji modeli językowych (LLM). Wartość router.trooper.ai należy zastąpić adresem końcowym (endpoint URL) podanym w Twoim zamówieniu API.

Python (SDK OpenAI)

python
from openai import OpenAI

client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

response = client.chat.completions.create(
    model="clara",
    messages=[{"role": "user", "content": "Summarize this document."}],
    max_tokens=1024
)

print(response.choices[0].message.content)

Node.js (SDK OpenAI)

javascript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://router.trooper.ai/v1",
  apiKey: "YOUR_TROOPER_KEY",
});

const response = await client.chat.completions.create({
  model: "nikola",
  messages: [{ role: "user", content: "Write a unit test for this function." }],
  max_tokens: 2048,
});

console.log(response.choices[0].message.content);

Python z strumieniowaniem

python
from openai import OpenAI

client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

stream = client.chat.completions.create(
    model="liv",
    messages=[{"role": "user", "content": "Explain quantum computing."}],
    max_tokens=2048,
    stream=True
)

for chunk in stream:
    content = chunk.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

Tryb JSON

python
import json
from openai import OpenAI

client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

response = client.chat.completions.create(
    model="clara",
    messages=[{"role": "user", "content": "List the 3 largest EU countries as JSON with name and population."}],
    max_tokens=512,
    response_format={"type": "json_object"}
)

data = json.loads(response.choices[0].message.content)
print(data)

Analiza obrazu (Wizja)

python
from openai import OpenAI

client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

response = client.chat.completions.create(
    model="clara",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": "https://example.com/invoice.png"}},
            {"type": "text", "text": "Extract all line items from this invoice as JSON."}
        ]
    }],
    max_tokens=2048,
    response_format={"type": "json_object"}
)

print(response.choices[0].message.content)

Wywołanie funkcji

python
from openai import OpenAI

client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string", "description": "City name"}
            },
            "required": ["location"]
        }
    }
}]

response = client.chat.completions.create(
    model="nikola",
    messages=[{"role": "user", "content": "What's the weather in Berlin?"}],
    tools=tools,
    tool_choice="auto",
    max_tokens=512
)

tool_calls = response.choices[0].message.tool_calls
if tool_calls:
    print(tool_calls[0].function.name, tool_calls[0].function.arguments)

LangChain

python
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY",
    model="clara",
    max_tokens=1024
)

response = llm.invoke("Extract all dates from the following text: ...")
print(response.content)

LlamaIndex

python
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY",
    model="nikola",
    max_tokens=2048
)

response = llm.complete("Explain the EU AI Act in simple terms.")
print(response.text)

curl

bash
curl https://router.trooper.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_TROOPER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "clara",
    "messages": [{"role": "user", "content": "Hello!"}],
    "max_tokens": 512
  }'

Migracja z OpenAI

Zmiana jednej linii — zaktualizuj adres URL i klucz API:

python
# Before (OpenAI)
client = OpenAI(api_key="sk-...")

# After (Trooper.AI)
client = OpenAI(
    base_url="https://router.trooper.ai/v1",
    api_key="YOUR_TROOPER_KEY"
)

Wszystko pozostało bez zmian: format żądania, schemat odpowiedzi, strumieniowanie, narzędzia oraz tryb JSON.


Lokalizacja danych oraz zgodność z przepisami

  • ISO/IEC 27001 certyfikowane centra danych w Niemczech i UE.
  • Brak retencji danych — wpisy i odpowiedzi przetwarzane wyłącznie w pamięci RAM, nigdy nie są przechowywane.
  • Zgodny z RODO — bez transferów danych transgranicznych, brak szkolenia modelu na Twoich danych.
  • Routing na poziomie kraju dostępny (DE, NL lub szersza UE).

Zamów teraz API Blib