Azure Blob Storage
Dieses Dokument enthält Anweisungen zur Einrichtung von Azure Blob Storage für LibreChat
Auf dieser Seite
Produktions-Setup
Azure Blob Storage bietet skalierbaren, sicheren Objektspeicher für Dateien in LibreChat. Befolgen Sie diese Schritte, um Ihren Azure Blob Storage zu konfigurieren.
1. Azure Storage Account erstellen
-
Bei Azure anmelden:
- Öffnen Sie das Azure Portal und melden Sie sich mit Ihrem Microsoft-Konto an.
-
Speicherkonto erstellen:
- Klicken Sie auf "Create a resource" und suchen Sie nach "Storage account".
- Klicken Sie auf "Create" und geben Sie die erforderlichen Details ein:
- Abonnement & Ressourcengruppe: Wählen Sie Ihr Abonnement und entweder eine bestehende Ressourcengruppe aus oder erstellen Sie eine neue.
- Name des Speicherkontos: Geben Sie einen eindeutigen Namen ein (z. B.
mylibrechatstorage). - Region: Wählen Sie die Region aus, die Ihren Benutzern am nächsten liegt.
- Leistung & Redundanz: Wählen Sie die Leistungsstufe und das Redundanzniveau, die Ihren Anforderungen am besten entsprechen.
- Klicken Sie auf "Review + Create" und dann auf "Create". Warten Sie, bis die Bereitstellung abgeschlossen ist.
2. Authentifizierung einrichten
Sie haben zwei Möglichkeiten, sich bei Ihrem Azure Storage Account zu authentifizieren:
Option A: Verwendung eines Connection String
-
Navigieren Sie zu Access Keys:
- Gehen Sie in Ihrem neu erstellten Speicherkonto in der Seitenleiste auf "Access keys".
-
Verbindungszeichenfolge kopieren:
- Kopieren Sie eine der bereitgestellten Verbindungszeichenfolgen. Diese Zeichenfolge enthält die Anmeldeinformationen, die für die Verbindung mit Ihrem Blob Storage-Konto erforderlich sind.
Option B: Verwendung von Managed Identity
Wenn Ihre LibreChat-Anwendung auf einem Azure-Dienst ausgeführt wird, der Managed Identity unterstützt (wie z. B. eine Azure VM, App Service oder AKS), können Sie diese anstelle einer Verbindungszeichenfolge verwenden.
-
Verwaltete Identität zuweisen:
- Stellen Sie sicher, dass für Ihre Azure-Ressource (VM, App Service oder AKS) eine systemseitig oder benutzerseitig zugewiesene Managed Identity aktiviert ist.
-
Speicherberechtigungen erteilen:
- Weisen Sie in Ihrem Speicherkonto Ihrer Managed Identity die Rolle Storage Blob Data Contributor (oder eine Rolle mit ähnlichem Umfang) zu. Dies ermöglicht Ihrer Anwendung den Zugriff auf den Blob Storage ohne eine Verbindungszeichenfolge.
3. Aktualisieren Sie Ihre Umgebungsvariablen
Erstellen oder aktualisieren Sie Ihre .env Datei im Stammverzeichnis Ihres Projekts mit der folgenden Konfiguration:
- AZURE_STORAGE_CONNECTION_STRING: Legen Sie dies fest, wenn Sie Option A verwenden.
- AZURE_STORAGE_ACCOUNT_NAME: Legen Sie dies fest, wenn Sie Option B (Managed Identity) verwenden. Setzen Sie nicht beides.
- AZURE_STORAGE_PUBLIC_ACCESS: Auf
falsesetzen, wenn Ihre Blobs standardmäßig nicht öffentlich zugänglich sein sollen. Auftruesetzen, wenn Sie öffentlichen Zugriff benötigen (zum Beispiel für öffentlich einsehbare Bilder). - AZURE_CONTAINER_NAME: Dies ist der Container-Name, den Ihre Anwendung verwenden wird (z. B.
files). Die Anwendung erstellt diesen Container automatisch, falls er noch nicht existiert.
4. Konfigurieren von LibreChat für die Verwendung von Azure Blob Storage
Aktualisieren Sie Ihre LibreChat-Konfigurationsdatei (librechat.yaml), um festzulegen, dass die Anwendung Azure Blob Storage für die Dateiverarbeitung verwenden soll:
Azure Blob Storage ist ein Objektspeicher, kein CDN
Azure Blob Storage speichert und bereitstellt Dateien direkt vom Ursprung — es ist kein CDN. Bilder und Avatare werden für eine optimale Leistung und globale Bereitstellung am besten über ein CDN bereitgestellt. Derzeit ist Firebase die einzige CDN-gestützte Speicheroption.
Sie können fileStrategies verwenden, um nur Avatare und Bilder an Firebase weiterzuleiten, während Dokumente auf Azure Blob Storage verbleiben:
Zusammenfassung
-
Speicherkonto erstellen:
Melden Sie sich beim Azure Portal an, erstellen Sie ein Speicherkonto und warten Sie, bis die Bereitstellung abgeschlossen ist. -
Authentifizierung einrichten:
- Option A: Rufen Sie die Verbindungszeichenfolge unter "Access keys" in Ihrem Speicherkonto ab.
- Option B: Verwenden Sie Managed Identity, indem Sie diese für Ihre Azure-Ressource aktivieren und ihr die entsprechenden Speicherberechtigungen erteilen.
- Umgebungsvariablen aktualisieren:
Setzen Sie in Ihrer.envDatei entweder:
AZURE_STORAGE_CONNECTION_STRING(für Option A), oderAZURE_STORAGE_ACCOUNT_NAME(für Option B), zusammen mit:AZURE_STORAGE_PUBLIC_ACCESSundAZURE_CONTAINER_NAME.
- LibreChat konfigurieren:
Setzen SiefileStrategyin Ihrerlibrechat.yamlKonfigurationsdatei auf"azure_blob".
Mit diesen Schritten erstellt Ihre LibreChat-Anwendung automatisch den Container (falls dieser noch nicht existiert) und verwaltet Datei-Uploads, -Downloads sowie -Löschungen mithilfe von Azure Blob Storage. Managed Identity bietet eine sichere Alternative, da keine langfristigen Anmeldeinformationen mehr erforderlich sind.
Lokale Entwicklung mit Azurite
Für die lokale Entwicklung und das Testen können Sie Azurite verwenden, einen Azure Storage-Emulator, der eine lokale Umgebung zum Testen Ihrer Azure Blob Storage-Integration bereitstellt, ohne dass ein tatsächliches Azure-Konto erforderlich ist.
1. Azurite einrichten
Sie können Azurite auf verschiedene Arten ausführen:
Option A: Verwendung der VS Code-Erweiterung (Empfohlen für die Entwicklung)
- Installieren Sie die Azurite extension für VS Code
- Öffnen Sie die Befehlspalette (Ctrl+Shift+P oder Cmd+Shift+P)
- Suchen Sie nach „Azurite: Start“ und wählen Sie es aus.
Dies startet Azurite im Hintergrund mit den Standardeinstellungen.
Option B: Verwendung von Docker
Option C: Verwendung von npm
2. Umgebungsvariablen für die lokale Entwicklung konfigurieren
Fügen Sie die folgenden Umgebungsvariablen zu Ihrer .env Datei hinzu:
Hinweise:
- Der
AccountKey-Wert ist der standardmäßige Entwicklungsschlüssel, der von Azurite verwendet wird. - Die Verbindung verwendet das
http-Protokoll anstelle vonhttpsfür die lokale Entwicklung - Der
BlobEndpointverweist auf die lokale Azurite-Instanz, die auf Port 10000 läuft.
3. Verbindung überprüfen
Um zu überprüfen, ob Ihre Anwendung eine Verbindung zur lokalen Azurite-Instanz herstellen kann:
- Starten Sie Ihre LibreChat-Anwendung
- Versuchen Sie, eine Datei über die Benutzeroberfläche hochzuladen
- Überprüfen Sie die Azurite-Protokolle, um die Verbindung und die Vorgänge zu bestätigen.
Wenn Sie die VS Code-Erweiterung verwenden, können Sie die Azurite-Protokolle im Output-Panel anzeigen, indem Sie „Azurite Blob“ aus dem Dropdown-Menü auswählen.
Hinweis
Der standardmäßige Azurite-Account-Key ist ein fester Wert, der ausschließlich zu Entwicklungszwecken verwendet wird. Verwenden Sie diesen Schlüssel niemals in Produktionsumgebungen. Stellen Sie stets sicher, dass Ihre Verbindungszeichenfolge (Connection String) sicher bleibt und committen Sie diese niemals in ein öffentliches Repository.
Wie finden Sie diese Anleitung?