OpenAI Uyumlu cURL İstek Oluşturucu
OpenAI uyumlu API uç noktaları için cURL komutları oluşturun. Sohbet, tamamlama ve embedding istekleri için temel URL'yi, uç noktayı, modeli, prompt'u, temperature değerini ve diğer parametreleri yapılandırın.
Girdi
Çıktı
Readme
OpenAI uyumlu API nedir?
Birçok LLM sağlayıcısı ve kendi barındırdığı çıkarım sunucusu — OpenAI'nin kendisi, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, llama.cpp sunucusu, LM Studio ve Ollama'nın OpenAI uyumlu modu — OpenAI tarafından yaygınlaştırılan aynı REST arayüzünü sunar: /v1/chat/completions gibi uç noktalara gönderilen JSON istekleri, Authorization başlığında bir Bearer token ile kimlik doğrulaması yapar. Bu sayede entegrasyon kodunuzu yeniden yazmadan sağlayıcıları değiştirebilirsiniz.
Bu uç noktalar için doğru bir cURL komutunu elle yazmak; özellikle temperature ve penalty gibi örnekleme parametrelerini ayarlarken veya chat, eski completions ve embeddings istekleri arasında geçiş yaparken URL'nin, başlıkların ve JSON gövdesinin tam olarak doğru olmasını gerektirir.
Araç açıklaması
Bu araç, OpenAI uyumlu tüm API'ler için kullanıma hazır cURL komutları oluşturur. Temel URL'yi, uç noktayı, modeli ve parametreleri ayarlayın; terminalinize veya betiklerinize yapıştırmaya hazır, düzgün biçimlendirilmiş bir cURL komutunu anında alın.
Örnekler
Chat completion:
curl -X POST "https://api.openai.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_ANAHTARINIZ" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{ "role": "system", "content": "Yararlı bir kodlama asistanısınız." },
{ "role": "user", "content": "Bir stringi tersine çevirmek için bir Python işlevi yazın" }
],
"temperature": 0.3,
"stream": false
}'Kendi barındırdığınız sunucu (vLLM, llama.cpp, LM Studio, ...):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_ANAHTARINIZ" \
-d '{
"model": "llama-3-8b-instruct",
"messages": [
{ "role": "user", "content": "Hamlet oyununun konusunu iki cümleyle özetleyin" }
],
"stream": true
}'Embeddings:
curl -X POST "https://api.openai.com/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_ANAHTARINIZ" \
-d '{
"model": "text-embedding-3-small",
"input": "Çevik kahverengi tilki tembel köpeğin üzerinden atlar"
}'Özellikler
- En yaygın üç OpenAI uyumlu uç noktayı destekler:
/chat/completions,/completionsve/embeddings - Herhangi bir uyumlu temel URL ile çalışır; bu nedenle OpenAI, Azure, Groq, OpenRouter, Together AI ve kendi barındırdığınız sunucular için uygundur
- Yapılandırılabilir örnekleme parametreleri: temperature, top-p, frequency penalty, presence penalty, maksimum token sayısı, completion sayısı, durdurma dizileri ve seed
- Chat completion istekleri için isteğe bağlı JSON nesnesi yanıt biçimi
- Hiçbir şey herhangi bir yere gönderilmez — cURL komutu tamamen tarayıcınızda oluşturulur ve API anahtarınız makinenizden hiçbir zaman ayrılmaz
Seçeneklerin açıklaması
| Seçenek | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Temel URL | Uç nokta yolu olmadan API kökü. | https://api.openai.com/v1 |
Herhangi bir URL |
| Uç nokta | Hedeflenecek API uç noktası. | /chat/completions |
chat, completions, embeddings |
| Temperature | Çıktının rastlantısallığını denetler. Düşük değerler daha odaklı metin, yüksek değerler ise daha fazla yaratıcılık üretir. | 1 | 0-2 |
| Top P | Nucleus örnekleme eşiği. Model, kümülatif olasılığı bu değere ulaşan token'ları dikkate alır. | 1 | 0-1 |
| Frequency penalty | Daha önce ne sıklıkta göründüklerine göre token'ları cezalandırarak kelimesi kelimesine tekrarı azaltır. | 0 | -2-2 |
| Presence penalty | Daha önce en az bir kez görülmüş token'ları cezalandırarak modeli yeni konular sunmaya teşvik eder. | 0 | -2-2 |
| Max tokens | Yanıtta oluşturulacak maksimum token sayısı. Sağlayıcının varsayılanını kullanmak ve seçeneği dahil etmemek için boş bırakın. | - | Herhangi bir tam sayı |
| Completions (n) | Girdi için oluşturulacak chat/completion seçeneği sayısı. | 1 | Herhangi bir tam sayı |
| Seed | Mümkün olduğunca tekrarlanabilir çıktı için sabit seed. Rastgele sonuçlar için boş bırakın. | - | Herhangi bir tam sayı |
| Stop sequences | API'nin daha fazla token üretmeyi durduracağı dizilerin virgülle ayrılmış listesi. | - | Herhangi bir metin |
| Response format | Modelin geçerli JSON çıktısı döndürmesini zorunlu kılmak için JSON nesnesi olarak ayarlayın (yalnızca chat uç noktası). | Yok | Yok / JSON nesnesi |
| Stream | Etkinleştirildiğinde yanıt, sunucu tarafından gönderilen olaylar olarak akış şeklinde iletilir. Yanıtın tamamını tek seferde almak için devre dışı bırakın. | Kapalı | Açık / Kapalı |