
안녕하세요.
IT세상입니다. 😊
회사 규정이나 제품 설명서를 찾기 위해 긴 PDF 문서를 처음부터 끝까지 확인한 경험이 있으신가요?
문서가 한두 장이라면 직접 읽어도 됩니다. 하지만 매뉴얼과 규정이 수십 페이지로 늘어나면 필요한 내용을 찾는 데 시간이 오래 걸립니다. 같은 질문을 여러 사람이 반복해서 물어보는 상황도 생깁니다.
이럴 때 PDF 문서를 등록하고 자연어로 질문할 수 있는 전용 AI 챗봇을 만들면 편리합니다.
이번 글에서는 Dify PDF 챗봇 만들기를 직접 진행해 보겠습니다. 실습용 규정 문서를 지식베이스에 등록하고, 문서에 있는 내용을 찾아 답변하는 챗봇을 만든 뒤 웹 링크로 공개하는 과정까지 다룹니다.
별도의 프로그램이나 코드는 사용하지 않습니다. Dify Cloud의 무료 Sandbox 계정으로 기본 구조를 따라 할 수 있습니다.

이번 실습에서는 가상의 회사 규정 PDF를 등록하고 직원의 질문에 답하는 챗봇을 만듭니다.
이처럼 사용자의 질문과 관련된 자료를 먼저 검색한 뒤 AI가 답변하도록 만드는 방식을 RAG라고 합니다.
Dify의 기본 기능과 Chatbot, Chatflow, Workflow의 차이는 앞서 작성한 Dify 소개 글에서 자세히 설명했습니다.
Dify Cloud의 무료 Sandbox 계정으로 기본 실습을 진행할 수 있습니다.
내용을 직접 확인할 수 있는 짧고 구조가 명확한 PDF를 준비합니다.
Dify AI 크레딧을 사용하거나 지원되는 모델 공급자의 API Key를 연결합니다.
실습 결과를 정확히 확인하려면 내용이 짧고 답이 분명한 PDF를 사용하는 것이 좋습니다.
아래 내용은 실제 회사 규정이 아닌 챗봇 테스트용 가상 문서입니다. 내용을 문서 편집기에 붙여 넣은 뒤 PDF로 저장하세요.
문서를 저장할 때 파일 이름은 아래처럼 알아보기 쉽게 지정합니다.
스캔한 이미지 형태의 PDF보다 글자를 선택하고 복사할 수 있는 텍스트 PDF가 실습에 적합합니다.
챗봇이 답변하려면 대화용 AI 모델이 필요하고, 고품질 지식 검색을 사용하려면 문서 내용을 숫자 형태로 변환하는 임베딩 모델이 필요합니다.
Dify AI 크레딧이 남아 있다면 별도의 API Key 없이 지원 모델을 시험할 수 있습니다.
크레딧이 없거나 원하는 모델을 직접 사용하려면 해당 모델 공급자의 API Key를 등록해야 합니다. 이 경우 모델 사용량에 따라 공급자 측에서 별도 비용이 발생할 수 있습니다.
Dify의 상단 메뉴에서 Knowledge로 이동합니다.
지식베이스 이름은 아래처럼 작성합니다.
무료 Sandbox에서는 한 번에 너무 많은 파일을 올리기보다 PDF 한 개부터 테스트하는 것이 좋습니다.
Dify는 긴 문서를 여러 개의 작은 단위로 나눠 저장합니다. 이 작은 단위를 청크라고 합니다.
사용자가 질문하면 PDF 전체를 AI에게 전달하는 것이 아니라, 질문과 관련성이 높은 청크를 찾아 답변에 사용합니다.
이번 문서는 제목과 짧은 문단으로 구성돼 있으므로 General 모드로 시작하면 됩니다.
| 설정 | 이번 실습 권장값 | 설명 |
|---|---|---|
| Chunk Mode | General | 짧고 구조가 단순한 문서에 사용 |
| Delimiter | 문단 구분 기준 | 각 규정이 서로 섞이지 않도록 분리 |
| Chunk Length | 기본값에서 미리보기 | 한 규정이 지나치게 잘리지 않는지 확인 |
Preview에서 연차휴가, 병가, 식대처럼 서로 다른 규정이 각각 이해할 수 있는 문장 단위로 나뉘는지 확인합니다.
“야근 식대는 15,000원”과 “7일 이내에 영수증 제출”이 서로 다른 청크로 완전히 분리되면 답변에서 일부 조건이 빠질 수 있습니다. 관련 문장이 함께 남도록 분할 결과를 확인하세요.
이번 실습에서는 질문의 표현이 문서와 정확히 같지 않아도 의미를 이해해 찾을 수 있도록 High Quality 인덱스를 사용합니다.
검색 방식은 처음에는 Vector Search로 시작해도 됩니다. 복잡한 문서와 정확한 단어 검색이 함께 필요할 때는 Hybrid Search를 비교할 수 있습니다.
| 검색 방식 | 특징 |
|---|---|
| Vector Search | 질문과 문서의 의미가 비슷한 내용을 검색합니다. |
| Full-Text Search | 질문에 포함된 정확한 단어나 표현을 중심으로 검색합니다. |
| Hybrid Search | 의미 검색과 정확한 단어 검색을 함께 활용합니다. |
Rerank 모델은 처음에는 사용하지 않아도 됩니다. 검색 결과가 많거나 비슷한 문서가 여러 개일 때 추가로 비교하세요.
지식베이스 처리가 완료되면 바로 챗봇을 만들기 전에 검색 테스트를 진행합니다.
지식베이스 왼쪽 메뉴에서 Retrieval Testing을 선택하고 아래 질문을 입력합니다.
질문마다 관련 규정이 검색 결과의 상단에 나타나는지 확인합니다.
예를 들어 “야근하면서 밥을 먹으면 한도가 얼마인가요?”라고 표현해도 15,000원 식대 규정이 검색된다면 의미 검색이 정상적으로 작동하는 것입니다.
상단 메뉴에서 Studio로 이동한 뒤 새로운 애플리케이션을 만듭니다.
이번 실습은 문서를 검색해 대화형으로 답하는 기본 구조이므로 복잡한 Workflow보다 Chatbot이 적합합니다.
Chatbot 설정 화면에서 Context를 찾은 뒤 Add를 누릅니다.
앞에서 만든 테스트 회사 휴가·비용 규정 지식베이스를 선택하고 추가합니다.
이제 사용자가 질문을 입력하면 Dify가 지식베이스에서 관련 내용을 찾아 AI 모델의 답변에 전달합니다.
AI가 일반 지식으로 답하거나 내용을 추측하지 않도록 역할과 제한 조건을 구체적으로 작성합니다.
프롬프트에 “문서 내용만 답하라”고 작성해도 AI의 잘못된 답변 가능성이 완전히 없어지는 것은 아닙니다. 실제 서비스에서는 질문과 답변 기록을 계속 확인해야 합니다.
Add Features 또는 추가 기능에서 Citation and Attribution을 활성화합니다.
출처 표시를 켜면 사용자는 답변이 어떤 문서 내용을 참고했는지 확인할 수 있습니다.
규정이나 제품 사양처럼 근거 확인이 중요한 챗봇에서는 출처 표시를 사용하는 것이 좋습니다.
사용자가 무엇을 질문해야 할지 쉽게 알 수 있도록 첫 화면 문구를 추가합니다.
추천 질문도 함께 설정하면 테스트와 실제 사용이 편리합니다.
화면 오른쪽의 Debug and Preview에서 문서 안에 있는 질문과 없는 질문을 모두 테스트합니다.
| 테스트 질문 | 확인할 결과 |
|---|---|
| 연차는 언제 신청하나요? | 3영업일 전이라는 답변 |
| 병가를 4일 사용하면요? | 진단서가 필요하다는 답변 |
| 야근 식대가 18,000원이면 전액 가능한가요? | 한도가 15,000원이라는 답변 |
| 출산휴가 규정을 알려주세요. | 등록된 문서에서 확인할 수 없다는 답변 |
문서에 없는 출산휴가 질문에 임의의 규정을 만들어 답한다면 프롬프트의 제한 문구를 더 강하게 작성해야 합니다.
답변은 정확하지만 관련 출처가 표시되지 않는다면 Citation and Attribution 설정과 지식베이스 연결 상태를 다시 확인하세요.
답변 테스트가 끝났다면 오른쪽 위의 Publish를 누릅니다.
화면에 Publish Update가 표시되면 현재 설정을 게시합니다. 이후 생성된 웹 앱 주소를 복사할 수 있습니다.
웹 앱 주소를 공유하면 사용자는 별도의 프로그램을 설치하지 않고 브라우저에서 챗봇을 사용할 수 있습니다.
홈페이지에 넣어야 한다면 Embed 기능을 사용하거나 API를 이용해 기존 서비스와 연결할 수 있습니다. 처음에는 웹 앱 링크로 소수의 사용자에게 테스트한 뒤 공개 범위를 넓히는 편이 안전합니다.
| 문제 | 확인할 내용 |
|---|---|
| PDF 글자가 제대로 나오지 않음 | 이미지로 스캔된 PDF인지 확인하고 텍스트 PDF로 다시 만듭니다. |
| 관련 문서를 찾지 못함 | Retrieval Testing에서 질문을 입력하고 분할 결과와 검색 방식을 확인합니다. |
| 답변에서 일부 조건이 빠짐 | 서로 관련된 문장이 다른 청크로 지나치게 나뉘지 않았는지 확인합니다. |
| 문서에 없는 내용을 답함 | 근거가 없으면 답하지 말라는 프롬프트를 강화하고 검색 결과를 확인합니다. |
| 출처가 표시되지 않음 | Citation and Attribution이 켜져 있는지 확인합니다. |
| 모델을 선택할 수 없음 | Model Provider 설치, AI 크레딧과 API Key 설정을 확인합니다. |
| 수정 내용이 웹 앱에 반영되지 않음 | 변경 후 Publish 또는 Publish Update를 다시 실행합니다. |
| 구분 | 무료 Sandbox | 유료 요금제 |
|---|---|---|
| 추천 목적 | 학습과 소규모 테스트 | 실제 사용자 대상 운영 |
| 문서 업로드 | 소수 파일을 나눠 업로드 | 여러 파일을 한 번에 처리 가능 |
| 처리 속도 | 표준 처리 | 우선순위가 높은 문서 처리 |
| 운영 규모 | 개인 실습과 내부 검증 | 문서와 사용자가 많은 서비스 |
PDF 한두 개로 기본 RAG 구조를 배우는 목적이라면 무료 Sandbox로 충분합니다.
다만 Dify 이용료와 AI 모델 사용료는 구분해야 합니다. 자신의 API Key를 연결하면 질문과 답변, 문서 임베딩 사용량에 따라 모델 공급자 비용이 별도로 발생할 수 있습니다.
휴가 규정, 비용 처리, 장비 사용법과 업무 절차를 등록해 반복 질문을 줄일 수 있습니다.
강의 자료와 학습 노트를 등록해 시험 범위의 개념을 질문하는 학습용 챗봇을 만들 수 있습니다.
작성 규칙, 카테고리 운영 기준과 키워드 자료를 등록해 글 작성 전에 규칙을 확인하는 내부 챗봇으로 활용할 수 있습니다.
제품 API 문서와 개발 규칙을 지식베이스로 만들고 API를 이용해 기존 서비스에 연결할 수 있습니다.
제품 설명서, 배송 정책과 환불 기준을 등록해 상담원이 필요한 내용을 빠르게 찾도록 도울 수 있습니다.
무료 Sandbox에서 지식베이스와 Chatbot을 만들 수 있습니다. 남아 있는 AI 크레딧을 사용하거나 자신의 모델 API Key를 연결해야 실제 답변을 생성할 수 있습니다.
무료 환경의 일반 파일 업로드는 한 번에 최대 5개, 파일당 최대 15MB로 안내됩니다. 많은 문서를 한 번에 올리는 기능은 상위 요금제에서 제공될 수 있습니다.
이미지로만 구성된 PDF는 텍스트가 정상적으로 추출되지 않을 수 있습니다. 먼저 OCR로 글자를 인식시키거나 텍스트가 포함된 PDF로 변환한 뒤 사용하는 것이 좋습니다.
지식베이스를 연결하고 문서에 없는 내용은 답하지 말라는 프롬프트를 작성할 수 있습니다. 하지만 잘못된 답변 가능성을 완전히 제거할 수는 없으므로 출처 표시와 로그 검토가 필요합니다.
Dify의 웹 앱을 공유하거나 Embed 기능으로 홈페이지에 삽입할 수 있습니다. 개발자는 API를 이용해 원하는 화면과 서비스에 연결할 수도 있습니다.
Dify PDF 챗봇을 만드는 과정은 생각보다 복잡하지 않습니다.
먼저 PDF 문서를 지식베이스에 등록하고 문서 분할 결과를 확인합니다. 그다음 검색 테스트에서 질문과 관련된 내용이 제대로 검색되는지 점검합니다.
검색이 정상적으로 작동하면 Chatbot의 Context에 지식베이스를 연결하고, 문서에 없는 내용은 추측하지 않도록 프롬프트를 작성합니다.
마지막으로 출처 표시 기능을 켜고 문서 안의 질문과 문서에 없는 질문을 모두 테스트한 뒤 웹 앱으로 게시하면 됩니다.
가장 중요한 단계는 AI 모델 선택이 아니라 문서와 검색 결과를 확인하는 것입니다. 검색된 근거가 정확해야 AI도 더 안정적인 답변을 만들 수 있습니다.
| Dify란? 코딩 없이 무료 AI 챗봇 만드는 초보자용 플랫폼 (2026 최신판) (0) | 2026.08.02 |
|---|---|
| Devin Desktop 사용법|AI 에이전트로 웹페이지 만들고 오류까지 수정하기 (2026 최신판) (0) | 2026.07.28 |
| Windsurf AI란? Devin Desktop으로 바뀐 AI 코딩 도구의 모든 것 (2026 최신판) (0) | 2026.07.27 |
| Cursor AI 사용법|코딩 몰라도 웹사이트 만드는 방법 (2026 최신판) (0) | 2026.07.27 |
| GPT가 스스로 해킹했다? GPT-5.6 출시 뒤 터진 보안 사고·의료 소송 총정리 (0) | 2026.07.26 |