앱에 지식 베이스 연동하기

앱에 지식 베이스 연동하기

지식 베이스는 외부 정보 소스로 사용되어 LLM이 사용자 질문에 정확한 답을 내도록 도와줘요. Dify의 모든 애플리케이션 유형에 기존 지식 베이스를 연결할 수 있어요.

지식 베이스와 연동된 애플리케이션 만들기

  1. Knowledge로 이동해 바로 쓸 수 있는 지식 베이스(ready-to-use knowledge base) 를 만들고 파일을 업로드해요.
  2. Studio로 이동해 애플리케이션을 만들고 Chatbot을 선택해요.
  3. Context에 들어가 Add를 클릭하고 만든 지식 베이스 중 하나를 선택해요.
  4. 메타데이터 필터링(Metadata Filtering) 을 사용해 지식 베이스에서 문서 검색을 정밀화해요.
  5. Context 설정 -- 검색 설정(Retrieval Setting) 에서 검색 설정을 구성해요.
  6. 기능 추가(Add Features) 에서 인용과 출처 표기(Citation and Attribution) 를 활성화해요.

지식 연결과 검색 모드 설정

여러 지식 베이스를 사용하는 애플리케이션에서는 검색 모드를 구성해 검색된 콘텐츠의 정밀도를 높이는 게 필수적이에요. 검색 모드를 설정하려면 Context -- 검색 설정 -- 재순위화 설정(Rerank Setting) 으로 이동해요.

검색 설정(Retrieval Setting)

리트리버(retriever)는 애플리케이션에 연결된 모든 지식 베이스에서 사용자 질문과 관련된 텍스트 콘텐츠를 스캔하고, 결과를 통합해요. 이게 다중 경로 검색(Multi-path Retrieval) 모드의 기술적 흐름이에요.

이 방식은 "Context" 에 연결된 모든 지식 베이스를 동시에 질의해서, 여러 지식 베이스에 걸쳐 관련 텍스트 청크를 찾고, 사용자 질문과 일치하는 모든 콘텐츠를 수집한 뒤, 마지막으로 재순위화(Rerank) 전략을 적용해 사용자에게 응답할 가장 적절한 콘텐츠를 찾아요.

예를 들어 애플리케이션 A에 세 개의 지식 베이스 K1, K2, K3가 있다고 해 볼게요. 사용자가 질문을 보내면 이 지식 베이스들에서 관련 콘텐츠 여러 개가 검색되어 결합돼요.

가장 관련성 높은 콘텐츠를 정확히 찾기 위해 Rerank 전략을 사용해 사용자 쿼리와 가장 잘 관련된 콘텐츠를 찾아내고, 결과의 정밀도와 신뢰성을 높여요. 실제 Q&A 시나리오에서는 각 지식 베이스의 콘텐츠 출처와 검색 방식이 다를 수 있어요. Rerank 전략은 검색에서 반환된 혼합 콘텐츠를 관리하는 정교한 정렬 메커니즘 역할을 해요.

  • 의미 값(Semantic Value) 1 이 모드는 의미 검색만 활성화해요. 임베딩 모델을 사용해 벡터 거리를 계산하므로, 쿼리의 정확한 단어가 지식 베이스에 없어도 검색 깊이를 높일 수 있어요. 또 다국어 콘텐츠를 다룰 때 의미 검색은 서로 다른 언어 간 의미를 포착해 더 정확한 교차 언어 검색 결과를 얻을 수 있어요.
  • 키워드 값(Keyword Value) 1 이 모드는 키워드 검색만 활성화해요.

Rerank 모델

Rerank 모델은 사용자 질문과 각 후보 문서의 유사도 점수를 계산하는 외부 채점 시스템이에요. 의미 검색 결과를 개선하고, 유사도 점수가 높은 순서대로 정렬된 문서 목록을 반환해요.

이 방식은 약간의 추가 비용이 들지만, 의미 쿼리와 키워드 매칭이 결합된 콘텐츠나 다국어로 반환되는 콘텐츠처럼 복잡한 지식 베이스 콘텐츠를 다루는 데 더 능숙해요. Dify는 여러 Rerank 모델을 지원해요. 외부 Rerank 모델을 사용하려면 API Key를 제공해야 해요. Model Provider 페이지에 Rerank 모델의 API Key(예: Cohere, Jina AI 등)를 입력해요.

  • TopK: 사용자 쿼리와 가장 유사하다고 판단되는 텍스트 청크를 몇 개 검색할지 결정해요. 선택한 모델의 컨텍스트 윈도우에 따라 청크 수를 자동으로 조정하기도 해요. 기본값은 3이며, 숫자를 높일수록 더 많은 텍스트 청크를 검색해요.
  • 점수 임계값(Score Threshold): 청크가 검색되기 위한 최소 유사도 점수를 설정해요. 이 점수를 넘는 청크만 검색돼요. 기본값은 0.5예요. 임계값이 높을수록 더 큰 유사도를 요구하므로 검색되는 청크가 줄어들어요.

메타데이터 필터링(Metadata Filtering)

단계

  1. 필터 모드를 선택해요:

주의: 자동(Automatic) 모드는 문서 검색에 모델 선택이 필요해요.

  • 비활성(Disabled, 기본값): 메타데이터 필터링을 하지 않아요.
  • 자동(Automatic): 모델이 자동으로 메타데이터 조건을 생성해요.
  • 수동(Manual): 직접 정확한 메타데이터 조건을 지정해요.

출처: 공식 문서 - Integrate Knowledge within Apps

더 알아보기 (Learn more)