Authentication and Base URL
Ξεκινήστε αντικαθιστώντας τη βάση URL και το API key στη διαμόρφωση του πελάτη σας. Η υπηρεσία μας χρησιμοποιεί μία μοναδική βάση URL για όλες τις αιτήσεις, κάτι που εξασφαλίζει συμβατότητα με υπάρχοντα OpenAI SDKs. Δεν χρειάζεται να διαχειρίζεστε πολλαπλά endpoints για διαφορετικά χαρακτηριστικά. Δημιουργήστε το κλειδί σας μέσω του πίνακα ελέγχου χρησιμοποιώντας Google ή email. Διατηρήστε αυτό το κλειδί ασφαλές, καθώς παρέχει άμεση πρόσβαση στις προπληρωμένες πιστώσεις σας.
Το κλειδί API στέλνεται στο Authorization header. Αν χάσετε το κλειδί σας, δημιουργήστε ένα νέο από το dashboard, το οποίο θα αντικαταστήσει το παλιό ενεργό κλειδί. Δεν απαιτείται αριθμός τηλεφώνου για την αποκατάσταση του λογαριασμού, διατηρώντας την προσέγγισή μας με βάση την ιδιωτικότητα. Χρησιμοποιήστε τη βάση URL παρακάτω για όλες τις επόμενες αιτήσεις.
Base URL: https://api.norestrictedai.com/v1
POST /v1/chat/completions
Στείλτε το prompt σας στο POST /v1/chat/completions σημείο τερματισμού (endpoint) για λήψη μιας απάντησης κειμένου. Αυτό είναι το μόνο σημείο τερματισμού που χρειάζεστε για την παραγωγή κειμένου. Το ID του μοντέλου είναι uncensored. Είναι ένα μοντέλο ανοιχτού βάρους, βελτιστοποιημένο για απάντηση χωρίς απορρίψεις περιεχομένου για νόμιμη χρήση ενήλικων. Δεν είναι GPT ή Claude. Μπορείτε να ροές αποκρίσεις ή να τις ζητήσετε σε λειτουργία JSON. Το σύστημα υποστηρίζει κλήση συναρτήσεων και τυπικές παραμέτρους όπως η θερμοκρασία και το top_p.
Τα αιτήματα επεξεργάζονται ως text-in, text-out. Δεν υπάρχουν δυνατότητες embeddings ή δημιουργίας εικόνας. Αν χρειάζεστε αυτά, κοιτάξτε αλλού. Η εστίασή μας είναι καθαρά στη άμεση δημιουργία κειμένου με διαφανή τιμολόγηση token. Τα σφάλματα και οι απορρίψεις (εκτός από το αυστηρό όριο περιεχομένου ανηλίκων) δεν καταναλώνουν το credit σας.
Ενσωμάτωση SDK Python
Χρησιμοποιήστε την επίσημη βιβλιοθήκη Python της OpenAI για να αλληλεπιδράσετε με το API μας. Ορίστε τη βάση URL και το API key στην εκδοχή του πελάτη. Αυτή η προσέγγιση σας επιτρέπει να διατηρήσετε τη δομή του υπάρχοντος κώδικά σας ενώ αλλάζετε παρόχους. Η βιβλιοθήκη διαχειρίζεται αυτόματα τη σειριοποίηση JSON και τα HTTP αιτήματα. Μπορείτε να χρησιμοποιήσετε το ίδιο όνομα μοντέλου όπως θα κάνατε για άλλες υπηρεσίες, αλλά θυμηθείτε ότι το ID του μοντέλου μας είναι uncensored.
Αυτή η μέθοδος είναι ιδανική για backend υπηρεσίες και scripts. Η βιβλιοθήκη υποστηρίζει τόσο συγχρονικές όσο και ασύγχρονες λειτουργίες. Μπορείτε να ρυθμίσετε τις τιμές temperature και top_p για να ελέγξετε τη δημιουργικότητα. Το αντικείμενο απάντησης περιέχει το δημιουργημένο κείμενο και στατιστικά χρήσης tokens.
Node SDK Integration
Ενσωματώστε το API μας σε εφαρμογές Node.js χρησιμοποιώντας το τυποποιημένο OpenAI SDK. Διαμορφώστε τον πελάτη με το base URL και το API key. Αυτή η ρύθμιση λειτουργεί άψογα με διαδρομές Express ή serverless functions. Το SDK διαχειρίζεται τον κύκλο ζωής του αιτήματος, συμπεριλαμβανομένων των επαναπροσπαθειών και της διαχείρισης σφαλμάτων. Μπορείτε να περάσετε μηνύματα ως πίνακα αντικειμένων role και content.
Αυτή η ενσωμάτωση είναι ιδανική για web εφαρμογές και μικροϋπηρεσίες. Το αντικείμενο απόκρισης περιλαμβάνει το παραγόμενο περιεχόμενο και δεδομένα χρήσης. Μπορείτε να ενεργοποιήσετε το streaming για να στείλετε tokens στον πελάτη καθώς παράγονται. Αυτό μειώνει την αντιλαμβανόμενη καθυστέρηση για τους τελικούς χρήστες. Το SDK υποστηρίζει όλες τις τυπικές παραμέτρους που ορίζονται στην προδιαγραφή API.
Streaming Αποκρίσεις (SSE)
Ενεργοποιήστε τη ροή δεδομένων (streaming) ορίζοντας το stream η παράμετρος σε true. Η API επιστρέφει μια ροή Server-Sent Events (SSE). Κάθε chunk περιέχει μια μερική απάντηση. Το τελικό chunk περιλαμβάνει τη συνολική χρήση tokens. Αυτή η λειτουργία μειώνει σημαντικά τον χρόνο έως το πρώτο token. Είναι απαραίτητη για διεπαφές συνομιλίας και εφαρμογές πραγματικού χρόνου.
Η ροή συνεχίζεται μέχρι το μοντέλο να ολοκληρώσει την απάντηση ή να προκύψει σφάλμα. Μπορείτε να διακόψετε τη ροή ανά πάσα στιγμή. Ο server σταματά την επεξεργασία του αιτήματος όταν ο client αποσυνδέεται. Αυτό εξοικονομεί πόρους υπολογιστικής ισχύος. Χρησιμοποιήστε τη λειτουργία streaming για να παρέχετε μια ομαλή εμπειρία χρήστη. Η χρήση tokens στο τελευταίο chunk σας επιτρέπει να παρακολουθείτε τα κόστη με ακρίβεια.
Όρια Ρυθμού και Σφάλματα
Η API μας επιβάλλει αυστηρά όρια ρυθμού για να διασφαλίσει τη σταθερότητα. Επιτρέπονται 300 αιτήματα ανά λεπτό ανά κλειδί. Μπορείτε να έχετε 8 ταυτόχροναι αιτήσεις ταυτόχρονα. Το μέγιστο μέγεθος σώματος αιτήματος είναι 8 MB. Αν ξεπεράσετε αυτά τα όρια, λαμβάνετε σφάλμα 429. Σφάλματα όπως τα μη έγκυρα κλειδιά επιστρέφουν 401. Το ανεπαρκές υπόλοιπο επιστρέφει 402. Αυτά τα σφάλματα δεν καταναλώνουν το υπόλοιπό σας.
Το παράθυρο συμφραζομένων είναι 100.000 tokens για prompt και completion συνολικά. Η μέγιστη έξοδος είναι 16.000 tokens ανά αίτηση. Αν δεν ορίσετε max_tokens, το όριο είναι 2,048. Το πιστωτικό υπόλοιπο είναι προπληρωμένο και δεν λήγει. Τα σφάλματα είναι δωρεάν. Αν χρεωθείτε διπλά, επικοινωνήστε με την υποστήριξη. Το σύστημα δεν καταγράφει τα prompts για εκπαίδευση. Η ιδιωτικότητα διατηρείται. Χρησιμοποιήστε τα παρακάτω blocks κώδικα για να υλοποιήσετε αυτές τις λειτουργίες.
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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.norestrictedai.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);Ροή
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)