Hızlı Başlangıç: İlk İstek
İstemcinizi temel URL'mize yönlendirin. Kullanın https://api.grockapi.com/v1 ve API anahtarınızı başlıkta ayarlayın. Model tanımlayıcısı her zaman uncensored. Herhangi bir OpenAI-uyumlu SDK ile çalışır.
Kimlik doğrulama geçerli bir Bearer jetonu gerektirir. Bunu Authorization: Bearer YOUR_API_KEY. Anahtar eksik veya geçersizse, hemen bir 401 hatası alırsınız.
Bağlantıyı test etmek için ilk çağrınızı yapın. İstek gövdesi model adını ve bir messages dizisi içermelidir.
Desteklenen Parametreler ve Modlar
Standart parametreleri kullanarak oluşturma davranışını yapılandırın. Yaratıcılık için sıcaklığı veya nükleus örnekleme için top_p'yi ayarlayabilirsiniz. Oluşturmayı durdurmak için belirli dizeleri tanımlamak üzere stop parametresini kullanın.
Hata ayıklama sırasında belirleyici çıktılar için seed değerini ayarlayın. Presence ve frequency cezaları tekrarları azaltmaya yardımcı olur. Model bağlam penceresinde 100.000 token'a kadar destekler.
Maksimum çıktı, istek başına 16,000 token ile sınırlıdır. max_tokens ayarlanmazsa varsayılan 2,048 çıktı limiti kullanılır. Hatalar ve reddetmeler krediden düşmez.
Streaming ve Token Kullanımı
Ayarlayarak akışı etkinleştirin stream: true. API, parçaları Sunucu Tarafından Gönderilen Etkinlikler (SSE) aracılığıyla döndürür. Her parça, kısmi içerik ve meta veri içerir.
Token kullanım detayları son chunk'ta görünür. Bu, maliyetleri gerçek zamanlı olarak doğru bir şekilde takip etmenizi sağlar. Son chunk, istek için tam kullanım istatistiklerini içerir.
Kaynak sızıntılarından kaçınmak için akış kapanışını düzgün şekilde yönetin. Doğru faturalandırma verilerini almak için her zaman son parçayı işleyin.
Fonksiyon Çağırma (Araçlar)
İstek gövnenize araçlar tanımlayın. Araç adlarını, açıklamalarını ve parametre şemalarını belirtin. Model, uygun olduğunda araç çağrıları yapar.
Belirli davranışları zorlamak veya izin vermek için tool_choice parametresini kullanın. Bunu auto, required veya belirli araç kimliklerine ayarlayabilirsiniz.
Uygulama mantığınızda araç çağrılarını işleyin. Konuşmaya devam etmek için araç çıktısını modele gönderin. Bu, harici ayrıştırma olmadan karmaşık çok adımlı iş akışlarını mümkün kılar.
JSON Modu ve Kısıtlamalar
response_format'ı json_object. Model, markdown kod blokları olmadan geçerli JSON döndürecektir.
Bu mod, verileri uygulamalara ayrıştırmak için idealdir. Doğruluğu artırmak için şemanızın net olduğundan emin olun. Geçersiz JSON yapıları istemcinizde ayrıştırma hatalarına neden olabilir.
Tutarlı biçimlendirme için JSON modunu sıcaklık kontrolleri ile birleştirin. Kapanış parantezinden sonra gelen karakterleri önlemek için durma dizilerini kullanın.
Saniye Başına İstek Limitleri ve Kontenjanlar
Her API anahtarı dakikada 300 istekle sınırlıdır. Eşzamanlı olarak en fazla 8 istek çalıştırabilirsiniz. Maksimum istek gövdesi boyutu 8 MB'tır.
429 hatası, hız sınırını aştığınızı gösterir. Yeniden denemeden önce bekleyin veya eşzamanlılığı azaltın. Hesap başına bir aktif anahtar vardır; yeni bir anahtar oluşturmak eski olanın yerini alır.
Kullanımınızı son akış parçası veya yanıt başlıkları aracılığıyla izleyin. 402 (kredi yok) veya 401 (geçersiz anahtar) gibi hatalar ücretsizdir ve kotanızızdan düşülmez.
cURL
curl https://api.grockapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "calculate the sum of two and three"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.grockapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.grockapi.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);Akış
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)