Asennus ja määritys
Aloita luomalla tili saadaksesi API-avaimen. Rekisteröidy joko Google-tilillä tai sähköpostin ja salasanan yhdistelmällä. Järjestelmä näyttää ainutlaatuisen avaimen välittömästi näytöllä. Tähän vaiheeseen ei tarvita puhelinnumerotarkistusta. Voit luoda uuden avaimen milloin tahansa, mutta tiliä kohti on vain yksi aktiivinen avain. Uusi avain korvaa edellisen välittömästi. Säilytä tämä avain turvassa, koska se antaa pääsyn esimaksullisiin krediitteihisi. Käytä näitä kirjautumistietoja mihin tahansa standardiin OpenAI-yhteensopivaan SDK:han aloittaaksesi integraation.
Peruskonfiguraatio
Osoita asiakkaasi omalle perusosoitteelle sensuroimattomiin pyyntöihin. Käytä vakio BASE_URL parametri ohjata liikenne oikein. Päätepisteen rakenne peilaa OpenAI:n konventioita helpon vaihtamisen varmistamiseksi. Sinun on toimitettava API-avaimesi Authorization header. Aseta mallin tunnus arvoksi uncensored konfiguraatioobjektissasi. Tämä varmistaa, että pyyntö kohdistaa oikeaan uncensored-suureen kielimalliin. Varmista yhteys luettelemalla saatavilla olevat mallit käyttämällä /v1/models päätepiste. Tämä vahvistaa, että todennuksesi on kelvollinen ennen raskaiden tietojen lähettämistä.
Pyyntöjen lähettäminen
Tee vakio POST-pyyntö chat-täydennyspäätepisteeseen. Pyynnön sisällön on sisällettävä model kenttä asetettu uncensored. Syötä viestit taulukkona kentän messages avain. Järjestelmä hyväksyy standardit roolimääritelmät kuten user ja assistant. Syötetokeneista veloitetaan läpinäkyvällä hinnalla $0.15 per miljoona tokenia. Tulostokeneista veloitetaan $0.50 per miljoona tokenia. Virheet eivät kuluta esimaksusaldoasi. Tämä laskutuskäytäntö varmistaa, että maksat vain todella generoidusta tekstistä. Lähetä ensimmäinen viittosi seuraavalla cURL-komennolla.
Streamausvastaukset
Ota streamaus käyttöön asettamalla stream arvoon true pyynnössäsi. Palvelin palauttaa palvelimen lähettämien tapahtumien (SSE) striimin. Jokainen lohko sisältää osan generoidusta tekstistä. Viimeinen lohko sisältää täydelliset token-käytön tilastot. Tämä mahdollistaa tekstin näyttämisen käyttäjille reaaliajassa. Striimaus toimii identtisesti kaikissa tuetuissa SDK:ssa. Varmista, että asiakkaasi käsittelee osittaiset tekstipuskurit oikein. Käytä tätä menetelmää pitkän muotoisen sisällön tuotantoon tai interaktiivisiin keskustelujärjestelmiin. Seuraava esimerkki osoittaa, miten striimiä käsitellään Pythonissa.
Funktio kutsu
Määritä työkalut pyyntöön käyttämällä tools parametri. Malli palauttaa rakenteellisia työkalukutsuja sopivissa tilanteissa. Voit määrittää tool_choice pakottaa tiettyä käyttäytymistä. Palauta työkalun vastaus mallille lisäkäsittelyä varten. Tämä tukee monimutkaisia työnkuluja, jotka vaativat ulkoisia API-vuorovaikutuksia. Malli käsittelee JSON-muotoilun automaattisesti tarvittaessa. Varmista, että funktiomäärittelysi vastaavat odotettua kaavaa. Tämä ominaisuus toimii standardien lämpötila- ja top-p-asetusten rinnalla. Käytä Node.js:tä työkalujen käsittelyn tehokkaaseen toteutukseen.
JSON-tila ja rajat
Pyyntö tiukkaa JSON-tulosta asettamalla response_format vastaan {"type": "json_object"}. Malli takistaa validin JSON-rakenteen vastauksessa. Tämä on ihanteellista datan jäsentämiseen sovelluslogiikassasi. Huomioi 100 000 tokenin kontekstiraja. Tämä kattaa sekä promptin että vastauksen yhdessä. Maksimituotos pyyntöä kohden on 16 000 tokenia. Jos et määritä max_tokens, raja oletusarvo on 2 048. Pyyntöjä on rajoitettu 300:aan minuutissa per avain. Samanaikaiset pyynnöt on rajoitettu kahdeksaan samanaikaisesti. Pyyntörungon ei saa ylittää 8 Mt. Käsittele virheet joustavasti kuten seuraavassa stream-esimerkissä.
cURL
curl https://api.modelsuncensoredopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list three json keys"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.modelsuncensoredopenrouter.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.modelsuncensoredopenrouter.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)