Pika-aloitus: Ensimmäinen pyyntö
Aloita osoittamalla asiakasohjelma base URL -osoitteeseemme. Käytä https://api.grockapi.com/v1 ja aseta API-avaimesi otsikkoon. Mallin tunnus on aina uncensored. Tämä toimii minkä tahansa OpenAI-yhteensopivan SDK:n kanssa.
Todennus vaatii voimassa olevan Bearer-tokenin. Lähetä se Authorization: Bearer YOUR_API_KEY. Jos avain puuttuu tai on virheellinen, saat 401-virheen välittömästi.
Tee ensimmäinen kutsusi yhteyden testaamiseen. Pyyntöruudun on sisällettävä mallin nimi ja messages-taulikko.
Tuetut parametrit ja tilat
Määritä luontitapaa vakioparametreilla. Voit säätää lämpötilaa luovuutta varten tai top_p:tä ydinotantaan. Käytä stop-parametria määrittääksesi tiettyjä sekvenssejä, jotka keskeyttävät luonnin.
Aseta seed deterministisiin tuloksiin vianetsinnän aikana. Presence- ja frequency-penaltyt auttavat vähentämään toistoa. Malli tukee jopa 100 000 tokenia yhteysikkunassa.
Maksimiteho on rajoitettu 16 000 tokeniin pyyntöä kohden. Jätä max_tokens asettamatta käyttääksesi oletusarvoista 2 048:n maksimitehoa. Virheet ja hylkäykset eivät kuluta krediittiasi.
Streamaus ja token-käyttö
Ota streamaus käyttöön asettamalla stream: true. API palauttaa palautusosia Server-Sent Events (SSE) -virran kautta. Jokainen palautusosuus sisältää osittaisen sisällön ja metadataa.
Token-käyttötiedot ilmestyvät viimeisessä palasessa. Tämä mahdollistaa kustannusten tarkan seurannan reaaliajassa. Viimeinen palas sisältää pyynnön täydelliset käyttötilastot.
Käsittele streamin päätyminen asianmukaisesti välttääksesi resurssivuodon. Käsittele aina viimeinen lohko saadaksesi tarkan laskutustiedon.
Funktio Calling (Tools)
Määritä työkalut pyyntörunkoasi varten. Määritä työkalujen nimet, kuvaukset ja parametrien skeemat. Malli vastaa työselukutsuilla, kun se on aiheellista.
Käytä tool_choice-parametria pakottaaksesi tai sallitaksesi tiettyjä käyttäytymismalleja. Voit asettaa sen arvoon auto, required tai tiettyjen työkalujen tunnuksiin.
Käsittele työkalukutsut sovelluslogiikassasi. Lähetä työkalun tulos takaisin mallille keskustelun jatkamiseksi. Tämä mahdollistaa monimutkaiset monivaiheiset työvuot ilman ulkoista jäsentämistä.
JSON-tila ja rajoitukset
Pakota rakenteellinen tuloste asettamalla response_format arvoon json_object. Malli palauttaa JSON-tiedon ilman markdown-koodilohkoja.
Tämä tila on ihanteellinen datan jäsentämiseen sovelluksiin. Varmista, että skeemasi on selkeä tarkkuuden parantamiseksi. Virheelliset JSON-rakenteet voivat aiheuttaa jäsentämisvirheitä asiakkaallasi.
Yhdistä JSON-tila lämpötilan säätöön johdonmukaisen muotoilun saavuttamiseksi. Käytä stop-sekvenssejä estämään peräkkäiset merkit sulkevan aaltosulkeen jälkeen.
Nopeusrajoitukset ja kiintiöt
Jokaiselle API-avaimelle on rajoitettu 300 pyyntöä minuutissa. Voit suorittaa enintään 8 samanaikaista pyyntöä. Pyynnön rungon enimmäiskoko on 8 Mt.
Virhe 429 tarkoittaa, että olet ylittänyt nopeusrajoituksen. Odota ennen uudelleenkäynnistystä tai vähennä samanaikaisuutta. Yksi aktiivinen avain on tilillä; uuden avaimen luominen korvaa vanhan.
Seuraa käyttöäsi viimeisen streamauspakkauksen tai vastausotsikoiden kautta. Virheet kuten 402 (ei rahaa) tai 401 (virallinen avain) ovat ilmaisia eivätkä laske kulutettua määrääsi.
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);Virtaus
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)