Mula Cepat: Permintaan Pertama
Mula-mula, arahkan klien anda ke URL asas kami. Gunakan https://api.grockapi.com/v1 dan tetapkan kunci API anda dalam header. Pengenal pasti model sentiasa uncensored. Ini berfungsi dengan mana-mana SDK yang serasi dengan OpenAI.
Pengesahihan memerlukan token Bearer yang sah. Hantar ia sebagai Authorization: Bearer YOUR_API_KEY. Jika kunci tiada atau tidak sah, anda menerima ralat 401 serta-merta.
Buat panggilan pertama anda untuk menguji sambungan. Badan permintaan mesti termasuk nama model dan larik messages.
Parameter dan Mod Disokong
Konfigurasi tingkah laku penjanaan menggunakan parameter piawai. Anda boleh menyesuaikan suhu untuk kreativiti atau top_p untuk pensampelan nukleus. Gunakan parameter stop untuk menentukan jujukan khusus yang menghentikan penjanaan.
Tetapkan seed untuk output deterministik semasa nyahpepijat. Kehadiran dan frekuensi penalti membantu mengurangkan pengulangan. Model menyokong sehingga 100,000 token dalam tetingkap konteks.
Output maksimum biasanya 16,000 token setiap permintaan. Tinggalkan max_tokens tanpa tetapan untuk menggunakan had output lalai 2,048. Ralat dan penolakan tidak menggunakan kredit.
Streaming dan Penggunaan Token
Aktifkan aliran dengan menetapkan stream: true. API ini memulangkan keping melalui Acara yang Dikirim Pelayan (SSE). Setiap keping mengandungi kandungan dan metadata separa.
Butiran penggunaan token muncul dalam potongan akhir. Ini membolehkan anda mengesan kos dengan tepat secara masa nyata. Potongan terakhir termasuk statistik penggunaan lengkap untuk permintaan tersebut.
Tangani penutupan aliran dengan betul untuk mengelakkan kebocoran sumber. Sentiasa proses kepingan akhir untuk mendapatkan data pengebilan yang tepat.
Panggilan Fungsi (Alat)
Takrifkan alat dalam badan permintaan anda. Nyatakan nama alat, penerangan, dan skema parameter. Model akan memulangkan panggilan alat apabila sesuai.
Gunakan parameter tool_choice untuk memaksa atau membenarkan tingkah laku tertentu. Anda boleh mengaturnya kepada auto, diperlukan, atau ID alat tertentu.
Proses panggilan alat dalam logik aplikasi anda. Hantar output alat kembali ke model untuk melanjutkan perbualan. Ini membolehkan aliran kerja berbilang langkah yang kompleks tanpa penguraian luar.
Mod JSON dan Kekangan
Paksa output terstruktur dengan menetapkan response_format kepada json_object. Model ini akan memulangkan JSON tanpa blok kod markdown.
Mod ini sangat sesuai untuk menguraikan data ke dalam aplikasi. Pastikan skema anda jelas untuk meningkatkan ketepatan. Struktur JSON yang tidak sah boleh menyebabkan ralat penguraian di klien anda.
Gabungkan mod JSON dengan kawalan suhu untuk format yang konsisten. Gunakan jeda henti untuk mencegah aksara terbiar selepas kurungan penutup.
Had had laju dan kuota
Setiap kunci API terhad kepada 300 permintaan setiap minit. Anda boleh menjalankan sehingga 8 permintaan serentak serentak. Saiz badan permintaan maksimum ialah 8 MB.
Kesilapan 429 menunjukkan bahawa anda telah melebihi had kadar. Tunggu sebelum mencuba semula atau kurangkan kekonkurenan anda. Satu kunci aktif wujud per akaun; menjana kunci baharu akan menggantikan kunci lama.
Pantau penggunaan anda melalui chunk aliran akhir atau header respons. Ralat seperti 402 (tiada kredit) atau 401 (kunci tidak sah) adalah percuma dan tidak dikira terhadap kuota anda.
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);Aliran
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)