Δημόσιο API
Το Libre WebUI εκθέτει API συμβατό με OpenAI, ώστε υπάρχοντα SDK, συντάκτες και scripts να στοχεύουν την εγκατάστασή σας αλλάζοντας μόνο το βασικό URL.
Έλεγχος ταυτότητας
Δημιουργήστε token API περιορισμένου εύρους στο Settings → Account → API tokens
(χρησιμοποιούν πρόθεμα lwk_ και αποθηκεύονται με hash). Η επιφάνεια /v1 απαιτεί
εύρος chat. Περάστε το token ως συνηθισμένο bearer key:
export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."
Τα αιτήματα διέπονται από όριο ανά token (600 αιτήματα ανά λεπτό) και το κοινό όριο chat.
Τερματικά σημεία
| Τερματικό σημείο | Σκοπός |
|---|---|
GET /v1/models | Διαθέσιμα μοντέλα (τοπικά και μέσω plugin παρόχων) |
POST /v1/chat/completions | Stateless ολοκλήρωση chat, με ή χωρίς streaming |
Το POST /v1/chat/completions δέχεται το γνωστό σώμα: model, messages
(system/user/assistant· τα πολυτροπικά τμήματα κειμένου ισοπεδώνονται), stream,
temperature, top_p, max_tokens/max_completion_tokens, seed και stop.
Οι streaming αποκρίσεις είναι πλαίσια SSE chat.completion.chunk που λήγουν με
data: [DONE]. Οι μη streaming περιλαμβάνουν μετρήσεις usage όταν τις επιστρέφει ο πάροχος.
curl "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "One sentence on herons."}]
}'
Σκόπιμα όρια
Η επιφάνεια /v1 είναι stateless inference: δεν δημιουργεί chat, δεν αγγίζει τη
βάση γνώσης και δεν εκτελεί εργαλεία. Stateful συνομιλίες με μόνιμα αναπαραγώγιμα
γεγονότα, ακύρωση κατά ταυτότητα, idempotent ουρές και τον εγγενή βρόχο εργαλείων
βρίσκονται στο /api/chat. Τα ίδια token μπορούν να το καλέσουν με εύρος chat.
Ρόλοι εκτός system/user/assistant (π.χ. tool) απορρίπτονται αντί να γίνονται
σιωπηρά δεκτοί.
Σχετική τεκμηρίωση
- Έλεγχος ταυτότητας — λογαριασμοί, συνεδρίες και token API
- Εργαλεία Chat — εγγενής βρόχος εργαλείων στο API γεγονότων