Dify v0.6.9는 사용자 지정 워크플로우를 도구로 사용합니다.

AI 실습 튜토리얼8개월 전 업데이트 AI 공유 서클
1.7K 00

이 작업은 Dify AI 워크플로는 0.6.9 버전에서 재사용 가능한 도구(상담원 또는 워크플로우에서 사용)로 출시되었습니다. 따라서 새로운 에이전트 및 다른 워크플로우와 통합할 수 있어 중복 작업을 없앨 수 있습니다. 두 개의 새로운 워크플로우 노드와 하나의 개선된 노드가 추가되었습니다:

반복:입력이 배열인지 확인합니다. 반복 노드는 모든 항목이 처리될 때까지 배열의 각 항목을 차례로 처리합니다. 예를 들어 긴 글이 필요한 경우 몇 개의 제목을 입력하기만 하면 됩니다. 이렇게 하면 각 제목에 대한 단락이 포함된 기사가 생성되므로 복잡한 프롬프트 스케줄링이 필요하지 않습니다.

파라미터 추출기:LLM(대규모 언어 모델)을 사용하여 자연어에서 구조화된 매개변수를 추출하면 워크플로우에서 도구를 사용하고 HTTP 요청을 하는 프로세스가 간소화됩니다.

변수 애그리게이터:개선된 변수 어사인은 더욱 유연한 변수 선택을 지원합니다. 동시에 노드 연결이 개선되어 사용자 환경이 향상되었습니다.

Dify의 워크플로는 Chatflow와 워크플로 두 가지 종류입니다:채팅 흐름고객 서비스, 시맨틱 검색, 응답 구축의 다단계 로직을 포함한 대화 기반 시나리오를 위한 대화형 애플리케이션입니다.워크플로자동화 및 배치 시나리오를 지향하며 고품질 번역, 데이터 분석, 콘텐츠 생성, 이메일 자동화 등과 같은 애플리케이션에 적합합니다.

Dify v0.6.9将自定义工作流作为工具

채팅 플로우 포털

Dify v0.6.9将自定义工作流作为工具

워크플로 포털

I. 3단계 번역 워크플로

1. 노드 시작
Dify v0.6.9将自定义工作流作为工具

시작 노드 내에서 입력 변수를 정의하는 데는 텍스트, 단락, 드롭다운 옵션, 숫자의 네 가지 유형이 지원됩니다. 아래 그림과 같습니다:

Dify v0.6.9将自定义工作流作为工具

Chatflow에서 시작 노드는 시스템 내장 변수인 sys.query 및 sys.files를 제공합니다. sys.query는 대화 기반 애플리케이션에서 사용자 질문 입력에 사용되고, sys.files는 대화에 파일을 업로드하는 데 사용됩니다(예: 이미지 이해 모델 또는 이미지 입력용 도구와 함께 사용해야 하는 의미 이해를 위한 이미지 업로드).

2. LLM(고유명사 인식) 노드
Dify v0.6.9将自定义工作流作为工具

시스템에서는 다음과 같이 대화에 대한 높은 수준의 지침을 제공합니다:

<任务> 识别用户输入的技术术语。请用{XXX} -> {XXX}的格式展示翻译前后的技术术语对应关系。
<输入文本>
{{#1711067409646.input_text#}}
<示例>
Transformer -> Transformer
Token -> Token
零样本 -> Zero Shot
少样本 -> Few Shot
<专有名词>

LLM 노드 내에서 모델 입력 프롬프트를 사용자 지정할 수 있습니다. Chat 모델을 선택하면 시스템/사용자/어시스턴트 프롬프트를 사용자 지정할 수 있습니다. 아래 그림과 같습니다:

Dify v0.6.9将自定义工作流作为工具
일련 번호계정참고
1시스템(큐 워드)대화에 대한 높은 수준의 안내 제공clue
2USER모델에 명령, 쿼리 또는 텍스트 기반 입력을 제공합니다.사용자 문제
3어시스턴트사용자 메시지에 기반한 모델 응답헬퍼의 답변
3. LLM2(직접 번역) 노드
Dify v0.6.9将自定义工作流作为工具

시스템에서는 다음과 같이 대화에 대한 높은 수준의 지침을 제공합니다:

<任务> 您是一名精通英文的专业译者,特别是在将专业的学术论文转换为通俗易懂的科普文章方面有着非凡的能力。请协助我把下面的中文段落翻译成英文,使其风格与英文的科普文章相似。
<限制> 
请根据中文内容直接翻译,维持原有的格式,不省略任何信息。
<翻译前> 
{{#1711067409646.input_text#}}
<直接翻译>
4. LLM3(직접 번역의 문제점 지적)
Dify v0.6.9将自定义工作流作为工具

시스템에서는 다음과 같이 대화에 대한 높은 수준의 지침을 제공합니다:

<任务>
根据直接翻译的结果,指出其具体存在的问题。需要提供精确描述,避免含糊其辞,并且无需增添原文中未包含的内容或格式。具体包括但不限于:
不符合英文的表达习惯,请明确指出哪里不合适句子结构笨拙,请指出具体位置,无需提供修改建议,我们将在后续的自由翻译中进行调整表达含糊不清,难以理解,如果可能,可以试图进行解释
<直接翻译>
{{#1711067578643.text#}}
<原文>
{{#1711067409646.input_text#}}
<直接翻译的问题>
5. LLM4(이탈리아어 번역 - 두 번째 번역)
Dify v0.6.9将自定义工作流作为工具

시스템에서는 다음과 같이 대화에 대한 높은 수준의 지침을 제공합니다:

<任务>基于初次直接翻译的成果及随后识别的各项问题,我们将进行一次重新翻译,旨在更准确地传达原文的意义。在这一过程中,我们将致力于确保内容既忠于原意,又更加贴近英文的表达方式,更容易被理解。在此过程中,我们将保持原有格式不变。
<直接翻译> 
{{#1711067578643.text#}}
<第一次翻译的问题>
{{#1711067817657.text#}}
<意译>
6. 엔드 노드
Dify v0.6.9将自定义工作流作为工具

출력 변수 이름 정의second_translation.

7. 워크플로를 도구로 게시

아래와 같이 워크플로를 도구로 게시하여 에이전트에서 사용할 수 있도록 합니다:

Dify v0.6.9将自定义工作流作为工具

아래 그림과 같이 클릭하여 도구 페이지에 액세스합니다:

Dify v0.6.9将自定义工作流作为工具
8. 진자 템플릿

프롬프트를 작성하는 동안 진자 템플릿에 대한 지원을 발견했습니다. 자세한 내용은 [3][4]를 참조하세요.

II. 워크플로에서 워크플로 사용

Dify v0.6.9将自定义工作流作为工具

III. 상담원에서 워크플로 사용

기본적으로 워크플로를 하나의 도구로 취급하여 상담원 기능을 확장하는 것은 인터넷 검색, 과학 컴퓨팅 등과 같은 다른 도구와 유사합니다.

Dify v0.6.9将自定义工作流作为工具Dify v0.6.9将自定义工作流作为工具

IV. 3단계 번역 워크플로우의 개별 테스트

Dify v0.6.9将自定义工作流作为工具

입력 내용은 아래와 같습니다:

Transformer是大语言模型的基础。

출력은 아래와 같습니다:

The Transformer serves as the cornerstone for large-scale language models.

세부 정보 페이지는 아래와 같습니다:

Dify v0.6.9将自定义工作流作为工具

추적 페이지는 아래와 같습니다:

Dify v0.6.9将自定义工作流作为工具
1. 시작

(1) 입력

{
"input_text": "Transformer是大语言模型的基础。",
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}

(2) 출력

{
"input_text": "Transformer是大语言模型的基础。",
"sys.files": [],
"sys.user_id": "7d8864c3-c456-4588-9b0a-9368c94ca377"
}
2. LLM

(1) 데이터 처리

{
"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) 출력

{
"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) 데이터 처리

{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务> 您是一名精通英文的专业译者,特别是在将专业的学术论文转换为通俗易懂的科普文章方面有着非凡的能力。请协助我把下面的中文段落翻译成英文,使其风格与英文的科普文章相似。\n<限制> \n请根据中文内容直接翻译,维持原有的格式,不省略任何信息。\n<翻译前> \nTransformer是大语言模型的基础。\n<直接翻译> ",
"files": []
}
]
}

(2) 출력

{
"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) 데이터 처리

{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务>\n根据直接翻译的结果,指出其具体存在的问题。需要提供精确描述,避免含糊其辞,并且无需增添原文中未包含的内容或格式。具体包括但不限于:\n不符合英文的表达习惯,请明确指出哪里不合适句子结构笨拙,请指出具体位置,无需提供修改建议,我们将在后续的自由翻译中进行调整表达含糊不清,难以理解,如果可能,可以试图进行解释\n<直接翻译>\nThe Transformer is the foundation of large language models.\n<原文>\nTransformer是大语言模型的基础。\n<直接翻译的问题>",
"files": []
}
]
}

(2) 출력

{
"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) 데이터 처리

{
"model_mode": "chat",
"prompts": [
{
"role": "system",
"text": "<任务>基于初次直接翻译的成果及随后识别的各项问题,我们将进行一次重新翻译,旨在更准确地传达原文的意义。在这一过程中,我们将致力于确保内容既忠于原意,又更加贴近英文的表达方式,更容易被理解。在此过程中,我们将保持原有格式不变。\n<直接翻译> \nThe Transformer is the foundation of large language models.\n<第一次翻译的问题>\n句子结构笨拙,不符合英文表达习惯。\n<意译> ",
"files": []
}
]
}

(2) 출력

{
"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. 결론

(1) 입력

{
"second_translation": "The Transformer serves as the cornerstone for large-scale language models."
}

(2) 출력

{
"second_translation": "The Transformer serves as the cornerstone for large-scale language models."
}

V. 에이전트에서 3단계 번역 워크플로 테스트하기

도구를 실행할 때

Dify v0.6.9将自定义工作流作为工具

도구를 닫을 때

Dify v0.6.9将自定义工作流作为工具

VI. 관련 이슈

1. 에이전트에서 워크플로는 언제 트리거되나요?

도구와 마찬가지로 도구 설명에 따라 트리거됩니다. 정확한 구현은 소스 코드를 봐야만 알 수 있습니다.

참고 문헌

[1] 워크플로: https://docs.dify.ai/v/zh-hans/guides/workflow

[2] 위챗 생태계에 대한 실습 교육: https://docs.dify.ai/v/zh-hans/learn-more/use-cases/dify-on-wechat

[3] 진자 공식 문서: https://jinja.palletsprojects.com/en/3.0.x/

[4] 진자 템플릿: https://jinja.palletsprojects.com/en/3.1.x/templates/

© 저작권 정책
AiPPT

관련 게시물

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...