Edellytykset: SDK-määritys
Asenna kielikohtainen asiakasohjelmisto ennen yhteyden määritystä. Kirjasto hoitaa JSON-serialisoinnin, uudelleenyrittämiset ja streamausprotokollat automaattisesti.
Python, asenna paketti pipillä. Node.js, käytä npm:tä tai yarniä lisätäksesi riippuvuuden projektiisi.
Varmista, että käytät tuoreinta SDK-versiota kaikkien ominaisuuksien, kuten funktiokutsujen ja JSON-tilan, tukemiseksi.
Konfiguraatio: Base URL & Avain
Osoita SDK-asiakkaasi tiettyyn base URLiisi ja toimita rekisteröitymisen aikana saamasi API-avain.
Perusosoite on HTTPS://api.claudellmapi.com/v1. Tämä varmistaa, että kaikki pyynnöt menevät vakiintumattomille mallipalvelimillemme oletus tarjoajan sijaan.
Aseta API-avain ympäristömuuttujaksi tai välitä se suoraan asiakaskonstruktorille. Lisäotsikoita ei tarvita.
Ensimmäisen pyynnön lähettäminen
Lähetä yksinkertainen chat-päättöpyyntö yhteystestaukseen ja vastauksen laadun varmistamiseen. Käytä mallitunnistetta 'uncensored' päästäksesi käsiksi rajoittamattomaan malliin.
Pyyntörakenne vastaa standardia OpenAI-muotoa, mikä tekee olemassa olevien integraatioiden vaihtamisesta helppoa.
Oleta tekstivastaus, joka sisältää mallin vastauksen syötteeseesi.
Striimitettyjen vastausten käsittely
Ota suoratoisto käyttöön vastaanottaaksesi tokenit niiden synnyttyä, mikä vähentää koettua viivettä pitkissä tuloksissa.
Aseta stream-parametri arvoksi true pyynnössäsi. SDK tuottaa tekstilohkoja niiden saatavilla ollessa.
Tämä on ihanteellinen chatliittymille, joissa käyttäjät odottavat välitöntä palautetta, kun malli vielä ajattelee.
Funktio kutsumisen toteuttaminen
Määritä työkalut pyyntöön, jotta malli voi palauttaa rakenteellista dataa tavallisen tekstin sijaan.
Määritä funktion skeema ja aseta tool_choice arvoon 'auto' tai tiettyyn funktionimeen.
Malli vastaa funktiokutsuobjektilla, jonka voit suorittaa koodissasi. Tämä toimii saumattomasti uncensored-mallimme kanssa.
Virheenkäsittely & Rajat
Käsittele yleiset HTTP-virheet joustavasti sujuvan käyttökokemuksen ylläpitämiseksi. Tila 401 tarkoittaa virheellistä tai puuttuvaa API-avainta. Tila 402 tarkoittaa, että esimaksusaltonsi on loppu. Tila 429 ilmoittaa, että olet ylittänyt nopeusrajoituksen, joka on 300 pyyntöä minuutissa.
Kontekstikkonisi on 100 000 tokenia promptin ja tuloksen yhteensä. Pyynnöt, jotka ylittävät 8 Mt:n runkorajan, epäonnistuvat myös.
cURL
curl https://api.claudellmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What are the current rate limits for large context windows"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.claudellmapi.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.claudellmapi.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)