Hva er et OpenAI-kompatibelt API?

Mange LLM-leverandører og selvhostede inferensservere – OpenAI selv, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, serveren til llama.cpp, LM Studio og OpenAI-kompatibel modus i Ollama – eksponerer alle det samme REST-grensesnittet som ble popularisert av OpenAI: JSON-forespørsler til endepunkter som /v1/chat/completions, autentisert med et Bearer-token i Authorization-headeren. Dette lar deg bytte leverandør uten å skrive om integrasjonskoden.

Å skrive en korrekt cURL-kommando for disse endepunktene manuelt innebærer at URL-en, headerne og JSON-innholdet må være helt riktige, spesielt når du justerer sampling-parametere som temperatur og straffer, eller bytter mellom forespørsler for chat, eldre completions og embeddings.

Beskrivelse av verktøyet

Dette verktøyet genererer klare cURL-kommandoer for alle OpenAI-kompatible API-er. Angi base-URL, endepunkt, modell og parametere, og få en korrekt formatert cURL-kommando umiddelbart, klar til å limes inn i terminalen eller skriptene dine.

Eksempler

Chat-completion:

curl -X POST "https://api.openai.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "gpt-4o-mini",
  "messages": [
    { "role": "system", "content": "Du er en hjelpsom kodeassistent." },
    { "role": "user", "content": "Skriv en Python-funksjon som reverserer en string" }
  ],
  "temperature": 0.3,
  "stream": false
}'

Selvhostet server (vLLM, llama.cpp, LM Studio, ...):

curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "llama-3-8b-instruct",
  "messages": [
    { "role": "user", "content": "Oppsummer handlingen i Hamlet i to setninger" }
  ],
  "stream": true
}'

Embeddings:

curl -X POST "https://api.openai.com/v1/embeddings" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "text-embedding-3-small",
  "input": "Den raske, brune reven hopper over den late hunden"
}'

Funksjoner

  • Støtter de tre vanligste OpenAI-kompatible endepunktene: /chat/completions, /completions og /embeddings
  • Fungerer med alle kompatible base-URL-er, så det passer like godt med OpenAI, Azure, Groq, OpenRouter, Together AI og selvhostede servere
  • Konfigurerbare sampling-parametere: temperatur, top-p, frekvensstraff, tilstedeværelsesstraff, maks. antall token, antall completions, stoppsekvenser og seed
  • Valgfritt JSON-objekt som svarformat for chat-completions
  • Ingenting sendes noe sted – cURL-kommandoen bygges i sin helhet i nettleseren din, og ingen API-nøkkel forlater maskinen din

Forklaring av alternativer

Alternativ Beskrivelse Standardverdi Område
Base-URL API-roten, uten endepunktbanen. https://api.openai.com/v1 Alle URL-er
Endepunkt Hvilket API-endepunkt som skal brukes. /chat/completions chat, completions, embeddings
Temperatur Styrer tilfeldigheten i resultatet. Lavere verdier gir mer fokusert tekst, mens høyere verdier øker kreativiteten. 1 0–2
Top P Terskel for nucleus-sampling. Modellen vurderer token hvis kumulative sannsynlighet når denne verdien. 1 0–1
Frekvensstraff Straffer token basert på hvor ofte de allerede har forekommet, noe som reduserer ordrett gjentakelse. 0 -2–2
Tilstedeværelsesstraff Straffer token som allerede har forekommet, og oppmuntrer modellen til å introdusere nye emner. 0 -2–2
Maks. antall token Maksimalt antall token som skal genereres i svaret. La feltet stå tomt for å utelate det og bruke leverandørens standardverdi. Alle heltall
Completions (n) Hvor mange chat-/completion-alternativer som skal genereres for inndataene. 1 Alle heltall
Seed Fast seed for best mulig reproduserbare resultater. La feltet stå tomt for tilfeldige resultater. Alle heltall
Stoppsekvenser Kommaseparert liste over sekvenser der API-et slutter å generere flere token. All tekst
Svarformat Angi JSON-objekt for å tvinge modellen til å returnere gyldig JSON (kun chat-endepunktet). Ingen Ingen / JSON-objekt
Strømming Når dette er aktivert, strømmes svaret som server-sendte hendelser. Deaktiver for å motta hele svaret på én gang. Av På / Av