Dify 탱자탱자 4탄은 3탄에 이어지는 후속편의 글이며, 작은 삽질 기록입니다.
ChatGPT에게 "사람이 여유있게 삽질하는 모습을
지브리 풍으로 코믹하게 그려줘.
삽은 작은 크기의 삽으로 해줘" 라고 했더니 이런 그림을 그려주네요
근육질로 작업하면 좀 여유있다라고 생각했나 봅니다. 풉....
어쨋거나 저쨋거나 저도 운동하니 저 정도는 끄덕여집니다.
Dify에서 크롤링으로 지식 구축 하다가 늪에 빠져 스터디장님께 해결책을 SOS 쳤더니
1:1 온라인 미팅이라는 특단의 조치를 내리십니다.
2시간 반 동안 Dify, RAG, Orchestration, 컴퓨터 사양, Docker,
Dify 사용법 및 구축 방법 등에 관한 특강을 들었습니다.
그리고 제가 처한 문제를 해결하는 방법도 같이 고민해 주셔서
해법을 찾았습니다.
자, 그럼 이제 문제를 파해하러 가봐야죠!
Let's go~
목표: n8n docs를 Knowledge로 구축하여
이를 바탕으로 대답하는 n8n 사용자 도우미 봇을 만들자!
(n8n 사용 시, 초보자라 무엇을 어떻게 해야 하는지 몰라서
매번 n8n docs(영어로 되어 있어서 읽기도 힘듬)와
Perplexity AI에게 캡쳐 떠서 물어보던 어려움이 서러워서(?)
챗봇을 만들어서 간단하게 물어보고 도움을 받으면 좋겠다라고 생각하였음)
n8n docs가 github에 최신 판으로 문서 형태로 올라와 있다라는
스터디장님의 조언을 따라서
Github에 가서 압축 파일을 다운로드 받습니다.
Markdown 파일로 되어 있는데 파일 한 개당 사이즈는 몇 kb에 불과해서
파일 용량 크기 제한에는 걸리지 않습니다.
다만, 개수가 몇 개인지가 관건인데
(제 플랜 기준으로는 500개를 넘을 수 없습니다.)
일일이 개수 확인을 할 수가 없어서 일단 진행합니다.
n8n docs와 비교 해보니 내용은 같은데
n8n docs 사이트의 구성과 달라서 좀 헷갈리고
개수가 228개가 맞을지 예측이 잘 안됩니다.
파일로 Knowledge에 올리고 다음 단계로 넘어갈 때에도
한 번에 20개라는 제한이 있네요
그래서 수작업으로 n8n docs를 돌아다니면서
20개씩 선택해서 처리합니다.
Knowledge 작업에만 2시간 정도 소요된 것 같습니다.
완전 쌩 노가다....
Knowledge 구축만 끝나면 뒷단의 챗봇 구성은 금방 끝나더군요.
모든 작업은 Perplexity AI의 자문을 받아가며
(실은 캡쳐 떠서 알려달라고 구걸했어요...😂 😂 )
이런 모르는 AI를 배워가며 작업을 할 때에는
경험상 Perplexity가 제일 도움 많이 되는 것 같습니다.
진행 과정
1단계:
파일을 20개씩 올리면 제대로 올라갔다고 초록불이 들어오면서
다음 단계로 넘어갈 수 있게 됩니다.
에러가 나면 아예 다시 진행하니 되더군요.
2단계:
첫번째 boss를 만납니다. 보스를 격파하기 위해 Perplexity에게 도움을 요청하니,
청크 설정 각 항목 설명
1. 세그먼트 식별자 (WnWn)
뭐하는 거야?
문서를 나눌 때 "여기서 잘라!" 하는 신호같은 거예요
예를 들어, 책을 페이지별로 나누듯이 긴 글을 작은 조각으로 나누는 기준이에요
추천 설정: \n\n (기본값 유지)
n8n 문서는 문단별로 나누는 게 가장 자연스러워요
2. 최대 청크 길이 (1024 characters)
뭐하는 거야?
한 조각(청크)이 최대 몇 글자까지 들어갈 수 있는지 정하는 거예요
너무 길면 AI가 헷갈리고, 너무 짧으면 내용이 부족해져요
추천 설정: 800 characters
n8n 문서는 코드와 설명이 섞여있어서 1024자보다 조금 짧게 하는 게 좋아요
800자 정도면 한 문단과 코드 예시를 적절히 포함할 수 있어요
3. 청크 중첩 (50 characters)
뭐하는 거야?
책장을 넘길 때 앞 페이지의 마지막 줄을 다음 페이지 첫 줄에 다시 적어놓는 것 같은 거예요
문맥이 끊어지지 않게 조금씩 겹치게 만드는 거예요
추천 설정: 100 characters
n8n 문서는 단계별 설명 이 많아서 앞뒤 연결이 중요해요
100자 정도 겹치면 "이전 단계에서..."같은 연결 부분을 놓치지 않아요
4. 텍스트 전처리 규칙
연속된 공백, 줄바꿈, 탭을 대체합니다 ✅
뭐하는 거야?
글에서 띄어쓰기가 너무 많거나 줄바꿈이 이상한 걸 깔끔하게 정리해주는 거예요
추천 설정: 체크 유지 (✅)
n8n 문서는 웹에서 가져온 거라 공백이 엉망일 수 있어요
모든 URL과 이메일 주소를 제거합니다 ☐
뭐하는 거야?
글 속에 있는 인터넷 주소나 이메일을 다 지워버리는 거예요
추천 설정: 체크 안 함 (☐)
n8n 문서에는 중요한 링크들이 많아서 지우면 안 돼요
API 주소나 GitHub 링크 등이 중요한 정보가 될 수 있어요
최종 추천 설정 요약
설정 항목
추천값