Pika-aloitus: Integroi Uncensored API
Lisää uncensored API olemassa olevaan koodiisi. Vaihda yksi base-URL-osoite ja pidä logiikkasi.
Edellytykset: SDK ja ympäristön määritys
Asenna kielikohtainen virallinen SDK. Tuemme mitä tahansa openai compatible client. Our service acts as a drop-in replacement for standard OpenAI integrations.
Aseta ympäristömuuttujasi välittömästi. Tämä välttää kirjautumistietojen kovakoodaamisen lähdekooditiedostoihin. API-avaimesi tunnistaa tilin ja seuraa käyttöä.
Käytä vakiokirjastoversiota. Useimmilla kehittäjillä on nämä jo asennettuna. Jos ei, lisää paketti riippuvuuksiisi.
Todennus: API-avaimen asettaminen
Vie avaimesi Authorization header. Vaadimme Bearer-tokenia jokaiseen pyyntöön. Tämä menetelmä on yleinen kaikissa OpenAI-yhteensopivissa päätepisteissä.
Luo avaimesi hallintapaneelista. Saat yhden aktiivisen avaimesen tilille. Avaimen vaihtaminen mitätöi vanhan avaimesen välittömästi.
Pidä avaimesi turvassa. Älä paljasta sitä asiakaspuolen koodissa. Päätepisteemme validoi kirjautumistiedot ennen tokenien käsittelyä.
Päätepiste: POST /v1/chat/completions
Lähetä promptisi chat-päätepisteeseen. Käytä model kenttä asetettu uncensored. Tämä varmistaa, että pyyntö ohjautuu tiettyyn malliimme.
Streamausvastaukset SSE:n kautta
Ota streamaus käyttöön asettamalla stream: true. Saat palikoita niiden tuotannon aikana. Tämä vähentää koettua viivettä pitkissä tulosteissa.
Jäsennä Server-Sent Events -muoto. Jokainen palikka sisältää osittaista tekstiä. Aggregoi nämä palikat rekonstruoidaksesi koko vastauksen.
Seuraa token-käyttöä viimeisessä palikassa. Viimeinen tapahtuma sisältää täydelliset käyttötilastot. Tämä auttaa sinua seuraamaan kustannuksia tarkasti.
Funktikutsut ja työkalujen käyttö
Määritä työkalut pyyntörunkoasi varten. Malli palauttaa rakenteelliset argumentit. Jäsentele nämä argumentit sovelluslogiikassasi.
Tukee vakioita työkalumäärittelyjä. Käytä tool_choice pakottaa tiettyä käyttäytymistä. Tämä toimii minkä tahansa OpenAI-yhteensopivan SDK:n kanssa.
Varmista ulostulon muoto. Varmista, että koodisi käsittelee puuttuvat argumentit sujuvasti. Malli voi jättää kentät pois, jos niitä ei vaadita.
JSON-tila ja rakenteiset lähdöt
Aseta response_format vastaan json_object. Malli palauttaa tiukasti muotoillun JSONin. Tämä poistaa jäsennysvirheet rakenteelliselle datalle.
Määrittele skeemasi selkeästi. Malli noudattaa ohjeitasi tarkasti. Käytä tätä datan erotteluun tai konfiguraation luomiseen.
Käsittele JSON-tulkkausvirheet. Virheellisiä rakenteita esiintyy edelleen ajoittain. Toteuta varakko-logiikka robusteja sovelluksia varten.
Virheenkäsittely ja nopeusrajoitukset
Käsittele HTTP-tilakoodit asianmukaisesti. A 401 virhe tarkoittaa, että avaimesi on virallinen. A 402 virhe tarkoittaa riittämätöntä krediittia. A 429 virhe tarkoittaa nopeusrajoitusta.
Kunnioita 300 pyynnön minuutissa -rajaa. Voit lähettää 8 samanaikaista pyyntöä. Näiden rajojen ylitys palauttaa 429-virheen. Odota ennen uudelleenyritystä.
Kontekstikkonisi on 100 000 tokenia. Tämä sisältää sekä syötteen että tuloksen. Hallitse tokenibudjettiasi huolellisesti. Maksimitulos on 16 000 tokenia pyyntöä kohden. Virheet eivät kuluta saldoa.
cURL
curl https://api.alternativeapiopenai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the primary functions in this module"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.alternativeapiopenai.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.alternativeapiopenai.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)Yleiset kysymykset
Onko tämä aito OpenAI-API-vaihtoehto?
Kyllä, se noudattaa OpenAI-protokollaa täsmälleen. Muutat vain base URL:n ja mallin nimen. Olemassa oleva koodisi toimii ilman muutoksia.
Mikä on kontekstiruutturajoitus?
Kontekstiikkoni on yhteensä 100 000 tokenia. Tämä sisältää sekä syöteesi että mallin' tuotannon. Maksimi vastaus pyyntöä kohden on 16 000 tokenia.
Miten käsittelemme nopeusrajoituksia?
Sinulla on rajoitus 300 pyyntöä minuutissa. Voit pitää 8 samanaikaista pyyntöä. Jos ylität tämän rajan, saat virheen 429. Odota hetki ennen uudelleenkäyntiä.
Avaimen luomiseen vaaditaan vain lomake
Rekisteröidy, kopioi avaimesi ja päivitä base URL. Se on kaikki vaadittu konfiguraatio.