Isso pode ser feito no Dify Os fluxos de trabalho de IA foram lançados na versão 0.6.9 como ferramentas reutilizáveis (para uso no agente ou no fluxo de trabalho). Isso permite a integração com novos agentes e outros fluxos de trabalho, eliminando assim a duplicação de esforços. Dois novos nós de fluxo de trabalho e um nó aprimorado foram adicionados:
Iteração:Certifique-se de que a entrada seja uma matriz. O nó de iteração processará cada item da matriz, um por vez, até que todos os itens tenham sido processados. Por exemplo, se você precisar de um artigo longo, basta inserir alguns títulos. Isso gerará um artigo que contém um parágrafo para cada título, eliminando a necessidade de um agendamento complexo de prompts.
Extrator de parâmetros:A extração de parâmetros estruturados da linguagem natural usando modelos de linguagem grande (LLM) simplifica o processo de uso de ferramentas em fluxos de trabalho e de solicitações HTTP.
Agregador de variáveis:O atribuidor de variáveis aprimorado oferece suporte a uma seleção de variáveis mais flexível. Além disso, a experiência do usuário é aprimorada pela conectividade aprimorada dos nós.
Os fluxos de trabalho na Dify são divididos em Chatflow e Fluxo de trabalho Dois tipos:Fluxo de bate-papoAplicativos de conversação para cenários baseados em diálogo, incluindo atendimento ao cliente, pesquisa semântica e lógica de várias etapas na criação de respostas.Fluxo de trabalhoAutomação: orientado para cenários de automação e lote, adequado para aplicativos como tradução de alta qualidade, análise de dados, geração de conteúdo, automação de e-mail e muito mais.
Portal do Chatflow
Portal de fluxo de trabalho
I. Fluxo de trabalho de tradução em três etapas
1. nó inicial
A definição de variáveis de entrada no nó Start suporta quatro tipos: texto, parágrafo, opções suspensas e números. Isso é mostrado abaixo:
No Chatflow, o nó inicial fornecerá variáveis internas do sistema: sys.query e sys.files. O sys.query é usado para a entrada de perguntas do usuário em aplicativos baseados em diálogo, e o sys.files é usado para carregar um arquivo em um diálogo, por exemplo, carregar uma imagem para entender o significado, que precisa ser usado com o modelo de compreensão de imagem ou ferramentas para entrada de imagem.
2. nó LLM (Reconhecimento de nomes próprios)
O SISTEMA fornece orientações de alto nível para o diálogo, como segue:
<任务> 识别用户输入的技术术语。请用{XXX} -> {XXX}的格式展示翻译前后的技术术语对应关系。
<输入文本>
{{#1711067409646.input_text#}}
<示例>
Transformer -> Transformer
Token -> Token
零样本 -> Zero Shot
少样本 -> Few Shot
<专有名词>
No nó LLM, os prompts de entrada do modelo podem ser personalizados. Se você selecionar o modelo Chat, poderá personalizar os prompts SYSTEM/USER/ASSISTANT. Isso é mostrado abaixo:
número de série | conta para | nota | |
---|---|---|---|
1 | SYSTEM (palavra-chave) | Fornecimento de orientação de alto nível para o diálogo | pista |
2 | USUÁRIO | Fornecer comandos, consultas ou qualquer entrada baseada em texto para o modelo | Problemas do usuário |
3 | ASSISTENTE | Modelar respostas com base nas mensagens do usuário | Respostas dos ajudantes |
3. nó LLM2 (tradução direta)
O SISTEMA fornece orientações de alto nível para o diálogo, como segue:
<任务> 您是一名精通英文的专业译者,特别是在将专业的学术论文转换为通俗易懂的科普文章方面有着非凡的能力。请协助我把下面的中文段落翻译成英文,使其风格与英文的科普文章相似。
<限制>
请根据中文内容直接翻译,维持原有的格式,不省略任何信息。
<翻译前>
{{#1711067409646.input_text#}}
<直接翻译>
4. LLM3 (apontando problemas com a tradução direta)
O SISTEMA fornece orientações de alto nível para o diálogo, como segue:
<任务>
根据直接翻译的结果,指出其具体存在的问题。需要提供精确描述,避免含糊其辞,并且无需增添原文中未包含的内容或格式。具体包括但不限于:
不符合英文的表达习惯,请明确指出哪里不合适句子结构笨拙,请指出具体位置,无需提供修改建议,我们将在后续的自由翻译中进行调整表达含糊不清,难以理解,如果可能,可以试图进行解释
<直接翻译>
{{#1711067578643.text#}}
<原文>
{{#1711067409646.input_text#}}
<直接翻译的问题>
5. LLM4 (tradução do italiano - segunda tradução)
O SISTEMA fornece orientações de alto nível para o diálogo, como segue:
<任务>基于初次直接翻译的成果及随后识别的各项问题,我们将进行一次重新翻译,旨在更准确地传达原文的意义。在这一过程中,我们将致力于确保内容既忠于原意,又更加贴近英文的表达方式,更容易被理解。在此过程中,我们将保持原有格式不变。
<直接翻译>
{{#1711067578643.text#}}
<第一次翻译的问题>
{{#1711067817657.text#}}
<意译>
6. nó final
Definição de nomes de variáveis de saídasecond_translation
.
7. publicar o fluxo de trabalho como uma ferramenta
Publique o fluxo de trabalho como uma ferramenta para poder usá-lo no Agent, conforme mostrado abaixo:
Clique para acessar a página Tools (Ferramentas), conforme mostrado abaixo:
8. modelo Jinja
Ao escrever o Prompt, encontrei suporte para modelos Jinja. Consulte [3][4] para obter detalhes.
II. Uso do fluxo de trabalho no fluxo de trabalho
III. Uso do fluxo de trabalho em agentes
Essencialmente, tratar o fluxo de trabalho como uma ferramenta, ampliando assim os recursos do agente, é semelhante a outras ferramentas, como pesquisa na Internet, computação científica, etc.
IV. Teste individual do fluxo de trabalho de tradução em três etapas
A entrada é mostrada abaixo:
Transformer是大语言模型的基础。
A saída é mostrada abaixo:
The Transformer serves as the cornerstone for large-scale language models.
A página de detalhes é mostrada abaixo:
A página de rastreamento é mostrada abaixo:
1. iniciar
(1) Entrada
{
"input_text": "Transformer是大语言模型的基础。",
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}
(2) Saída
{
"input_text": "Transformer是大语言模型的基础。",
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}
2) LLM
(1) Processamento de dados
{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务> 识别用户输入的技术术语。请用{XXX} -> {XXX}的格式展示翻译前后的技术术语对应关系。\n<输入文本>\nTransformer是大语言模型的基础。\n<示例>\nTransformer -> Transformer\nToken -> Token\n零样本 -> Zero Shot \n少样本 -> Few Shot\n<专有名词>",
"files": []
}
]
}
(2) Saída
{
"text": "Transformer -> Transformer",
"usage": {
"prompt_tokens": 107,
"prompt_unit_price": "0.01",
"prompt_price_unit": "0.001",
"prompt_price": "0.0010700",
"completion_tokens": 3,
"completion_unit_price": "0.03",
"completion_price_unit": "0.001",
"completion_price": "0.0000900",
"total_tokens": 110,
"total_price": "0.0011600",
"currency": "USD",
"latency": 1.0182260260044131
}
}
3. LLM 2
(1) Processamento de dados
{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务> 您是一名精通英文的专业译者,特别是在将专业的学术论文转换为通俗易懂的科普文章方面有着非凡的能力。请协助我把下面的中文段落翻译成英文,使其风格与英文的科普文章相似。\n<限制> \n请根据中文内容直接翻译,维持原有的格式,不省略任何信息。\n<翻译前> \nTransformer是大语言模型的基础。\n<直接翻译> ",
"files": []
}
]
}
(2) Saída
{
"text": "The Transformer is the foundation of large language models.",
"usage": {
"prompt_tokens": 176,
"prompt_unit_price": "0.001",
"prompt_price_unit": "0.001",
"prompt_price": "0.0001760",
"completion_tokens": 10,
"completion_unit_price": "0.002",
"completion_price_unit": "0.001",
"completion_price": "0.0000200",
"total_tokens": 186,
"total_price": "0.0001960",
"currency": "USD",
"latency": 0.516718350991141
}
}
4. LLM 3
(1) Processamento de dados
{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务>\n根据直接翻译的结果,指出其具体存在的问题。需要提供精确描述,避免含糊其辞,并且无需增添原文中未包含的内容或格式。具体包括但不限于:\n不符合英文的表达习惯,请明确指出哪里不合适句子结构笨拙,请指出具体位置,无需提供修改建议,我们将在后续的自由翻译中进行调整表达含糊不清,难以理解,如果可能,可以试图进行解释\n<直接翻译>\nThe Transformer is the foundation of large language models.\n<原文>\nTransformer是大语言模型的基础。\n<直接翻译的问题>",
"files": []
}
]
}
(2) Saída
{
"text": "句子结构笨拙,不符合英文表达习惯。",
"usage": {
"prompt_tokens": 217,
"prompt_unit_price": "0.001",
"prompt_price_unit": "0.001",
"prompt_price": "0.0002170",
"completion_tokens": 22,
"completion_unit_price": "0.002",
"completion_price_unit": "0.001",
"completion_price": "0.0000440",
"total_tokens": 239,
"total_price": "0.0002610",
"currency": "USD",
"latency": 0.8566757979860995
}
}
5. LLM 4
(1) Processamento de dados
{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务>基于初次直接翻译的成果及随后识别的各项问题,我们将进行一次重新翻译,旨在更准确地传达原文的意义。在这一过程中,我们将致力于确保内容既忠于原意,又更加贴近英文的表达方式,更容易被理解。在此过程中,我们将保持原有格式不变。\n<直接翻译> \nThe Transformer is the foundation of large language models.\n<第一次翻译的问题>\n句子结构笨拙,不符合英文表达习惯。\n<意译> ",
"files": []
}
]
}
(2) Saída
{
"text": "The Transformer serves as the cornerstone for large-scale language models.",
"usage": {
"prompt_tokens": 187,
"prompt_unit_price": "0.01",
"prompt_price_unit": "0.001",
"prompt_price": "0.0018700",
"completion_tokens": 12,
"completion_unit_price": "0.03",
"completion_price_unit": "0.001",
"completion_price": "0.0003600",
"total_tokens": 199,
"total_price": "0.0022300",
"currency": "USD",
"latency": 1.3619857440062333
}
}
6. Conclusão
(1) Entrada
{
"second_translation": "The Transformer serves as the cornerstone for large-scale language models."
}
(2) Saída
{
"second_translation": "The Transformer serves as the cornerstone for large-scale language models."
}
V. Teste do fluxo de trabalho de tradução em três etapas no Agent
Ao iniciar a ferramenta:
Ao fechar a ferramenta:
VI. Questões relacionadas
1) Quando o fluxo de trabalho é acionado no agente?
Como acontece com as ferramentas, acionadas pela descrição da ferramenta. A implementação exata só fica clara quando se examina o código-fonte.