Azure Blob Storage
Dit document bevat instructies voor het instellen van Azure Blob Storage voor LibreChat
Op deze pagina
Productie-installatie
Azure Blob Storage biedt schaalbare, veilige objectopslag voor bestanden in LibreChat. Volg deze stappen om je Azure Blob Storage te configureren.
1. Maak een Azure Storage Account aan
-
Meld u aan bij Azure:
- Open de Azure Portal en meld je aan met je Microsoft-account.
-
Maak een Storage Account aan:
- Klik op "Create a resource" en zoek naar "Storage account".
- Klik op "Create" en vul de vereiste gegevens in:
- Abonnement & Resourcegroep: Kies je abonnement en selecteer een bestaande resourcegroep of maak een nieuwe aan.
- Storage Account Name: Voer een unieke naam in (bijv.
mylibrechatstorage). - Regio: Selecteer de regio die het dichtst bij uw gebruikers ligt.
- Prestaties & Redundantie: Kies het prestatieniveau en het redundantieniveau die het beste bij uw behoeften passen.
- Klik op "Review + Create" en vervolgens op "Create". Wacht tot de implementatie is voltooid.
2. Authenticatie instellen
Je hebt twee opties voor authenticatie met je Azure Storage Account:
Optie A: Een Connection String gebruiken
-
Navigeer naar Access Keys:
- Ga in je nieuw aangemaakte opslagaccount naar "Access keys" in de zijbalk.
-
Verbindingsreeks kopiëren:
- Kopieer een van de verstrekte verbindingsreeksen. Deze reeks bevat de inloggegevens die nodig zijn om verbinding te maken met uw Blob Storage-account.
Optie B: Managed Identity gebruiken
Als uw LibreChat-applicatie draait op een Azure-service die Managed Identity ondersteunt (zoals een Azure VM, App Service of AKS), kunt u dat gebruiken in plaats van een connection string.
-
Wijs beheerde identiteit toe:
- Zorg ervoor dat uw Azure-resource (VM, App Service of AKS) een door het systeem of door de gebruiker toegewezen Managed Identity heeft ingeschakeld.
-
Opslagrechten verlenen:
- Wijs in je opslagaccount de rol Storage Blob Data Contributor (of een rol met een vergelijkbare scope) toe aan je Managed Identity. Hierdoor heeft je applicatie toegang tot Blob Storage zonder een connection string.
3. Update Your Environment Variables
Maak of update je .env bestand in de root van je project met de volgende configuratie:
# Option A: Using a Connection String
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=yourAccountName;AccountKey=yourAccountKey;EndpointSuffix=core.windows.net
# Option B: Using Managed Identity (do not set the connection string if using Managed Identity)
AZURE_STORAGE_ACCOUNT_NAME=yourAccountName
AZURE_STORAGE_PUBLIC_ACCESS=false
AZURE_CONTAINER_NAME=files- AZURE_STORAGE_CONNECTION_STRING: Stel dit in als je Optie A gebruikt.
- AZURE_STORAGE_ACCOUNT_NAME: Stel dit in als je Optie B (Managed Identity) gebruikt. Stel niet beide in.
- AZURE_STORAGE_PUBLIC_ACCESS: Stel in op
falseals je niet wilt dat je blobs standaard openbaar toegankelijk zijn. Stel in optrueals je openbare toegang nodig hebt (bijvoorbeeld voor afbeeldingen die openbaar bekeken moeten kunnen worden). - AZURE_CONTAINER_NAME: Dit is de containernaam die uw applicatie zal gebruiken (bijv.
files). De applicatie zal deze container automatisch aanmaken als deze nog niet bestaat.
4. Configure LibreChat to Use Azure Blob Storage
Werk uw LibreChat configuratiebestand (librechat.yaml) bij om aan te geven dat de applicatie Azure Blob Storage moet gebruiken voor bestandsafhandeling:
version: 1.3.5
cache: true
fileStrategy: "azure_blob"Azure Blob Storage is objectopslag, geen CDN
Azure Blob Storage slaat bestanden op en serveert deze rechtstreeks vanaf de bron — het is geen CDN. Afbeeldingen en avatars worden voor optimale prestaties en wereldwijde levering het beste via een CDN geserveerd. Momenteel is Firebase de enige opslagoptie die door een CDN wordt ondersteund.
Je kunt fileStrategies gebruiken om alleen avatars en afbeeldingen naar Firebase te routeren, terwijl documenten op Azure Blob Storage blijven staan:
fileStrategies:
avatar: "firebase"
image: "firebase"
document: "azure_blob"Samenvatting
-
Een Storage Account aanmaken:
Meld u aan bij de Azure Portal, maak een storage account aan en wacht tot de implementatie is voltooid. -
Authenticatie instellen:
- Optie A: Haal de connection string op via "Access keys" in je opslagaccount.
- Optie B: Gebruik Managed Identity door dit in te schakelen op uw Azure-resource en de juiste opslagmachtigingen toe te kennen.
- Update omgevingsvariabelen:
Stel in je.envbestand een van de volgende in:
AZURE_STORAGE_CONNECTION_STRING(voor Optie A), ofAZURE_STORAGE_ACCOUNT_NAME(voor Optie B), samen met:AZURE_STORAGE_PUBLIC_ACCESSenAZURE_CONTAINER_NAME.
- Configure LibreChat:
StelfileStrategyin op"azure_blob"in jelibrechat.yamlconfiguratiebestand.
Met deze stappen zal je LibreChat-applicatie automatisch de container aanmaken (als deze nog niet bestaat) en het uploaden, downloaden en verwijderen van bestanden beheren met Azure Blob Storage. Managed Identity biedt een veilig alternatief door de noodzaak voor langetermijnreferenties te elimineren.
Lokale ontwikkeling met Azurite
Voor lokale ontwikkeling en testen kun je Azurite gebruiken, een Azure Storage-emulator die een lokale omgeving biedt voor het testen van je Azure Blob Storage-integratie zonder dat je een echt Azure-account nodig hebt.
1. Azurite instellen
Je kunt Azurite op verschillende manieren uitvoeren:
Optie A: De VS Code-extensie gebruiken (Aanbevolen voor ontwikkeling)
- Installeer de Azurite extension voor VS Code
- Open het command palette (Ctrl+Shift+P of Cmd+Shift+P)
- Zoek naar en selecteer "Azurite: Start"
Dit zal Azurite op de achtergrond starten met de standaardinstellingen.
Optie B: Docker gebruiken
docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azuriteOptie C: npm gebruiken
npm install -g azurite
azurite --silent --location /path/to/azurite/workspace --debug /path/to/debug/log2. Configureer omgevingsvariabelen voor lokale ontwikkeling
Voeg de volgende omgevingsvariabelen toe aan je .env bestand:
# Azurite connection string for local development
AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;"
AZURE_STORAGE_PUBLIC_ACCESS=true
AZURE_CONTAINER_NAME=filesOpmerkingen:
- De
AccountKeywaarde is de standaard ontwikkelingssleutel die door Azurite wordt gebruikt - De verbinding gebruikt het
httpprotocol in plaats vanhttpsvoor lokale ontwikkeling - De
BlobEndpointverwijst naar de lokale Azurite-instantie die op poort 10000 draait
3. De verbinding verifiëren
Om te verifiëren dat uw applicatie verbinding kan maken met de lokale Azurite-instantie:
- Start uw LibreChat-applicatie
- Probeer een bestand te uploaden via de interface
- Controleer de Azurite-logs om de verbinding en bewerkingen te bevestigen
Als je de VS Code-extensie gebruikt, kun je de Azurite-logs bekijken in het Output-paneel door "Azurite Blob" te selecteren in het dropdown-menu.
Let op
De standaard Azurite-accountsleutel is een vaste waarde die uitsluitend voor ontwikkelingsdoeleinden wordt gebruikt. Gebruik deze sleutel nooit in productieomgevingen. Zorg er altijd voor dat uw connection string veilig blijft en commit deze nooit naar een openbare repository.
Hoe is deze gids?