Dify - 지식파이프라인 도입
[dify
AIAgent
]
Dify 1.9.2 버전 부터 ‘지식’ 에 파이프라인 기능이 도입되었습니다.
이전의 지식은 텍스트, pdf, word 파일 등을 RAG화 시켜서 벡터 DB에 저장하고 여기에서 벡터 검색하는 창고를 의미했었습니다. 하지만 Dify의 유저들은 이에 대해 불만이 있었나 봅니다. 데이터 소스의 확대와 중간에 원하는 포멧으로의 변경 등의 기능을 파이프라인의 개념을 통해 추가하였습니다.
기존 지식 등록 단계는 다음과 같습니다.
- 파일,또는 URL업로드 ;
- Notion 등 URL업로드를 지원하나 생각보다 검색이 잘 되지 않았음
- 정보를 적절한 문장 단위(청크) 로 분할
- 정보를 벡터화 하여 검색에 바로 이용
그런데 기존 방식의 문제가 다음과 같았습니다.
- 검색 정확도의 한계 : FAQ형식의 PDF나 Excel을 등록해도 질문가 답변이 분리되어 저장되므로 복잡하거니 긴 문장에서는 검색 정확도가 낮아지는 문제가 있었음
- 제한적인 데이터 처리 : 표나 이미지의 데이터를 처리하기가 어려웠으며, 특수 업무 데이터 등의 처리도 취약함
- 디버깅의 어려움 : 지식 베이스가 생성되었어도 그 과정에서 오류가 있는지 찾기 어려움
이번에 도입한 지식 파이프라인은 다음과 같은 특징이 있습니다.
특징 1 : 노드 기반 처리 플로우
- 노드 기반 구축 : 가져오기(import), 전처리, 분할, 읽기 등 각 액티비티를 노드 단위로 구축할 수 있음
- 시각적 구성 : 지식 파이프라인 구성도에서 노드를 조합하여 지식을 구축
- 처리 과정 가시화 : 기존의 지식 등록은 블랙박스 였지만 디버깅 기능을 통해 시각적으로 확인이 가능함
특징 2. 멀티 모달
- 데이터 소스 확장
- 지식 수집 및 등록 소스가 대폭 확장
- File, Google Drive, Notion, 웹 크롤링, AWS S3 등 다양한 소스에서 지식을 수집하고 등록가능
특징 3. 디버깅 지원 강화
- 실시간 미리보기 : 파이프라인을 통해 각 단계의 처리를 실시간으로 미리보기 가능
- 실행 추적 : ‘실행 추적’을 통해 노드 값이나 LLM이 어떤 데이터를 처리했는지 내부 내용도 다 알 수 있어 디버깅에 유리
기존 방법과의 비교
| 구분 | 기존 지식 등록 | 지식 파이프라인 (Dify 2.0) |
|---|---|---|
| 구조 | 파일을 그대로 업로드하는 방식 | 노드 기반으로 처리 설계 |
| 지원 범위 | 텍스트, PDF 중심 (일부 Notion) | Notion, Google Drive, Web, 이미지, 표 등 지원 |
| 유연성 | 고정적인 등록만 가능 | 처리 플로우를 자유롭게 커스터마이징 가능 (노드 추가 가능) |
| 디버깅 | 처리 과정을 볼 수 없음 | 중간 단계를 미리보기로 확인 가능하여 디버깅 용이 |
| 목적 | 지식을 등록하는 것 | 지식을 가공하고 최적화하여 등록하는 것 |
다음 글에서 이제 이에 대한 예시를 보이도록 하겠습니다.