Generator żądań cURL zgodnych z OpenAI
Generuj polecenia cURL dla punktów końcowych API zgodnych z OpenAI. Skonfiguruj bazowy URL, punkt końcowy, model, prompt, temperaturę i inne parametry dla żądań czatu, uzupełniania i embeddingów.
Wejście
Wyjście
Instrukcja
Czym jest API zgodne z OpenAI?
Wielu dostawców LLM i serwerów wnioskowania hostowanych samodzielnie — OpenAI, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, serwer llama.cpp, LM Studio oraz tryb zgodny z OpenAI w Ollama — udostępnia ten sam interfejs REST spopularyzowany przez OpenAI: żądania JSON do endpointów takich jak /v1/chat/completions, uwierzytelniane za pomocą tokenu Bearer w nagłówku Authorization. Dzięki temu można zmieniać dostawcę bez przepisywania kodu integracji.
Ręczne napisanie poprawnego polecenia cURL dla tych endpointów wymaga dokładnego ustawienia adresu URL, nagłówków i treści JSON, szczególnie podczas dostrajania parametrów próbkowania, takich jak temperatura i kary, lub przełączania między żądaniami czatu, starszych uzupełnień i embeddings.
Opis narzędzia
To narzędzie generuje gotowe do użycia polecenia cURL dla dowolnego API zgodnego z OpenAI. Ustaw adres bazowy, endpoint, model i parametry, a natychmiast otrzymasz poprawnie sformatowane polecenie cURL, gotowe do wklejenia do terminala lub skryptów.
Przykłady
Uzupełnianie czatu:
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": "Jesteś pomocnym asystentem programistycznym." },
{ "role": "user", "content": "Napisz funkcję w Python do odwracania łańcucha znaków" }
],
"temperature": 0.3,
"stream": false
}'Serwer hostowany samodzielnie (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": "Podsumuj fabułę Hamleta w dwóch zdaniach" }
],
"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": "Szybki brązowy lis przeskakuje nad leniwym psem"
}'Funkcje
- Obsługuje trzy najczęściej używane endpointy zgodne z OpenAI:
/chat/completions,/completionsi/embeddings - Działa z dowolnym zgodnym adresem bazowym, dzięki czemu pasuje zarówno do OpenAI, Azure, Groq, OpenRouter i Together AI, jak i do serwerów hostowanych samodzielnie
- Konfigurowalne parametry próbkowania: temperatura, top-p, kara za częstotliwość, kara za obecność, maksymalna liczba tokenów, liczba uzupełnień, sekwencje zatrzymania i seed
- Opcjonalny format odpowiedzi jako obiekt JSON dla uzupełnień czatu
- Żadne dane nie są nigdzie wysyłane — polecenie cURL jest tworzone całkowicie w przeglądarce, a klucz API nigdy nie opuszcza urządzenia
Objaśnienie opcji
| Opcja | Opis | Wartość domyślna | Zakres |
|---|---|---|---|
| Adres bazowy | Główny adres API bez ścieżki endpointu. | https://api.openai.com/v1 |
Dowolny URL |
| Endpoint | Endpoint API, do którego ma zostać skierowane żądanie. | /chat/completions |
chat, completions, embeddings |
| Temperatura | Kontroluje losowość wyniku. Niższe wartości tworzą bardziej skupiony tekst, a wyższe zwiększają kreatywność. | 1 | 0-2 |
| Top P | Próg próbkowania jądrowego. Model uwzględnia tokeny, których skumulowane prawdopodobieństwo osiąga tę wartość. | 1 | 0-1 |
| Kara za częstotliwość | Nakłada karę na tokeny na podstawie tego, jak często już wystąpiły, ograniczając dosłowne powtórzenia. | 0 | -2-2 |
| Kara za obecność | Nakłada karę na tokeny, które już się pojawiły, zachęcając model do wprowadzania nowych tematów. | 0 | -2-2 |
| Maksymalna liczba tokenów | Maksymalna liczba tokenów generowanych w odpowiedzi. Pozostaw puste, aby pominąć tę opcję i użyć wartości domyślnej dostawcy. | - | Dowolna liczba całkowita |
| Uzupełnienia (n) | Liczba wariantów czatu/uzupełnienia generowanych dla danych wejściowych. | 1 | Dowolna liczba całkowita |
| Seed | Stała wartość seed zapewniająca możliwie powtarzalny wynik. Pozostaw puste, aby uzyskać losowe wyniki. | - | Dowolna liczba całkowita |
| Sekwencje zatrzymania | Oddzielana przecinkami lista sekwencji, po których API przestaje generować kolejne tokeny. | - | Dowolny tekst |
| Format odpowiedzi | Ustaw jako obiekt JSON, aby wymusić zwracanie przez model prawidłowego wyniku JSON (tylko endpoint czatu). | Brak | Brak / obiekt JSON |
| Strumieniowanie | Po włączeniu odpowiedź jest przesyłana jako zdarzenia wysyłane przez serwer. Wyłącz, aby otrzymać całą odpowiedź jednocześnie. | Wyłączone | Włączone / Wyłączone |