Einleitung
Argilla ist eine Open-Source- Plattform zur Datenkuratierung für künstliche Intelligenz und Sprachmodelle, die dafür ausgelegt ist, Engineering-Teams und Domänenexperten beim Aufbau, der Überprüfung und Pflege qualitativ hochwertiger Datensätze zu unterstützen. Sie wird für die Datenannotation, die Bewertung von Modellausgaben, die Einbindung von menschlichem Feedback und die kontinuierliche Verbesserung von Trainings- und Validierungsdatensätzen verwendet. Das Projekt wurde ursprünglich vom Recognai-Team erstellt, begann als Rubrix und entwickelte sich später zu Argilla. Heute gilt es als solide technische Lösung im LLMOps- und data-centric-AI-Ökosystem. Es wird unter der Apache-2.0-Lizenz vertrieben und sein Stack umfasst auf Python und FastAPI basierende Komponenten, mit Fokus auf offenes Deployment, Zusammenarbeit und vollständige Datenkontrolle.
Diese Anleitung beschreibt den Installationsprozess von Argilla und seinen Abhängigkeiten auf Debian 13 Trixie. Obwohl die für die Tests verwendete Umgebung eigentlich Debian Testing entspricht, werden keine wesentlichen Unterschiede in den Verfahrensschritten erwartet. Vielleicht nur die PostgreSQL-Version 17 anstatt 16 oder 18, aber diese sind vollständig kompatibel. Es sei darauf hingewiesen, dass es sich nicht um eine triviale Installation handelt, sondern um einen Prozess, der solide Erfahrung in der GNU/Linux-Systemadministration erfordert. Für diejenigen, die eine einfachere und schnellere Alternative zum Einsatz suchen, kann es vorzuziehen sein, das Docker-Deployment zu wählen, das im Allgemeinen direkter ist.
Für die Installation auf anderen GNU/Linux-Distributionen ist es unbedingt erforderlich, die Versionen jeder der in dieser Anleitung genannten Komponenten sorgfältig zu berücksichtigen.
Inhaltsverzeichnis
Inhaltsverzeichnis
- 1. Architekturübersicht
- 2. Systemvorbereitung
- 3. Java 21 installieren
- 4. OpenSearch 2.x installieren
- 5. PostgreSQL 16 oder 18 installieren
- 6. Redis installieren
- 7. Python-Umgebung vorbereiten
- 8. argilla-server installieren
- 9. Argilla-Server konfigurieren
- 10. Datenbankinitialisierung
- 11. systemd-Dienste erstellen
- 12. Überprüfung und erste Verwendung
- 13. Python-SDK (Client) installieren
- 14. Wartung
- Port- und Dienstübersicht
- Wesentliche Unterschiede zur Elasticsearch-Installation
1. Architekturübersicht
Argilla v2 besteht aus vier Diensten, die gleichzeitig laufen müssen:
| Dienst | Rolle | Standardport |
|---|---|---|
| OpenSearch 2.x | Vektor- und Volltextsuchmaschine | 9200 |
| PostgreSQL 18 | Relationale Datenbank (Benutzer, Workspaces, Metadaten) | 5432 |
| Redis | Aufgabenwarteschlange für den Hintergrundworker | 6379 |
| argilla-server | FastAPI-API + Web-UI | 6900 |
| argilla worker | Asynchroner Aufgabenprozess | — (verbraucht Redis) |
OpenSearch ist ein von Amazon unter der Apache-2.0-Lizenz gepflegter Fork von Elasticsearch. Es teilt dieselbe REST-API und dieselbe Indexierungsmaschine (Apache Lucene), was es vollständig kompatibel mit Argilla macht. Die minimal erforderliche Version ist OpenSearch 2.4.0.
2. Systemvorbereitung
2.1 System aktualisieren
sudo apt update && sudo apt full-upgrade -y2.2 Basissystemabhängigkeiten installieren
sudo apt install -y \ curl wget gnupg2 lsb-release ca-certificates \ build-essential libssl-dev libffi-dev \ python3 python3-pip python3-venv python3-dev \ git unzip2.3 Dedizierten Systembenutzer erstellen
Argilla unter einem unprivilegierten Benutzer auszuführen ist eine bewährte Sicherheitspraxis:
sudo useradd --system --shell /bin/bash --home /opt/argilla --create-home argilla3. Java 21 installieren
OpenSearch 2.x benötigt mindestens Java 11; Java 21 wird für bessere Leistung und langfristigen Support empfohlen:
sudo apt install -y openjdk-21-jdk-headlessUnter Debian 13 und testing ist die Standardversion openjdk-25-jre-headless, die nicht mit OpenSearch kompatibel ist. Dies liegt erstens daran, dass das OpenSearch-Repository selbst einen Commit enthält, der besagt „Wrap checked exceptions in painless.DefBootstrap to support JDK-25” auf GitHub, was bedeutet, dass die Java-25-Kompatibilität spezifische Korrekturen erforderte, die nur in neueren Versionen des Hauptentwicklungszweigs ankamen, nicht in der in diesem Leitfaden verwendeten stabilen 2.x-Serie. Zweitens ist JDK 21 die für OpenSearch 3.0 erklärte Mindestanforderung, nicht für 2.x. Die 2.x-Serie wurde offiziell mit Java 17 erstellt und getestet. Java 25 ist auch eine Nicht-LTS-Version, die OpenSearch historisch als Testumgebung vermeidet. Die Lösung besteht darin, Java 21 explizit neben Java 25 zu installieren und OpenSearch zu sagen, welches verwendet werden soll. Unter Debian 13 (und anderen Distros) können beide Versionen koexistieren.
Es gibt mindestens 2 Möglichkeiten, sie koexistieren zu lassen. Die erste besteht darin, die zu verwendende Java-Version global explizit anzugeben:
sudo update-alternatives --config javaWenn ein anderes Programm Java 25 verwenden sollte, müsste vorübergehend dazu zurückgewechselt werden.
Die andere Möglichkeit besteht darin, OpenSearch zu sagen, welches verwendet werden soll. Unter Debian 13 können beide Versionen
koexistieren: Anstatt JAVA_HOME global zu definieren (was das gesamte System beeinflussen würde), verwenden Sie die Variable
OPENSEARCH_JAVA_HOME, die OpenSearch mit Priorität gegenüber JAVA_HOME liest:
sudo nano /etc/opensearch/opensearch.envWenn diese Datei nicht existiert, können Sie sie direkt im systemd-Dienst-Override konfigurieren:
sudo systemctl edit opensearchUnd hinzufügen:
[Service]Environment=OPENSEARCH_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64Die Variable OPENSEARCH_JAVA_HOME hat Vorrang vor JAVA_HOME, was es ermöglicht, dass mehrere Anwendungen auf demselben
Server verschiedene JVM-Versionen ohne Konflikte verwenden.
Überprüfen:
java -version# Sollte anzeigen: openjdk version "21.x.x" ...JAVA_HOME global konfigurieren (aber die vorherige Anmerkung zu den Versionen berücksichtigen):
echo 'JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' | sudo tee /etc/environmentsource /etc/environment4. OpenSearch 2.x installieren
4.1 OpenSearch installieren
Ab OpenSearch 2.12 erfordert das Installationsprogramm, dass das Passwort des admin-Benutzers vor der Installation als
Umgebungsvariable gesetzt wird. Dies gilt auch dann, wenn das Sicherheits-Plugin später deaktiviert wird.
Die folgenden Befehle werden vorzugsweise als root-Benutzer ausgeführt:
apt update
# Establecer la contraseña de admin antes de instalar (requerido desde 2.12+)export OPENSEARCH_INITIAL_ADMIN_PASSWORD='Admin_Password_Seguro1!'
# Descargar el .deb directamente, para evitar problemas con la firma del APT de OpenSearchwget https://artifacts.opensearch.org/releases/bundle/opensearch/2.19.0/opensearch-2.19.0-linux-x64.deb
# Instalardpkg -i opensearch-2.19.0-linux-x64.debUm eine bestimmte Version zu installieren (z.B. die neueste der stabilen 2.x-Serie):
# Instalar versión concretaexport OPENSEARCH_INITIAL_ADMIN_PASSWORD='Admin_Password_Seguro1!'
# Descargar el .deb e instalar.wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.x.y/opensearch-2.x.y-linux-x64.debsudo dpkg -i opensearch-2.x.y-linux-x64.deb4.3 OpenSearch für Argilla konfigurieren
Argilla kommuniziert mit OpenSearch ohne Authentifizierung im lokalen Netzwerk. Das OpenSearch-Sicherheits-Plugin (das TLS, Authentifizierung und Autorisierung verwaltet) muss für diesen Zweck deaktiviert werden.
Standardkonfigurationsdatei sichern:
sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.origHauptkonfigurationsdatei bearbeiten:
sudo nano /etc/opensearch/opensearch.ymlDen Inhalt durch folgendes ersetzen:
# ─── Identidad del clúster ───────────────────────────────────────────────────cluster.name: os-argilla-localnode.name: argilla-node-1
# ─── Red ─────────────────────────────────────────────────────────────────────network.host: 127.0.0.1http.port: 9200
# ─── Modo nodo único ─────────────────────────────────────────────────────────discovery.type: single-node
# ─── Deshabilitar el plugin de seguridad ─────────────────────────────────────# Argilla no usa autenticación TLS entre servicios internos.plugins.security.disabled: trueplugins.security.ssl.http.enabled: falseplugins.security.ssl.transport.enabled: false
# ─── Desactivar limitaciones de disco ────────────────────────────────────────cluster.routing.allocation.disk.threshold_enabled: false4.4 OpenSearch JVM-Speicher anpassen
sudo cp /etc/opensearch/jvm.options /etc/opensearch/jvm.options.origsudo nano /etc/opensearch/jvm.optionsDie Heap-Zeilen suchen und ändern (oder eine Override-Datei in /etc/opensearch/jvm.options.d/ erstellen):
sudo nano /etc/opensearch/jvm.options.d/heap.options-Xms1g-Xmx1g4.5 Betriebssystemlimits anpassen
OpenSearch (wie Elasticsearch) erfordert zusätzliche Kernel-Konfiguration:
# vm.max_map_count — unverzichtbar für Luceneecho 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-opensearch.confsudo sysctl --system
# Überprüfensysctl vm.max_map_count# Sollte anzeigen: vm.max_map_count = 262144Dateideskriptor-Limits für den opensearch-Benutzer:
sudo nano /etc/security/limits.d/opensearch.confopensearch soft nofile 65535opensearch hard nofile 65535opensearch soft memlock unlimitedopensearch hard memlock unlimited4.6 Swap deaktivieren (empfohlen für Produktion)
OpenSearch empfiehlt, den Swap zu deaktivieren, um Leistungseinbußen zu vermeiden:
sudo swapoff -a# Um es dauerhaft zu machen, die Swap-Zeile in /etc/fstab auskommentieren:sudo sed -i '/\bswap\b/s/^/#/' /etc/fstab4.7 OpenSearch aktivieren und starten
sudo systemctl daemon-reloadsudo systemctl enable opensearchsudo systemctl start opensearchOpenSearch benötigt zwischen 20 und 40 Sekunden zum vollständigen Starten. Überprüfen:
sudo systemctl status opensearch
# Probar la API (sin autenticación, porque deshabilitamos el plugin de seguridad)curl -s http://localhost:9200/Die Antwort sollte ein JSON ähnlich dem folgenden sein:
{ "name" : "argilla-node-1", "cluster_name" : "os-argilla-local", "version" : { "distribution" : "opensearch", "number" : "2.x.x", ... }, "tagline" : "The OpenSearch Project: https://opensearch.org/"}4.8 Fehlerbehebung
Es gibt mehrere mögliche Ursachen. Prüfen Sie diese in folgender Reihenfolge:
- Überprüfen, ob der Dienst tatsächlich läuft:
sudo systemctl status opensearchWenn Active: active (running) erscheint, läuft er, aber etwas anderes schlägt fehl. Wenn failed oder activating erscheint, liegt das Problem dort.
- Die Logs anzeigen, um zu sehen, was passiert:
sudo journalctl -u opensearch -n 50 --no-pagerDies enthüllt fast immer den genauen Grund.
- Überprüfen, ob auf Port 9200 gelauscht wird:
ss -tlnp | grep 9200Wenn nichts erscheint, hat OpenSearch das Starten nicht abgeschlossen oder ist fehlgeschlagen.
- Das häufigste Problem beim
.deb-Paket ist, dass das Sicherheits-Plugin trotzplugins.security.disabled: trueaktiv bleibt. In diesem Fall antwortet OpenSearch nur über HTTPS, nicht HTTP, und curl ohne Optionen erhält eine leere Verbindung. Versuchen Sie:
curl -sk https://localhost:9200/ -u admin:Admin_Password_Seguro1!Wenn dies das erwartete JSON zurückgibt, liegt das Problem genau darin: Das Sicherheits-Plugin wurde nicht korrekt deaktiviert. Die Lösung besteht darin zu bestätigen, dass die Konfigurationsdatei die richtige Zeile enthält, und neu zu starten:
sudo grep "plugins.security" /etc/opensearch/opensearch.yml# Debe mostrar: plugins.security.disabled: true
sudo systemctl restart opensearchsleep 30curl -s http://localhost:9200/5. PostgreSQL 16 oder 18 installieren
5.1 Aus Debian-Repositories installieren
sudo apt install -y postgresql postgresql-contrib5.2 PostgreSQL starten und aktivieren
sudo systemctl enable postgresqlsudo systemctl start postgresqlsudo systemctl status postgresql5.3 Datenbank und Benutzer für Argilla erstellen
sudo -u postgres psqlIn der psql-Shell:
-- Crear usuario de base de datos para ArgillaCREATE USER argilla_user WITH PASSWORD 'argilla_secret_password';
-- Crear la base de datosCREATE DATABASE argilla OWNER argilla_user;
-- Otorgar todos los privilegiosGRANT ALL PRIVILEGES ON DATABASE argilla TO argilla_user;
-- Salir\q5.4 Verbindung überprüfen
psql -h localhost -U argilla_user -d argilla -c "SELECT version();"6. Redis installieren
sudo apt install -y redis-server6.1 Grundkonfiguration
sudo nano /etc/redis/redis.confÜberprüfen, ob diese Zeilen vorhanden sind:
bind 127.0.0.1 -::1protected-mode yesport 63796.2 Redis aktivieren und starten
sudo systemctl enable redis-serversudo systemctl start redis-server
# Überprüfenredis-cli ping# Sollte antworten: PONG7. Python-Umgebung vorbereiten
7.1 Python überprüfen
python3 --version# Python 3.11.x oder höher7.2 Virtuelle Umgebung erstellen
sudo -i -u argilla
python3 -m venv /opt/argilla/venv
source /opt/argilla/venv/bin/activate
pip install --upgrade pip setuptools wheel8. argilla-server installieren
8.1 Installation
Mit aktivierter virtueller Umgebung:
# Degradar click para evitar problemas de compatibilidad. Crea un archivo de restricciones.echo "click<8.2.0" > /opt/argilla/constraints.txt
pip install "argilla-server[postgresql]" -c /opt/argilla/constraints.txtDadurch werden automatisch installiert:
argilla-server— FastAPI-Server mit eingebetteter Web-UIopensearch-py— offizieller OpenSearch-Client (verwendet wennARGILLA_SEARCH_ENGINE=opensearch)asyncpg+psycopg2-binary— PostgreSQL-Treiberredis— Redis-Clientuvicorn— ASGI-Serveralembic— Datenbankmigrationen- Alle FastAPI-, Pydantic- und SQLAlchemy-Abhängigkeiten
Überprüfen:
python -m argilla_server --helpClick- und Typer-Inkompatibilitäten
Es ist wichtig zu beachten, dass das click-Paket Änderungen einführt, die es mit Argilla inkompatibel machen:
| Click-Version | Fehler |
|---|---|
| ≥ 8.3.0 | Secondary flag is not valid for non-boolean flag |
| 8.2.x | Parameter.make_metavar() missing 1 required positional argument: 'ctx' |
| ≤ 8.1.8 | Funktioniert korrekt mit argilla-server |
Das Argilla-Team wird seine Verwendung von Typer auf eine neuere Version aktualisieren müssen, um dies an der Wurzel zu beheben, aber in der Zwischenzeit ist click==8.1.8 die stabile Lösung.
9. Argilla-Server konfigurieren
9.1 Umgebungskonfigurationsdatei erstellen
nano /opt/argilla/.env# ─────────────────────────────────────────# Configuración del servidor Argilla# ─────────────────────────────────────────
ARGILLA_HOME_PATH=/opt/argilla/dataARGILLA_BASE_URL=/
# ─────────────────────────────────────────# Base de datos relacional (PostgreSQL)# ─────────────────────────────────────────ARGILLA_DATABASE_URL=postgresql+asyncpg://argilla_user:argilla_secret_password@localhost:5432/argilla
# ─────────────────────────────────────────# Motor de búsqueda: OpenSearch# ─────────────────────────────────────────# La variable ARGILLA_ELASTICSEARCH apunta al endpoint del motor,# independientemente de si es Elasticsearch u OpenSearch.ARGILLA_ELASTICSEARCH=http://localhost:9200ARGILLA_SEARCH_ENGINE=opensearch
# ─────────────────────────────────────────# Redis# ─────────────────────────────────────────ARGILLA_REDIS_URL=redis://localhost:6379/0
# ─────────────────────────────────────────# Usuario inicial# ─────────────────────────────────────────USERNAME=adminPASSWORD=admin_password_seguro_aquiAPI_KEY=argilla.apikeyWORKSPACE=default
# ─────────────────────────────────────────# Worker de tareas en segundo plano# ─────────────────────────────────────────BACKGROUND_NUM_WORKERS=2
# ─────────────────────────────────────────# Telemetría (descomenta para desactivar)# ─────────────────────────────────────────# HF_HUB_DISABLE_TELEMETRY=1Datei schützen:
chmod 600 /opt/argilla/.env9.2 Datenverzeichnis erstellen
mkdir -p /opt/argilla/data10. Datenbankinitialisierung
Mit allen laufenden Diensten (OpenSearch, PostgreSQL, Redis) das Schema initialisieren:
sudo -i -u argillasource /opt/argilla/venv/bin/activateset -asource /opt/argilla/.envset +aAlembic-Migrationen ausführen:
python -m argilla_server database migrateInitialen Benutzer und Workspace erstellen:
python -m argilla_server database users create_defaultUm später zusätzliche Benutzer zu erstellen:
python -m argilla_server database users create \ --username nombre_usuario \ --first-name "Nombre" \ --password contraseña \ --role ownerUm alle verfügbaren Befehle anzuzeigen:
python -m argilla_server database users --help11. systemd-Dienste erstellen
11.1 Argilla-Server-Dienst
sudo nano /etc/systemd/system/argilla-server.service[Unit]Description=Argilla Server (FastAPI)Documentation=https://docs.argilla.ioAfter=network.target opensearch.service postgresql.service redis-server.serviceWants=opensearch.service postgresql.service redis-server.service
[Service]Type=simpleUser=argillaGroup=argillaWorkingDirectory=/opt/argillaEnvironmentFile=/opt/argilla/.envExecStart=/opt/argilla/venv/bin/python -m argilla_server startRestart=on-failureRestartSec=10StandardOutput=journalStandardError=journalSyslogIdentifier=argilla-server
LimitNOFILE=65536LimitNPROC=4096
[Install]WantedBy=multi-user.target11.2 Argilla-Worker-Dienst
sudo nano /etc/systemd/system/argilla-worker.service[Unit]Description=Argilla Background WorkerDocumentation=https://docs.argilla.ioAfter=network.target opensearch.service postgresql.service redis-server.service argilla-server.serviceWants=opensearch.service postgresql.service redis-server.service
[Service]Type=simpleUser=argillaGroup=argillaWorkingDirectory=/opt/argillaEnvironmentFile=/opt/argilla/.envExecStart=/opt/argilla/venv/bin/python -m argilla_server worker --num-workers ${BACKGROUND_NUM_WORKERS}Restart=on-failureRestartSec=10StandardOutput=journalStandardError=journalSyslogIdentifier=argilla-worker
LimitNOFILE=65536
[Install]WantedBy=multi-user.target11.3 Dienste aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable argilla-server argilla-worker
sudo systemctl start argilla-serversleep 5sudo systemctl start argilla-worker11.4 Status aller Dienste überprüfen
sudo systemctl status opensearchsudo systemctl status postgresqlsudo systemctl status redis-serversudo systemctl status argilla-serversudo systemctl status argilla-workerLogs in Echtzeit verfolgen:
sudo journalctl -u argilla-server -fsudo journalctl -u argilla-worker -f12. Überprüfung und erste Verwendung
12.1 API-Antwort überprüfen
curl -s http://localhost:6900/api/v1/status | python3 -m json.tool12.2 Weboberfläche aufrufen
http://localhost:6900Initiale Zugangsdaten:
- Benutzer:
admin - Passwort: der in
PASSWORDin.envkonfigurierte Wert
12.3 Indizes in OpenSearch überprüfen
curl -s http://localhost:9200/_cat/indices?v12.4 Überprüfen, ob Argilla den richtigen Client verwendet
Bei der Überprüfung der Server-Logs sollte etwas wie folgendes erscheinen:
INFO: Search engine: opensearchINFO: Connected to OpenSearch 2.x.xWenn ein UnsupportedProductError-Fehler erscheint, bedeutet dies, dass ARGILLA_SEARCH_ENGINE nicht korrekt geladen wurde — die .env-Datei überprüfen und den Dienst neu starten.
13. Python-SDK (Client) installieren
Das Argilla-SDK wird in der Umgebung installiert, aus der heraus programmiert wird (kann derselbe Server oder ein Remote-Rechner sein):
pip install argillaMit dem Server verbinden:
import argilla as rg
client = rg.Argilla( api_url="http://localhost:6900", api_key="argilla.apikey" # Valor de API_KEY en .env)
# Verificar conexiónprint(client.http_client.get("/api/v1/status"))Einen Test-Datensatz erstellen:
settings = rg.Settings( guidelines="Clasifica el sentimiento del texto.", fields=[ rg.TextField(name="text", title="Texto") ], questions=[ rg.LabelQuestion( name="sentiment", title="¿Cuál es el sentimiento?", labels=["positivo", "negativo", "neutro"] ) ])
dataset = rg.Dataset( name="mi-primer-dataset", settings=settings)dataset.create()
records = [ rg.Record(fields={"text": "Me encanta este producto"}), rg.Record(fields={"text": "Muy mala experiencia"}), rg.Record(fields={"text": "El producto llegó a tiempo"}),]dataset.records.log(records)print("Dataset creado correctamente.")14. Wartung
Argilla-Dienste neu starten
sudo systemctl restart argilla-server argilla-workerArgilla aktualisieren
sudo -i -u argillasource /opt/argilla/venv/bin/activate
pip install --upgrade "argilla-server[postgresql]" -c /opt/argilla/constraints.txt
set -a; source /opt/argilla/.env; set +apython -m argilla_server database migrate
sudo systemctl restart argilla-server argilla-workerOpenSearch aktualisieren
export OPENSEARCH_INITIAL_ADMIN_PASSWORD='Admin_Password_Seguro1!'sudo apt updatesudo apt install --only-upgrade opensearchsudo systemctl restart opensearchDatensicherung
| Komponente | Sicherungsmethode |
|---|---|
| PostgreSQL | pg_dump argilla -U argilla_user > argilla_backup.sql |
| OpenSearch | Snapshots über API (/_snapshot) oder Sicherung des Verzeichnisses /var/lib/opensearch/ |
| Argilla-Dateien | Verzeichnis /opt/argilla/data/ |
Datensätze in OpenSearch neu indizieren
Wenn OpenSearch seine Indizes verliert, können sie durch Neustart des Servers mit einer zusätzlichen Umgebungsvariable neu indiziert werden:
sudo systemctl edit argilla-serverVorübergehend in den Abschnitt [Service] hinzufügen:
[Service]Environment=REINDEX_DATASETS=1Den Dienst neu starten, dann diese Konfiguration entfernen und erneut neu starten.
Port- und Dienstübersicht
| Komponente | Port | URL / Überprüfungsbefehl |
|---|---|---|
| OpenSearch | 9200 | curl http://localhost:9200/ |
| PostgreSQL | 5432 | psql -h localhost -U argilla_user argilla |
| Redis | 6379 | redis-cli ping |
| Argilla Server (UI + API) | 6900 | http://localhost:6900 |
Wesentliche Unterschiede zur Elasticsearch-Installation
| Aspekt | Elasticsearch 8 | OpenSearch 2.x |
|---|---|---|
| APT-Repository | artifacts.elastic.co | artifacts.opensearch.org |
| systemd-Dienstname | elasticsearch | opensearch |
| Sicherheitskonfiguration | xpack.security.enabled: false | plugins.security.disabled: true |
| Argilla-Umgebungsvariable | ARGILLA_SEARCH_ENGINE=elasticsearch | ARGILLA_SEARCH_ENGINE=opensearch |
| Passwort bei Installation erforderlich | Nein | Ja (ab Version 2.12+) |
| Lizenz | SSPL (proprietär) | Apache 2.0 (frei) |
| Von Argilla verwendeter Python-Client | elasticsearch-py | opensearch-py |
