Wir migrieren Vorgänge nach Jira
Ab Januar 2023 finden Sie Probleme für Rasa Open Source in diesem Jira-Forum. Sie können Probleme durchsuchen, ohne angemeldet zu sein. Wenn Sie Vorgänge erstellen möchten, müssen Sie ein Jira-Konto erstellen.
Rasa ist ein Open-Source-Framework für maschinelles Lernen zur Automatisierung text- und sprachbasierter Konversationen. Mit Rasa können Sie kontextbezogene Assistenten aufbauen auf:
oder Sprachassistenten wie:
Rasa hilft Ihnen beim Erstellen kontextbezogener Assistenten, die in der Lage sind, vielschichtige Gespräche mit viel Hin und Her zu führen. Damit ein Mensch einen sinnvollen Austausch mit einem kontextbezogenen Assistenten führen kann, muss der Assistent in der Lage sein, den Kontext zu nutzen, um auf zuvor besprochenen Dingen aufzubauen – Rasa ermöglicht Ihnen die Erstellung von Assistenten, die dies auf skalierbare Weise tun können.
In diesem Blogbeitrag gibt es noch viele weitere Hintergrundinformationen.
? Erfahren Sie mehr über Rasa
? Lesen Sie die Dokumente
? Installieren Sie Rasa
Tauchen Sie tiefer in das Lernzentrum ein
? Beitragen
❓ Erhalten Sie Support der Enterprise-Klasse
? Entdecken Sie die Funktionen unserer kommerziellen Plattform
Erfahren Sie mehr über Forschungsarbeiten, die Rasa nutzen
Eine ausführliche Dokumentation finden Sie in den Rasa-Dokumenten. Stellen Sie sicher, dass Sie die richtige Version auswählen, damit Sie sich die Dokumente für die von Ihnen installierte Version ansehen können.
Bitte nutzen Sie das Rasa Community Forum für schnelle Antworten auf Fragen.
Wir freuen uns sehr über Ihre Beiträge und deren Zusammenführung in diesem Repository!
Um per Pull-Request einen Beitrag zu leisten, führen Sie die folgenden Schritte aus:
Ausführlichere Anweisungen zum Beisteuern von Code finden Sie in diesen Richtlinien für Code-Mitwirkende.
Weitere Informationen darüber, wie Sie (auf viele verschiedene Arten!) zu Rasa beitragen können, finden Sie auf unserer Website.
Ihr Pull-Request wird von einem Betreuer geprüft, der sich bei notwendigen Änderungen oder Fragen bei Ihnen meldet. Sie werden außerdem gebeten, eine Lizenzvereinbarung für Mitwirkende zu unterzeichnen.
Rasa verwendet Poetry für das Paketierungs- und Abhängigkeitsmanagement. Wenn Sie es aus dem Quellcode erstellen möchten, müssen Sie Poetry zuerst installieren. Bitte folgen Sie der offiziellen Anleitung, um alle möglichen Optionen anzuzeigen.
Um eine vorhandene Gedichtversion auf die derzeit in Rasa verwendete Version zu aktualisieren, führen Sie Folgendes aus:
poetry self update < version >
Der offizielle Poetry-Leitfaden empfiehlt die Verwendung von pyenv oder einem anderen ähnlichen Tool, um einfach zwischen Python-Versionen zu wechseln. So kann es gemacht werden:
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
Hinweis : Wenn Sie Probleme bei der Installation einer bestimmten Python-Version auf Ihrem System haben, lohnt es sich möglicherweise, andere unterstützte Versionen auszuprobieren.
Standardmäßig versucht Poetry, die aktuell aktivierte Python-Version zu verwenden, um die virtuelle Umgebung für das aktuelle Projekt automatisch zu erstellen. Sie können eine virtuelle Umgebung auch manuell erstellen und aktivieren – in diesem Fall sollte Poetry sie aufgreifen und zum Installieren der Abhängigkeiten verwenden. Zum Beispiel:
python -m venv .venv
source .venv/bin/activate
Durch die Ausführung können Sie sicherstellen, dass die Umgebung erfasst wird
poetry env info
Um Abhängigkeiten zu installieren und rasa
selbst im bearbeitbaren Modus auszuführen, führen Sie es aus
make install
Hinweis für macOS-Benutzer : Unter macOS Big Sur sind einige Compiler-Probleme für Abhängigkeiten aufgetreten. Die Verwendung von export SYSTEM_VERSION_COMPAT=1
vor der Installation hat geholfen.
Um die optionalen Abhängigkeiten von rasa zu installieren, müssen Sie Folgendes ausführen:
make install-full
Hinweis für macOS-Benutzer : Der Befehl make install-full
könnte zu einem Fehler bei der Installation tokenizers
führen (das Problem wird hier ausführlich beschrieben).
Um das Problem zu beheben, müssen Sie die folgenden Schritte ausführen, um einen Rust-Compiler zu installieren:
brew install rustup
rustup-init
Nach der Initialisierung des Rust-Compilers sollten Sie die Konsole neu starten und deren Installation überprüfen:
rustc --version
Falls die PATH-Variable nicht automatisch eingerichtet wurde, führen Sie Folgendes aus:
export PATH= " $HOME /.cargo/bin: $PATH "
Installieren Sie zunächst alle erforderlichen Abhängigkeiten:
make install install-docs
Nach Abschluss der Installation können Sie die Dokumentation lokal ausführen und anzeigen, indem Sie Folgendes verwenden:
make livedocs
Es sollte ein neuer Tab mit der lokalen Version der Dokumente in Ihrem Browser geöffnet werden; Wenn nicht, besuchen Sie http://localhost:3000 in Ihrem Browser. Sie können die Dokumente jetzt lokal ändern und die Webseite wird automatisch neu geladen und Ihre Änderungen werden übernommen.
Um die Tests auszuführen, stellen Sie sicher, dass Sie die Entwicklungsanforderungen installiert haben:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Führen Sie dann die Tests aus:
make test
Sie können auch in mehreren Jobs ausgeführt werden, um Zeit zu sparen:
JOBS=[n] make test
Dabei ist [n]
die Anzahl der gewünschten Jobs. Wenn es weggelassen wird, wird [n]
automatisch von Pytest ausgewählt.
Um die Integrationstests auszuführen, stellen Sie sicher, dass die Entwicklungsanforderungen installiert sind:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Anschließend müssen Sie die Dienste mit dem folgenden Befehl starten, der Docker Compose verwendet:
make run-integration-containers
Abschließend können Sie die Integrationstests wie folgt ausführen:
make test-integration
Poetry enthält standardmäßig keine Lösung, die dabei helfen kann, Zusammenführungskonflikte in der Sperrdatei poetry.lock
zu lösen. Es gibt jedoch ein großartiges Tool namens Poetry-Merge-Lock. So können Sie es installieren:
pip install poetry-merge-lock
Führen Sie einfach diesen Befehl aus, um Zusammenführungskonflikte in poetry.lock
automatisch zu lösen:
poetry-merge-lock
Um ein Docker-Image auf Ihrem lokalen Computer zu erstellen, führen Sie den folgenden Befehl aus:
make build-docker
Das Docker-Image ist auf Ihrem lokalen Computer als rasa:localdev
verfügbar.
Um einen standardisierten Codestil zu gewährleisten, verwenden wir den Formatter Black. Um sicherzustellen, dass unsere Typanmerkungen korrekt sind, verwenden wir den Typprüfer Pytype. Wenn Ihr Code nicht richtig formatiert ist oder keine Typprüfung durchführt, schlägt die Erstellung durch GitHub fehl.
Wenn Sie Ihren Code bei jedem Commit automatisch formatieren möchten, können Sie Pre-Commit verwenden. Installieren Sie es einfach über pip install pre-commit
und führen Sie pre-commit install
im Stammordner aus. Dadurch wird dem Repository ein Hook hinzugefügt, der die Dateien bei jedem Commit neu formatiert.
Wenn Sie es manuell einrichten möchten, installieren Sie Black über poetry install
. Um Dateien neu zu formatieren, führen Sie Folgendes aus:
make formatter
Wenn Sie Typen in der Codebasis überprüfen möchten, installieren Sie mypy
mit poetry install
. Um die Typen zu überprüfen, führen Sie sie aus
make types
Wir verwenden Docusaurus v2
um Dokumente für getaggte Versionen und für den main
zu erstellen. Um Docusaurus auszuführen, installieren Sie Node.js 12.x
Die erstellte statische Site wird in den documentation
dieses Repos verschoben.
Wir hosten die Seite auf netlify. Bei main
-Builds (siehe .github/workflows/documentation.yml
) verschieben wir die erstellten Dokumente in den documentation
. Netlify stellt die Dokumentseiten automatisch erneut bereit, wenn eine Änderung an diesem Zweig vorgenommen wird.
Rasa hat strenge Richtlinien implementiert, die die Versionsbenennung sowie das Veröffentlichungstempo für Haupt-, Neben- und Patch-Releases regeln.
Die Werte für eine bestimmte Versionsnummer (MAJOR.MINOR.PATCH) werden wie folgt erhöht:
Die folgende Tabelle beschreibt die Versionstypen und ihren erwarteten Veröffentlichungsrhythmus :
Versionstyp | Beschreibung | Zielfrequenz |
---|---|---|
Wesentlich | Bei wesentlichen Änderungen oder wenn rückwärtsinkompatible Änderungen an der API oder dem Datenmodell vorgenommen werden. | Alle 1 - 2 Jahre |
Unerheblich | Denn wenn eine neue abwärtskompatible Funktionalität eingeführt wird, eine Nebenfunktion eingeführt wird oder wenn eine Reihe kleinerer Funktionen eingeführt wird. | +/- Vierteljährlich |
Patch | Für abwärtskompatible Fehlerbehebungen, die fehlerhaftes Verhalten beheben. | Nach Bedarf |
Obwohl diese Tabelle unsere angestrebte Veröffentlichungshäufigkeit darstellt, behalten wir uns das Recht vor, sie aufgrund sich ändernder Marktbedingungen und technischer Anforderungen zu ändern.
Unsere End-of-Life-Richtlinie definiert, wie lange ein bestimmtes Release als unterstützt gilt und wie lange ein Release als noch in der aktiven Entwicklung oder Wartung befindlich gilt.
Die Wartungsdauer und das Ende der Lebensdauer für jede Version werden auf unserer Website als Teil der Produkt-Release- und Wartungsrichtlinie angezeigt.
Nachdem eine Hauptversion fertiggestellt wurde, befolgen Sie bitte diese Anweisungen, um die Dokumentationsaktualisierung abzuschließen.
Die Veröffentlichung einer neuen Version ist recht einfach, da die Pakete von GitHub Actions erstellt und verteilt werden.
Freigabeschritte :
git checkout -b 1.2.x
git push origin 1.2.x
main
im Falle einer Hauptversion, der Zweig <major>.<minor>.x
für Nebenversionen und Patches).rasa-sdk
-Eintrag in pyproject.toml
mit der neuen Release-Version und führen Sie poetry update
aus. Dadurch wird eine neue Datei poetry.lock
erstellt, in der alle Abhängigkeiten aufgelöst sind.git commit -am "bump rasa-sdk dependency"
aber pushen Sie sie nicht. Sie werden im folgenden Schritt automatisch abgeholt.make release
aus1.2.x
).git checkout 1.2.x
git pull origin 1.2.x
git tag 1.2.0 -m " next release "
git push origin 1.2.0 --tags
product
) des Unternehmens sehenevent: push
und branch: <version number>
verwenden (Beispiel für Version 2.4 können Sie hier sehen)product
gepostet wurde, überprüfen Sie auch im Kanal product-engineering-alerts
, ob es Warnungen wie diese im Zusammenhang mit der Rasa Open Source-Version gibtPatch-Releases sind einfacher zu schneiden, da sie nur Bugfixes enthalten sollen.
Die einzigen Dinge, die Sie tun müssen, um eine Patch-Version zu schneiden, sind:
2.0.4
Patch schneiden, müssen sich Ihre Fixes im 2.0.x
Release-Zweig befinden). Alle Patch-Releases müssen aus einem .x
Zweig stammen!make release
aus und befolgen Sie die Schritte + führen Sie die PR zusammen..x
-Zweig erneut und drücken Sie das Tag!Hinweis: Dies ist nur erforderlich, wenn die veröffentlichte Version die höchste verfügbare Version ist. Führen Sie beispielsweise die folgenden Schritte aus, wenn Version > Version auf Hauptversion.
Um die Kompatibilität zwischen der neu veröffentlichten Rasa-Version und der neuesten Version von Rasa X/Enterprise zu überprüfen, führen wir die folgenden Schritte durch:
Bitte beachten Sie die Seite mit den Produktfreigabe- und Wartungsrichtlinien von Rasa.
Lizenziert unter der Apache-Lizenz, Version 2.0. Copyright 2022 Rasa Technologies GmbH. Kopie der Lizenz.
Eine Liste der Lizenzen der Abhängigkeiten des Projekts finden Sie unten in der Bibliotheksübersicht.