- Υλοποίηση του Ollama ως τοπικής μηχανής συμπερασμού για την εκτέλεση γλωσσικών μοντέλων χωρίς να εξαρτάται από το cloud.
- Ρύθμιση παραμέτρων του LibreChat χρησιμοποιώντας αρχεία YAML και Docker για τη δημιουργία ενός προηγμένου και ιδιωτικού περιβάλλοντος χρήστη.
- Σύγκριση συμβατών οικοσυστημάτων, συμπεριλαμβανομένων των Open WebUI, AnythingLLM και LobeChat, για βελτιστοποίηση της ροής εργασίας.
- Χρήση τεχνικών RAG για αλληλεπίδραση με τοπικά έγγραφα μέσω ενσωματώσεων και διανυσματικών βάσεων δεδομένων.
Η αγορά τεχνητής νοημοσύνης είναι γεμάτη μοντέλα και πλατφόρμες, αλλά πολλά από αυτά επεξεργάζονται συνομιλίες σε εξωτερικούς διακομιστές. Αυτό μπορεί να είναι βολικό, αλλά εγείρει επίσης ερωτήματα κατά την εργασία με... ιδιωτικά έγγραφα, εσωτερικό κώδικα ή εμπιστευτικές πληροφορίες.
Μια εναλλακτική λύση είναι ο συνδυασμός του Ollama και του LibreChat. Το Ollama χειρίζεται την εκτέλεση των μοντέλων στον υπολογιστή ή τον διακομιστή, ενώ το LibreChat παρέχει μια προηγμένη διεπαφή ιστού για τη διεξαγωγή συνομιλιών, την επισύναψη αρχείων, τη διαχείριση χρηστών και την εναλλαγή μεταξύ διαφορετικών μοντέλων.
Με αυτόν τον συνδυασμό, μπορείτε να δημιουργήσετε μια εμπειρία τύπου ChatGPT χρησιμοποιώντας το δικό σας υλικό. Επιπλέον, μόλις ληφθούν τα απαραίτητα κοντέινερ και μοντέλα, το σύστημα είναι έτοιμο για χρήση. χωρίς να αποστέλλονται οι συνομιλίες σε τρίτο πάροχο τεχνητής νοημοσύνης.
Ωστόσο, η απλή εγκατάσταση και των δύο εφαρμογών δεν αρκεί. Το LibreChat πρέπει να μπορεί να συνδεθεί με το API του Ollama και η σωστή διεύθυνση αλλάζει ανάλογα με το αν εκτελείτε το Ollama στο σύστημα υποδοχής, στο Docker ή σε άλλο μηχάνημα στο δίκτυό σας.
Τι είναι το Ollama και το LibreChat;

Το Ollam είναι ένα εργαλείο που απλοποιεί τη λήψη, τη διαχείριση και την εκτέλεση μοντέλων γλώσσας. Παρέχει μια διεπαφή γραμμής εντολών και ένα τοπικό API που συνήθως εκτελεί ακρόαση στη θύρα 1. 11434.
Ενσωματώνει επίσης συμβατότητα με μέρος του OpenAI API. Χάρη σε αυτό, μια εφαρμογή που έχει σχεδιαστεί για να επικοινωνεί με ένα συμβατό τελικό σημείο μπορεί να στέλνει αιτήματα σε μια διεύθυνση όπως http://localhost:11434/v1/ και χρησιμοποιήστε ένα μοντέλο εγκατεστημένο στο Ollama.
Η απόδοση θα εξαρτηθεί κυρίως από το μοντέλο, την κβαντοποίησή του και το διαθέσιμο υλικό. Η Ollama μπορεί να αξιοποιήσει διαφορετικούς τύπους επιτάχυνσης, συμπεριλαμβανομένων ορισμένων GPU Nvidia και AMD, καθώς και συμβατών τσιπ Apple. Ωστόσο, Η συγκεκριμένη συμβατότητα ποικίλλει ανάλογα με το λειτουργικό σύστημα και τη συσκευή..
Το LibreChat, από την άλλη πλευρά, είναι μια αυτο-φιλοξενούμενη διεπαφή συνομιλίας. Η εμφάνισή του θυμίζει το ChatGPT, αλλά έχει σχεδιαστεί για να συνδέει διαφορετικούς παρόχους και τερματικά σημεία από μία μόνο εγκατάσταση. Μπορεί να λειτουργήσει με εμπορικές υπηρεσίες, διακομιστές συμβατούς με OpenAI και τοπικά μοντέλα που εκτελούνται στο Ollama.
Εκτός από τη συνομιλία, το LibreChat ενσωματώνει λειτουργίες όπως πράκτορες, εργαλεία, μεταφορτώσεις αρχείων, προεπιλογές, αναζήτηση συνομιλιών, συμβατότητα MCP και διάφορες επιλογές διαχείρισης. Επομένως, είναι πιο κατάλληλο να το περιγράψουμε ως πλατφόρμα τεχνητής νοημοσύνης πολλαπλών προμηθευτών το οποίο είναι σαν μια απλή διεπαφή για το Ollama.
Εγκαταστήστε το Ollama και κατεβάστε ένα τοπικό μοντέλο
Το πρώτο βήμα είναι να εγκαταστήσετε το Ollama χρησιμοποιώντας την κατάλληλη μέθοδο για Windows, macOS ή Linux. Μπορείτε επίσης να το εκτελέσετε σε ένα κοντέινερ Docker, το οποίο είναι ιδιαίτερα χρήσιμο εάν θέλετε να διατηρήσετε ολόκληρη την υποδομή απομονωμένη και να τη διαχειριστείτε χρησιμοποιώντας το Compose.
Αφού ξεκινήσετε το Ollama, μπορείτε να επαληθεύσετε ότι το API του ανταποκρίνεται ανοίγοντας την ακόλουθη διεύθυνση στο πρόγραμμα περιήγησής σας:
http://localhost:11434/api/tags
Εάν η υπηρεσία λειτουργεί, θα επιστρέψει πληροφορίες σε μορφή JSON σχετικά με τα εγκατεστημένα μοντέλα. Μπορείτε επίσης να δείτε τη λίστα από ένα τερματικό με:
ollama list
Πριν συνδέσετε το LibreChat, θα χρειαστεί να κατεβάσετε τουλάχιστον ένα μοντέλο. Το ακριβές όνομα θα πρέπει να ελεγχθεί στη βιβλιοθήκη Ollama, καθώς οι διαθέσιμες εκδόσεις αλλάζουν με την πάροδο του χρόνου. Η γενική εντολή είναι:
ollama pull nombre-del-modelo
Για μια αρχική δοκιμή, είναι καλύτερο να επιλέξετε ένα μικρό μοντέλο που μπορεί να λειτουργήσει άνετα με τη διαθέσιμη μνήμη. Μόλις επαληθευτεί η σύνδεση, μπορείτε να κατεβάσετε μια μεγαλύτερη έκδοση ή μια με διαφορετική κβαντοποίηση.
Εάν το Ollama εκτελείται σε ένα κοντέινερ με όνομα ollamaΜπορείτε να κατεβάσετε το πρότυπο χωρίς να το εισαγάγετε χειροκίνητα:
docker exec -it ollama ollama pull nombre-del-modelo
Τα μοντέλα πρέπει να αποθηκεύονται σε έναν μόνιμο τόμο. Διαφορετικά, ενδέχεται να εξαφανιστούν όταν το κοντέινερ διαγραφεί και δημιουργηθεί ξανά.
Επιλέξτε τη διεύθυνση του Ollama ανάλογα με την εγκατάσταση
Ένα από τα πιο συνηθισμένα λάθη είναι η χρήση localhost ανεξάρτητα από το από πού γίνεται η σύνδεση. Μέσα στο κοντέινερ LibreChat, localhost Αναφέρεται στο ίδιο το κοντέινερ LibreChat, όχι στον κεντρικό υπολογιστή ή στο κοντέινερ Ollama.
Η σωστή κατεύθυνση εξαρτάται από την αρχιτεκτονική:
| Τοποθεσία Ollama | Συνήθης διεύθυνση από το LibreChat |
|---|---|
| Ollama και LibreChat στο ίδιο σύστημα, χωρίς Docker | http://localhost:11434/v1/ |
| LibreChat στο Docker και Ollama σε Windows ή macOS | http://host.docker.internal:11434/v1/ |
| Και τα δύο στο ίδιο δίκτυο Docker | http://ollama:11434/v1/ |
| Ollama σε άλλον υπολογιστή στο δίκτυο | http://IP_DEL_SERVIDOR:11434/v1/ |
Το όνομα ollama Το όνομα στο τρίτο παράδειγμα πρέπει να ταιριάζει με το όνομα της υπηρεσίας που ορίζεται στο αρχείο Docker Compose.
Στο Docker Desktop, host.docker.internal Συνήθως είναι διαθέσιμο αυτόματα. Σε μια εγκατάσταση Docker σε Linux, ίσως χρειαστεί να προσθέσετε αυτήν την καταχώρηση στην υπηρεσία LibreChat:
extra_hosts:
- "host.docker.internal:host-gateway"
Με αυτόν τον τρόπο, το κοντέινερ θα είναι σε θέση να επιλύσει αυτό το όνομα και να φτάσει στο σύστημα κεντρικού υπολογιστή.
Επιτρέψτε στο LibreChat να έχει πρόσβαση στον διακομιστή Ollama

Το Ollama συνήθως ακούει στην τοπική διεπαφή. Αυτό επαρκεί όταν η εφαρμογή-πελάτης εκτελείται στο ίδιο σύστημα, αλλά μπορεί να εμποδίσει το LibreChat να έχει πρόσβαση σε αυτήν από ένα κοντέινερ ή άλλον υπολογιστή.
Σε Linux, εάν το Ollama διαχειρίζεται ως υπηρεσία systemd, μπορείτε να δημιουργήσετε μια πρόσθετη διαμόρφωση με:
sudo systemctl edit ollama
Μέσα στον επεξεργαστή, προσθέστε:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Στη συνέχεια, εφαρμόστε τις αλλαγές και επανεκκινήστε την υπηρεσία:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Η διεύθυνση 0.0.0.0 Αυτό προκαλεί την Ollama να ακούει σε όλες τις διεπαφές δικτύου. Αυτό μπορεί να επιλύσει προβλήματα επικοινωνίας, αλλά επίσης επεκτείνει την επιφάνεια έκθεσης του διακομιστή.
Το τοπικό API του Ollama δεν απαιτεί έλεγχο ταυτότητας για αυτόν τον τύπο πρόσβασης. Επομένως, δεν θα πρέπει να δημοσιεύσετε τη θύρα. 11434 απευθείας στο διαδίκτυο. Περιορίστε την πρόσβαση χρησιμοποιώντας ένα τείχος προστασίας, ένα ιδιωτικό δίκτυο Docker, ένα VPN ή έναν εξουσιοδοτημένο διακομιστή μεσολάβησης.
Εάν το Ollama και το LibreChat εκτελούνται στο ίδιο Compose, είναι συνήθως ασφαλέστερο να διατηρείτε το Ollama προσβάσιμο μόνο στο εσωτερικό δίκτυο Docker και να αποφεύγετε τη δημοσίευση της θύρας εξωτερικά.
Ρύθμιση παραμέτρων του Ollama στο αρχείο librechat.yaml

Το LibreChat σάς επιτρέπει να προσθέσετε το Ollama ως προσαρμοσμένο τελικό σημείο συμβατό με το OpenAI API. Για να το κάνετε αυτό, πρέπει να δημιουργήσετε ή να επεξεργαστείτε το αρχείο. librechat.yaml που βρίσκεται στη ρίζα του έργου.
Μια βασική διαμόρφωση για το LibreChat στο Docker και το Ollama που είναι εγκατεστημένο στο σύστημα κεντρικού υπολογιστή θα ήταν η εξής:
version: 1.3.13
cache: true
endpoints:
custom:
- name: "Ollama"
apiKey: "ollama"
baseURL: "http://host.docker.internal:11434/v1/"
models:
default:
- "nombre-del-modelo"
fetch: true
titleConvo: true
titleModel: "current_model"
summarize: false
summaryModel: "current_model"
modelDisplayLabel: "Ollama"
Ο αριθμός που αναγράφεται στο version Αυτό αναφέρεται στην έκδοση του σχήματος διαμόρφωσης, όχι στην εγκατεστημένη έκδοση του LibreChat. Συνιστάται να χρησιμοποιήσετε την τιμή που εμφανίζεται στο επίσημο παράδειγμα που περιλαμβάνεται στην έκδοση που αναπτύσσετε.
Παρόλο που το Ollama αγνοεί το κλειδί API για τοπικά αιτήματα, το LibreChat αναμένει ότι το πεδίο apiKey υπάρχει. Γι' αυτό η τιμή μπορεί απλώς να χρησιμοποιηθεί. ollama ως πίνακας βαθμολογίας.
En models.default Πρέπει να εισαγάγετε το ακριβές όνομα που εμφανίζεται όταν εκτελείτε ollama listΜε fetch: trueΤο LibreChat μπορεί επίσης να υποβάλει ερώτημα για τα διαθέσιμα πρότυπα στον διακομιστή. Για να λειτουργήσει αυτή η ανίχνευση, το όνομα του τελικού σημείου πρέπει να ξεκινά με Ολάμα.
Η αξία current_model Σας επιτρέπει να χρησιμοποιήσετε το μοντέλο συνομιλίας για να δημιουργήσετε τον τίτλο σας, αποφεύγοντας τη φόρτωση ενός δεύτερου τοπικού μοντέλου μόνο για αυτήν την εργασία.
Μοντάρετε τη διαμόρφωση και επανεκκινήστε το LibreChat

Όταν το LibreChat εκτελείται στο Docker, δεν αρκεί απλώς να αποθηκεύσετε librechat.yaml στον υπολογιστή. Το αρχείο πρέπει να τοποθετηθεί μέσα στο κοντέινερ API.
Μπορείτε να αντιγράψετε το αρχείο δείγματος που περιλαμβάνεται στο έργο:
cp docker-compose.override.yml.example docker-compose.override.yml
Στη συνέχεια, ελέγξτε ότι docker-compose.override.yml Αυτός ο τόμος περιέχει:
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
Εάν χρησιμοποιείτε Docker σε Linux και το Ollama είναι εγκατεστημένο στον κεντρικό υπολογιστή, μπορείτε επίσης να ενσωματώσετε την ανάλυση του host.docker.internal:
services:
api:
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
Για να εφαρμόσετε τη διαμόρφωση, είναι προτιμότερο να αναδημιουργήσετε τις υπηρεσίες:
docker compose down
docker compose up -d
Όταν ανοίγετε το LibreChat, το Ollama θα πρέπει να εμφανίζεται στον επιλογέα τελικού σημείου ή μοντέλου. Εάν δεν εμφανίζεται, ελέγξτε τα αρχεία καταγραφής API.
docker compose logs api
Τα πιο συνηθισμένα σφάλματα είναι η εσφαλμένη εσοχή στο YAML, ένα μοντέλο του οποίου το όνομα δεν ταιριάζει, μια διεύθυνση URL που δεν είναι προσβάσιμη από το κοντέινερ ή ένα αρχείο που δεν έχει τοποθετηθεί σωστά.
Εναλλακτικές λύσεις αντί του LibreChat για χρήση του Ollama
Το LibreChat είναι ιδιαίτερα ενδιαφέρον για όσους θέλουν να συνδυάσουν τοπικά μοντέλα και τρίτους παρόχους σε μια διεπαφή παρόμοια με το ChatGPT. Ωστόσο, δεν είναι το μόνο εργαλείο που είναι συμβατό με το Ollama.
Άνοιγμα WebUI Προσφέρει απρόσκοπτη ενσωμάτωση με το Ollama και προσθέτει χρήστες, βάσεις γνώσεων, RAG, εργαλεία, πράκτορες και επιλογές διαχείρισης. Είναι μια ιδιαίτερα ολοκληρωμένη εναλλακτική λύση εάν το Ollama πρόκειται να αποτελέσει τον πυρήνα της εγκατάστασης.
AnythingLLM Έχει σχεδιαστεί για εργασία με έγγραφα και χώρους γνώσης. Σας επιτρέπει να εισάγετε αρχεία, να δημιουργείτε ξεχωριστές περιοχές και να χρησιμοποιείτε διαφορετικούς παρόχους μοντέλων και ενσωματώσεων. Η ποιότητα των απαντήσεων θα εξαρτηθεί από τον τρόπο επεξεργασίας των εγγράφων και τα διαμορφωμένα μοντέλα, επομένως δεν συνιστάται να υποθέτετε ότι θα παραθέτει πάντα το ακριβές απόσπασμα.
Βοήθεια σελίδας Λειτουργεί ως επέκταση προγράμματος περιήγησης και σας επιτρέπει να επικοινωνείτε με τοπικά μοντέλα κατά την περιήγηση. Είναι μια πιο ελαφριά επιλογή για ατομική χρήση, αν και δεν παρέχει όλες τις λειτουργίες διαχείρισης μιας πλατφόρμας που βασίζεται σε διακομιστή.
LobeChat Μπορεί επίσης να συνδεθεί με το Ollama και ξεχωρίζει για τη διεπαφή και το οικοσύστημα εργαλείων του. Όταν η επικοινωνία γίνεται απευθείας από το πρόγραμμα περιήγησης, ενδέχεται να είναι απαραίτητο να διαμορφώσετε σωστά τις επιτρεπόμενες προελεύσεις χρησιμοποιώντας OLLAMA_ORIGINSΑυτή η ρύθμιση είναι διαφορετική από OLLAMA_HOSTΤο πρώτο ελέγχει τις εξουσιοδοτημένες προελεύσεις ιστού και το δεύτερο καθορίζει σε ποιες διεπαφές ακούει ο διακομιστής.
Ιδιωτικότητα και ασφάλεια μιας τοπικής εγκατάστασης
Η σύνδεση του LibreChat με το Ollama σάς επιτρέπει να διατηρείτε συμπεράσματα στον δικό σας υπολογιστή, αλλά αυτό από μόνο του δεν εγγυάται ότι ολόκληρη η πλατφόρμα θα λειτουργεί ιδιωτικά.
Εάν προσθέσετε εμπορικά API, αναζητήσεις ιστού, μοντέλα απομακρυσμένης ενσωμάτωσης, εξωτερικά εργαλεία ή υπηρεσίες αναγνώρισης, Ορισμένες από τις πληροφορίες ενδέχεται να φύγουν από την υποδομή σαςΓια να διατηρήσετε την επεξεργασία εντός του δικτύου, πρέπει να ελέγξετε όλα τα στοιχεία που χρησιμοποιούνται, όχι μόνο το κύριο μοντέλο.
Είναι επίσης απαραίτητο να προστατεύσετε τους λογαριασμούς LibreChat, να ενημερώσετε τα κοντέινερ, να περιορίσετε τις εκτεθειμένες θύρες και τους τόμους δημιουργίας αντιγράφων ασφαλείας. Για εγκαταστάσεις με πρόσβαση στο διαδίκτυο, συνιστάται η χρήση HTTPS, ισχυρού ελέγχου ταυτότητας και ενός σωστά διαμορφωμένου αντίστροφου διακομιστή μεσολάβησης.
Μόλις ασφαλιστεί η υποδομή, ο συνδυασμός του LibreChat και του Ollama προσφέρει ένα εξαιρετικά ευέλικτο περιβάλλον. Το Ollama παρέχει το τοπικό επίπεδο συμπερασμάτων και το LibreChat προσθέτει την εμπειρία χρήστη, τη διαχείριση και τη δυνατότητα εργασίας με πολλά μοντέλα από μία μόνο τοποθεσία.
Το αποτέλεσμα είναι μια πλατφόρμα τεχνητής νοημοσύνης που ελέγχεται από τον χρήστη, ικανή να λειτουργεί χωρίς μηνιαία συνδρομή και, μετά τη λήψη όλων των απαραίτητων πόρων, χωρίς να εξαρτάται μόνιμα από σύνδεση στο διαδίκτυο.
Είμαι λάτρης της τεχνολογίας που έχει μετατρέψει τα «γκικ» ενδιαφέροντά του σε επάγγελμα. Έχω περάσει περισσότερα από 10 χρόνια της ζωής μου χρησιμοποιώντας τεχνολογία αιχμής και ασχολούμαι με όλα τα είδη προγραμμάτων από καθαρή περιέργεια. Τώρα έχω ειδικευτεί στην τεχνολογία υπολογιστών και στα βιντεοπαιχνίδια. Αυτό οφείλεται στο γεγονός ότι για περισσότερα από 5 χρόνια εργάζομαι γράφοντας για διάφορους ιστότοπους σχετικά με την τεχνολογία και τα βιντεοπαιχνίδια, δημιουργώντας άρθρα που επιδιώκουν να σας δώσουν τις πληροφορίες που χρειάζεστε σε μια γλώσσα κατανοητή από όλους.
Αν έχετε απορίες, οι γνώσεις μου κυμαίνονται από οτιδήποτε σχετίζεται με το λειτουργικό σύστημα Windows καθώς και με Android για κινητά τηλέφωνα. Και η δέσμευσή μου είναι απέναντί σας, είμαι πάντα πρόθυμος να αφιερώσω λίγα λεπτά και να σας βοηθήσω να επιλύσετε τυχόν απορίες που μπορεί να έχετε σε αυτόν τον κόσμο του Διαδικτύου.