Dies kann in der Dify AI-Workflows wurden in Version 0.6.9 als wiederverwendbare Tools (zur Verwendung in Agenten oder Workflows) freigegeben. Dadurch können sie in neue Agenten und andere Workflows integriert werden, wodurch doppelter Aufwand vermieden wird. Es wurden zwei neue Workflow-Knoten und ein verbesserter Knoten hinzugefügt:
Iteration:Stellen Sie sicher, dass die Eingabe ein Array ist. Der Iterationsknoten verarbeitet jedes Element im Array der Reihe nach, bis alle Elemente verarbeitet wurden. Wenn Sie zum Beispiel einen langen Artikel benötigen, geben Sie einfach einige Überschriften ein. Dadurch wird ein Artikel generiert, der für jeden Titel einen Absatz enthält, so dass eine komplexe Eingabeaufforderung nicht erforderlich ist.
Parameter-Extraktor:Die Extraktion strukturierter Parameter aus natürlicher Sprache mit Hilfe von Large Language Models (LLM) vereinfacht die Verwendung von Tools in Workflows und HTTP-Anfragen.
Variabler Aggregator:Der verbesserte Variablenzuweiser unterstützt eine flexiblere Variablenauswahl. Außerdem wird die Benutzerfreundlichkeit durch eine verbesserte Knotenkonnektivität erhöht.
Der Workflow in Dify ist unterteilt in Chatflow und Workflow:ChatflowKonversationsanwendungen für dialogbasierte Szenarien, einschließlich Kundendienst, semantische Suche und mehrstufige Logik bei der Erstellung von Antworten.ArbeitsablaufAutomatisierung und Batch-Szenarien, geeignet für Anwendungen wie hochwertige Übersetzungen, Datenanalyse, Inhaltserstellung, E-Mail-Automatisierung und mehr.
Chatflow-Portal
Arbeitsablauf-Portal
I. Dreistufiger Arbeitsablauf bei der Übersetzung
1. starten Sie den Knoten
Die Definition von Eingabevariablen innerhalb des Knotens Start unterstützt vier Typen: Text, Absatz, Dropdown-Optionen und Zahlen. Dies wird unten gezeigt:
In Chatflow stellt der Startknoten eingebaute Systemvariablen zur Verfügung: sys.query und sys.files. sys.query wird für die Eingabe von Benutzerfragen in dialogbasierten Anwendungen verwendet, und sys.files wird für das Hochladen einer Datei in einem Dialog verwendet, z.B. das Hochladen eines Bildes zum Verstehen der Bedeutung, das mit dem Bildverstehensmodell oder Werkzeugen für die Bildeingabe verwendet werden muss.
2. der LLM-Knoten (Anerkennung von Eigennamen)
Das SYSTEM bietet die folgenden Leitlinien für den Dialog:
Identifizieren Sie die vom Benutzer eingegebenen Fachbegriffe. Bitte zeigen Sie die Entsprechung der Fachbegriffe vor und nach der Übersetzung im Format {XXX} -> {XXX}.
{{#1711067409646.input_text#}}
Transformator
Token -> Wertmarke
Null-Schuss -> Null-Schuss
Few Shot -> Few Shot
<Namen
Innerhalb des LLM-Knotens können die Eingabeaufforderungen für das Modell angepasst werden. Wenn Sie das Modell Chat auswählen, können Sie die Eingabeaufforderungen SYSTEM/USER/ASSISTANT anpassen. Dies ist unten dargestellt:
Seriennummer | ausmachen | Hinweis | |
---|---|---|---|
1 | SYSTEM (Stichwort) | Bereitstellung von Leitlinien für den Dialog auf hoher Ebene | Hinweis |
2 | BENUTZER | Anweisungen, Abfragen oder andere textbasierte Eingaben in das Modell einbringen | Benutzer-Probleme |
3 | ASSISTENTIN | Modellantworten auf der Grundlage von Benutzernachrichten | Antworten der Helfer |
3. der LLM2-Knoten (direkte Übersetzung)
Das SYSTEM bietet die folgenden Leitlinien für den Dialog:
Sie sind ein professioneller Übersetzer, der die englische Sprache beherrscht, insbesondere bei der Umwandlung von akademischen Fachartikeln in leicht verständliche populärwissenschaftliche Artikel. Bitte helfen Sie mir, den folgenden chinesischen Text ins Englische zu übersetzen, und zwar in einem Stil, der dem eines populärwissenschaftlichen Artikels im Englischen entspricht.
<Einschränkungen
Bitte übersetzen Sie direkt aus dem chinesischen Inhalt, wobei Sie das Originalformat beibehalten und keine Informationen auslassen sollten.
{{#1711067409646.input_text#}}
<Direkte Übersetzung
4. LLM3 (weist auf Probleme bei der direkten Übersetzung hin)
Das SYSTEM bietet die folgenden Leitlinien für den Dialog:
Identifizieren Sie spezifische Probleme mit der direkten Übersetzung auf der Grundlage ihrer Ergebnisse. Es müssen präzise Beschreibungen geliefert werden, wobei Mehrdeutigkeiten zu vermeiden sind und keine Inhalte oder Formatierungen hinzugefügt werden dürfen, die im Original nicht enthalten sind. Zu den Besonderheiten gehören unter anderem:
Entspricht nicht dem englischen Ausdruck, bitte weisen Sie deutlich darauf hin, wo er unpassend ist Satzstruktur ist ungünstig, bitte weisen Sie auf die genaue Stelle hin, Sie brauchen keine Änderungsvorschläge zu machen, wir werden sie in der nachfolgenden freien Übersetzung anpassen Ausdruck ist zweideutig und schwer zu verstehen, wenn möglich, versuchen Sie, ihn zu erklären
{{#1711067578643.text#}}
{{#1711067409646.input_text#}}
{{#1711067409646.input_text#}
5) LLM4 (italienische Übersetzung - zweite Übersetzung)
Das SYSTEM bietet die folgenden Leitlinien für den Dialog:
Auf der Grundlage der Ergebnisse der ersten Direktübersetzung und der anschließend festgestellten Probleme führen wir eine Neuübersetzung durch, um den Sinn des Originaltextes besser wiederzugeben. Dabei werden wir darauf achten, dass der Inhalt sowohl der ursprünglichen Bedeutung als auch dem englischen Ausdruck besser entspricht, um ihn leichter verständlich zu machen. Dabei werden wir das ursprüngliche Format unverändert beibehalten.
<direkte Übersetzung
{{#1711067578643.text#}}
{{#1711067817657.text#}}
{{#1711067817657.text#}
6) Endknoten
Namen der Ausgabevariablen festlegenzweite_uebersetzung
.
7. den Workflow als Werkzeug veröffentlichen
Veröffentlichen Sie den Workflow als Werkzeug, um ihn in Agent zu verwenden, wie unten gezeigt:
Klicken Sie auf , um die Seite Tools aufzurufen, wie unten gezeigt:
8. die Jinja-Vorlage
Beim Schreiben von Prompt habe ich Unterstützung für Jinja-Vorlagen gefunden. Siehe [3][4] für Details.
II. Verwendung von Workflow im Workflow
III. Verwendung von Arbeitsabläufen in Bearbeitern
Im Grunde genommen ist die Behandlung des Workflows als Werkzeug und damit die Erweiterung der Fähigkeiten des Agenten vergleichbar mit anderen Werkzeugen, wie z. B. der Internetsuche, dem wissenschaftlichen Rechnen usw.
IV. Individuelle Prüfung des dreistufigen Übersetzungsworkflows
Die Eingabe ist unten dargestellt:
Transformer ist die Grundlage des Big Language Model.
Die Ausgabe ist unten dargestellt:
Der Transformer dient als Eckpfeiler für groß angelegte Sprachmodelle.
Die Detailseite ist unten abgebildet:
Die Verfolgungsseite ist unten abgebildet:
1. beginnen
(1) Eingabe
{
"input_text": "Transformer ist die Grundlage des großen Sprachmodells." ,
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}
(2) Ausgang
{
"input_text": "Transformer ist die Grundlage des großen Sprachmodells." ,
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}
2) LLM
(1) Datenverarbeitung
{
"model_mode": "chat",
"prompts": [
{
"role": "system", "text":" Identifizieren Sie die vom Benutzer eingegebenen Fachbegriffe.
"text":" Identifizieren Sie die vom Benutzer eingegebenen Fachbegriffe. Bitte zeigen Sie die Entsprechung der Fachbegriffe vor und nach der Übersetzung im Format {XXX} -> {XXX}. \n \nTransformer ist die Grundlage des Big Language Model. \n\nTransformer -> Transformer\nToken -> Token\nZero Shot -> Zero Shot \nFew Shot -> Few Shot\n",.
"files": []
}
]
}
(2) Ausgang
{
"text": "Transformator -> Transformator",
"usage": {
"prompt_tokens": 107,
"prompt_unit_price": "0.01",
"prompt_price_unit": "0.001", "prompt_price_unit": "0.001",
"prompt_price": "0.0010700", "completion_tokens".
"completion_price_unit": "0.001",
"abschluss_preis": "0.0000900", "total_tokens".
"Währung": "USD", "Latenzzeit": 1.01
"Latenzzeit": 1.0182260260044131
}
}
3 LLM 2
(1) Datenverarbeitung
{
"model_mode": "chat",
"prompts": [
{
"role": "system", "text":" Sie sind ein professioneller Übersetzer, der die englische Sprache beherrscht.
"text":" Sie sind ein professioneller Übersetzer, der die englische Sprache gut beherrscht, insbesondere bei der Umwandlung von akademischen Fachartikeln in leicht verständliche populärwissenschaftliche Artikel. Bitte helfen Sie mir bei der Übersetzung des folgenden chinesischen Textes ins Englische in einem Stil, der dem eines populärwissenschaftlichen Artikels im Englischen entspricht. \n \nBitte übersetzen Sie direkt aus dem chinesischen Inhalt, wobei Sie das Originalformat beibehalten und keine Informationen auslassen sollten. \n \nTransformer ist die Grundlage des Big Language Model. \n ",.
"files": []
}
]
}
(2) Ausgang
{
"text": "Der Transformer ist die Grundlage für große Sprachmodelle", "usage": {
"usage": {
"prompt_price_unit": "0.001",
"prompt_price": "0.0001760", "completion_tokens".
"completion_price": "0.0000200", "total_tokens".
"Währung": "USD", "Latenzzeit": 0.5.5
"latency": 0.516718350991141
}
}
4 LLM 3
(1) Datenverarbeitung
{
"model_mode": "chat",
"prompts": [
{
"role": "system", "text":"\n Geben Sie das spezifische Vorhandensein auf der Grundlage der Ergebnisse der direkten Übersetzung an.
"text":"\n Geben Sie die spezifischen Probleme auf der Grundlage der Ergebnisse der direkten Übersetzung an. Es müssen präzise Beschreibungen geliefert werden, wobei Mehrdeutigkeiten zu vermeiden sind und keine Inhalte oder Formatierungen hinzugefügt werden dürfen, die im Originaltext nicht enthalten sind. Zu den Besonderheiten gehören u. a.:\nUnvereinbar mit dem englischen Ausdruck, bitte angeben, wo er unpassend istSatzstruktur ist ungünstig, bitte auf die spezifische Stelle hinweisen, ohne dass Änderungsvorschläge gemacht werden müssen, wir werden sie in der nachfolgenden freien Übersetzung anpassenAusdruck ist zweideutig, schwer zu verstehen, und, wenn möglich, ein Versuch, ihn zu erklären\n\nDer Transformer ist die Grundlage für große Sprachmodelle.\n\nDer Transformer ist die Grundlage für große Sprachmodelle. \n".
"files": []
}
]
}
(2) Ausgang
{
"text": "Der Satzbau ist ungeschickt und entspricht nicht dem englischen Ausdruck." ,
"usage": {
"prompt_tokens": 217,
"prompt_unit_price": "0.001",
"prompt_price_unit": "0.001", "prompt_price_unit": "0.001",
"prompt_price": "0.0002170", "completion_tokens".
"abschluss_preis": "0.0000440", "total_tokens".
"total_tokens": 239, "total_price".
"latency": 0.8566757979860995
}
}
5 LLM 4
(1) Datenverarbeitung
{
"model_mode": "chat",
"prompts": [
{
"role": "system", "text":"Auf der Grundlage der ersten Direktübersetzung und der anschließend festgestellten Probleme werden wir eine Neuübersetzung durchführen.
"text":"Auf der Grundlage der Ergebnisse der ersten Direktübersetzung und der anschließend festgestellten Probleme führen wir eine Neuübersetzung durch, um die Bedeutung des Originaltextes genauer wiederzugeben. Dabei wollen wir sicherstellen, dass der Inhalt des Textes sowohl der ursprünglichen Bedeutung entspricht als auch dem englischen Ausdruck näher kommt, um ihn besser verständlich zu machen. Dabei wird das ursprüngliche Format unverändert beibehalten. \n \nDer Transformer ist die Grundlage für große Sprachmodelle.\n \nDer Satzbau ist umständlich und entspricht nicht den englischen Ausdrücken. \n ",
"files": []
}
]
}
(2) Ausgang
{
"text": "Der Transformer dient als Eckpfeiler für groß angelegte Sprachmodelle", "usage": {
"usage": {
"prompt_tokens": 187, "prompt_unit_price": {
"prompt_price_unit": "0.001",
"prompt_price": "0.0018700", "completion_tokens".
"completion_price_unit": "0.001",
"abschluss_preis": "0,0003600", "gesamt_tokens": "0,03", "abschluss_preis_einheit": "0,001",
"Währung": "USD", "Latenzzeit": 1,36
"latency": 1.3619857440062333
}
}
6. schlussfolgerung
(1) Eingabe
{
"second_translation": "Der Transformer dient als Grundstein für groß angelegte Sprachmodelle."
}
(2) Ausgang
{
"second_translation": "Der Transformer dient als Grundstein für groß angelegte Sprachmodelle."
}
V. Testen des dreistufigen Übersetzungsworkflows in Agent
Beim Starten des Tools:
Beim Schließen des Werkzeugs:
VI. Verwandte Themen
1. wann wird der Workflow im Agenten ausgelöst?
Wie bei Werkzeugen, ausgelöst durch die Werkzeugbeschreibung. Die genaue Implementierung ist nur durch einen Blick in den Quellcode ersichtlich.
bibliographie
[1] Arbeitsablauf: https://docs.dify.ai/v/zh-hans/guides/workflow
[2] Praktisches Unterrichten von Dify für das WeChat-Ökosystem: https://docs.dify.ai/v/zh-hans/learn-more/use-cases/dify-on-wechat
[3] Offizielle Jinja-Dokumentation: https://jinja.palletsprojects.com/en/3.0.x/
[4] Jinja-Vorlage: https://jinja.palletsprojects.com/en/3.1.x/templates/