Perus-URL ja todennus
Yhdistä openai-yhteensopiva API päivittämällä asiakaskonfiguraatiosi osoittamaan https://api.openaicompatibleapiendpoints.com/v1. Tarvitset voimassa olevan API-avaimen, joka lähetetään kenttään Authorization header Bearer-tokenina. Tämä asetus toimii virallisissa OpenAI-SDK:issa ja kaikissa yhteensopivissa asiakas kirjastoissa. Monimutkaista gateway-konfiguraatiota ei tarvita.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Jokaisen pyynnön on sisällettävä ainutlaatuisesi avain. Jos avain puuttuu tai on virheellinen, palvelin palauttaa 401-virheen välittömästi. Tämä varmistaa, että kutsusi saavuttavat oikean uncensored LLM:n ilman reititysviiveitä.
Chat Completions Endpoint
Lähetä viestit osoitteeseen POST /v1/chat/completions päätepiste tekstimäisten vastausten saamiseen uncensored malli. Tämä päätepiste käsittelee standardit keskusteluvuorot ja tukee jopa 100 000 tokenin kontekstiikkunaa. Voit asettaa enimmäislähtömääräksi 16 000 tokenia pyyntöä kohden. Malli vastaa ilman sisältöhylkäyksiä laillisiin aikuisaiheisiin.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)Käytä vakiota messages taulukkomuoto. API jättää huomiotta tuntemattomat lisäkentät, mikä tekee siirtymisestä helppoa. Maksat vain mallin todellisesti käyttämistä tokenneista.
Streamausvastaukset
Ota käyttöön reaaliaikainen tokenitoimitus asettamalla stream: true pyynnössäsi. Palvelin lähettää sarjan Server-Sent Events (SSE) -tekniikan, kunnes vastaus on valmis. Tokenkäyttötilastot ilmestyvät streamin viimeisessä osassa. Tämä vähentää koettua viivettä käyttäjille, jotka odottavat pitkiä vastauksia.
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)Puskuroi saapuvat tokenit asiakaspäässä rekonstruoidaksesi koko tekstin. Virheet streamauksen aikana ovat harvinaisia, mutta ne tulee käsitellä tarkistamalla lopullinen tapahtuma virhekoodin varalta. Streamaus pysähtyy automaattisesti, kun kontekstiraja tai max tokens saavutetaan.
JSON-tila ja työkalut
Pakota rakenteellinen tuloste asettamalla response_format vastaan {"type": "json_object"}. Tämä varmistaa, että malli palauttaa kelvollista JSONia markdown-tekstin sijaan. Voit myös käyttää kohdassa tools parametri toimintokutsuihin. API tukee tool_choice tarkkaan ohjaukseen, mitä toimintoja malli kutsuu.
Käyttö temperature ja top_p säätämään satunnaisuutta. Aseta seed toistuvien tulosten saamiseksi virheenkorjauksen aikana. Nämä parametrit toimivat odotetusti standardien OpenAI-yhteensopivien integraatioiden kanssa.
Virheenkäsittely ja rajat
Käsittele vakioita HTTP-virheitä hallitaksesi asiakaspään epäonnistumisia joustavasti. 401-tila tarkoittaa, että API-avaimesi on virheellinen. 402-tila osoittaa, että esimaksukrediittisi on loppu. 429-virhe merkitsee, että ylityit 300 pyynnön minuuttirajan.
Jokainen avain sallii kahdeksan samanaikaista pyyntöä. Pyynnön runko on rajoitettu 8 MB:iin. Palautuksia ei myönnetään käytetylle saldolle, mutta käsittelyn aikana tapahtuvat virheet ovat ilmaisia. Tarkista aina error object JSON-vastauksessa yksityiskohtia varten.
Kontekstiluukku ja mallin tiedot
Malli tukee 100 000 tokenin kontekstiikkunaa sekä syötteelle että tulosteelle yhteensä. Tämä mahdollistaa syvällisen kontekstin säilymisen pitkissä asiakirjoissa tai laajennetuissa keskusteluissa. Oletusarvoinen enimmäistuloste on 2 048 tokenia, jos et määritä sitä max_tokens. Voit kasvattaa tätä enintään 16 000 tokeniin pyyntöä kohden.
Malli ei ole GPT, Claude tai mikään muu toimittajan malli. Se on avoin painoinen malli, joka on hienosäädetty sisältökielloista vastauksiin. Dataasi ei käytetä koulutukseen. Tämä varmistaa yksityisyyden omistamassasi datassa.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);