Dify 실습 (3): 사이트 내용 요약 워크플로우
Dify의 워크플로우 기능을 활용하여 특정 웹사이트의 콘텐츠를 가져오고, LLM을 이용해 핵심 내용을 요약하는 파이프라인을 구축해 보겠습니다.
시작하기
앱 생성하기에서 워크플로우를 선택합니다.
트리거는 작업을 자동화하여 원하는 시간에 반복시킬 때 사용하는 기능입니다.
지금은 그냥 시작노드를 사용하겠습니다.
시작노드에 + 버튼을 눌러 입력 필드를 추가합니다.
입력 필드에 짧은 텍스트 (string) 을 선택하고 변수명에는 url이라고 작성합니다.
레이블명에는 주소를 입력하세요. 라고 작성하겠습니다.
url이 길 경우를 대비하여 최대 길이는 200으로 설정하겠습니다.
설정값들은 원하는 대로 변경하여도 됩니다.
저희는 사이트의 내용을 받아와야 하기 때문에 HTTP 요청 노드를 시작노드에 연결합니다.
이 노드는 입력받은 URL의 웹 페이지 내용을 가져오는 역할을 합니다.
GET으로 설정하고 시작노드에서 만든 url을 변수로 받아옵니다.
LLM 컨텍스트에 HTTP 요청의 body를 선택합니다.
이 body 안에 사이트의 내용이 들어 있습니다.
LLM의 프롬프트를 작성합니다. 요약작업에 대해 명확히 지시를 합니다.
LLM 뒤에 출력 노드를 연결하여 워크플로우의 최종 결과를 정의합니다.
출력 변수에 변수명을 설정합니다. 변수명은 영어로 작성해야 하며 원하시는 변수명을 사용하시면 됩니다.
예시) output
그리고 변수 값에는 LLM의 대답인 LLM text 를 선택하겠습니다.
이렇게 하면 사이트 내용 요약 워크플로우가 완성되었습니다.
테스트하기
테스트 실행 버튼을 누르고 요약할 사이트의 url을 입력합니다.
저는 문맥 관리에 대한 내용이 있는 anthropic의 문서를 넣어보겠습니다.
LLM이 사이트의 내용을 세 문장으로 요약한 결과를 볼 수 있습니다.
활용 방안
이 워크플로우는 다양한 방식으로도 확장할 수 있습니다.
자동화: 정기적으로 특정 웹사이트를 모니터링하고 요약
다국어 지원: 여러 언어의 웹사이트 요약 가능.
데이터베이스 연동: 요약 결과를 데이터베이스에 저장
슬랙/이메일 알림: 요약 결과를 팀원들에게 자동 전송
키워드 추출: 요약과 함께 주요 키워드 추출
주의 사항
한 번에 너무 많은 요청을 보낼 경우 IP가 차단될 수 있습니다. 과도하게 많은 요청을 보내지 않도록 주의해야 합니다.
매번 모든 HTML을 LLM에 보내면 토큰 사용량이 너무 커질 수 있습니다. r.jina.ai 같은 서비스를 사용할 수 있습니다.
오픈네트웍시스템 이승헌