Guide de démarrage rapide : Première requête
Commencez par pointer votre client vers notre URL de base. Utilisez https://api.grockapi.com/v1 et définir votre clé API dans l'en-tête. L'identifiant du modèle est toujours uncensored. Cela fonctionne avec n'importe quel SDK compatible OpenAI.
L'authentification nécessite un jeton Bearer valide. Passez-le en tant que Authorization: Bearer YOUR_API_KEY. Si la clé est manquante ou invalide, vous recevez immédiatement une erreur 401.
Faites votre premier appel pour tester la connectivité. Le corps de la requête doit inclure le nom du modèle et un tableau messages.
Paramètres et modes pris en charge
Configurez le comportement de génération à l'aide de paramètres standard. Vous pouvez ajuster la température pour la créativité ou top_p pour l'échantillonnage du noyau. Utilisez le paramètre stop pour définir des séquences spécifiques qui interrompent la génération.
Définissez seed pour des sorties déterministes lors du débogage. Les pénalités de présence et de fréquence aident à réduire la répétition. Le modèle prend en charge jusqu'à 100 000 jetons dans la fenêtre de contexte.
La sortie maximale est généralement de 16 000 tokens par requête. Laissez max_tokens non défini pour utiliser la limite de sortie par défaut de 2 048. Les erreurs et les refus ne consomment pas de crédit.
Streaming et utilisation des jetons
Activez le streaming en définissant stream: true. L'API renvoie des fragments via des événements envoyés par le serveur (SSE). Chaque fragment contient du contenu partiel et des métadonnées.
Les détails d'utilisation des tokens apparaissent dans le dernier chunk. Cela vous permet de suivre les coûts avec précision en temps réel. Le dernier chunk inclut les statistiques d'utilisation complètes pour la requête.
Gérer correctement la fermeture du flux pour éviter les fuites de ressources. Traitez toujours le dernier fragment pour obtenir des données de facturation précises.
Appel de fonctions (Outils)
Définissez les outils dans le corps de votre requête. Spécifiez les noms des outils, leurs descriptions et les schémas de paramètres. Le modèle répond par des appels d'outils lorsque cela est approprié.
Utilisez le paramètre tool_choice pour forcer ou autoriser des comportements spécifiques. Vous pouvez le définir sur auto, required ou des IDs d'outils spécifiques.
Traitez les appels d'outil dans la logique de votre application. Renvoyez la sortie de l'outil au modèle pour poursuivre la conversation. Cela permet des workflows complexes multi-étapes sans analyse externe.
Mode JSON et contraintes
Forcez une sortie structurée en définissant response_format sur json_object. Le modèle renverra du JSON sans blocs de code markdown.
Ce mode est idéal pour analyser les données dans les applications. Assurez-vous que votre schéma est clair pour améliorer la précision. Des structures JSON invalides peuvent provoquer des erreurs d'analyse dans votre client.
Combinez le mode JSON avec les contrôles de température pour un formatage cohérent. Utilisez des séquences d'arrêt pour éviter les caractères traînants après l'accolade de fermeture.
Limites de débit et quotas
Chaque clé API est limitée à 300 requêtes par minute. Vous pouvez effectuer jusqu'à 8 requêtes simultanées. La taille maximale du corps de la requête est de 8 Mo.
Une erreur 429 indique que vous avez dépassé la limite de taux. Attendez avant de réessayer ou réduisez votre concurrence. Une clé active existe par compte ; générer une nouvelle clé remplace l'ancienne.
Surveillez votre consommation via le dernier chunk de streaming ou les en-têtes de réponse. Les erreurs comme 402 (pas de crédit) ou 401 (clé invalide) sont gratuites et ne comptent pas dans votre quota.
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);Streaming
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)