
Dify로 '회사의 매력을 전달하는 AI' 만들기 ~학생의 질문에 답변하는 채용 Q&A 앱~
요약
Dify와 ChatGPT를 활용하여 채용 관련 질문에 자동으로 답변하는 FAQ AI 앱 제작 방법을 소개합니다. Markdown 형식의 데이터를 지식 베이스로 구축하고 Chatflow를 통해 RAG 기반의 답변 시스템을 구현하는 과정을 다룹니다.
핵심 포인트
- Dify의 Chatflow를 활용한 RAG 기반 AI 앱 구축
- Markdown 형식을 이용한 효율적인 지식 베이스(Knowledge) 구성
- 하이브리드 검색 및 지식 검색 노드 설정 방법
- 채용 업무 자동화를 통한 일관된 기업 정보 전달
「잠시 질문해도 될까요?」
채용부에서는 일상적으로 이 말을 듣습니다.
많은 지원자와 관계를 맺는 부서인 만큼 문의도 많고, 질의응답은 피할 수 없는 업무입니다.
배정되자마자 마주치는 벽도 바로 이 “질의응답 대응”입니다.
「어라, 이 규칙은 어떻게 되어 있었지?」
「어떻게 전달해야 가장 이해하기 쉬울까?」
「전하고 싶은 내용이 너무 많아서 정리가 안 돼"
신입 사원은 자신만의 Q&A집을 만들며 대응에 익숙해지지만,
만약 이 Q&A집을 검색 가능한 데이터베이스로 만들 수 있다면?
신입 사원이 부임 직후부터 자신 있게 답변할 수 있을 뿐만 아니라,
머지않아 학생 스스로도 검색할 수 있게 된다면,
언제든 불안을 해소할 수 있는 “셀프 FAQ”가 실현됩니다.
회사의 매력을 더욱 정확하고 일관되게 전달할 수 있습니다.
채용 측도 학생 측도 기쁜, 그야말로 win-win인 구조입니다.
그래서 이번에 저는 Dify를 사용하여
「회사의 매력을 전달하는 AI」
라는 채용 FAQ 자동 답변 앱을 제작했습니다.
질문을 던지면 답변이 돌아오는 툴을 제작!
・Dify
・ChatGPT
・Markdown 형식으로 만든 Q&A집
질문을 Dify에 입력
↓
Dify에 등록한 Markdown 형식의 Q&A집에서 질문 내용을 검색
↓
Dify에 등록한 시스템 프롬프트 (System Prompt)를 바탕으로 답변을 작성
↓
답변이 표시됨
Dify에 로그인하여 「스튜디오 (Studio)」를 엽니다.
앱을 생성하기 위해 「처음부터 만들기 (Create from scratch)」를 클릭합니다.
이번에는 「챗 플로우 (Chatflow)」를 선택합니다.
이유는 사용자가 질문을 입력하고, 지식 (Knowledge)을 검색하여 답변하는 용도에 최적이기 때문입니다.
앱의 아이콘과 이름, 필요하다면 설명도 설정하여 생성을 선택합니다.
그러면 스튜디오가 열립니다.
AI에게 학습시킬 FAQ 데이터를 준비합니다.
이번에는 Excel로 작성했습니다.
Q&A 항목은 이미지를 참조하세요.
OpenAI에게 ③에서 작성한 FAQ 데이터를 Markdown 형식으로 변환하도록 요청합니다.
복사합니다.
복사한 Markdown 형식 데이터를 메모장에 붙여넣고,
파일명의 끝을 「.md」로 하고, 파일 형식을 「모든 파일」로 설정하여 저장합니다.
앱 화면의 「지식 (Knowledge)」 탭을 클릭합니다.
「+ 지식 베이스 생성」을 선택합니다.
④에서 작성한 Markdown 형식 파일을 추가합니다.
다음으로
아래 설정을 수행합니다.
・청크 (Chunk) 설정: 기존 설정
・인덱스 (Index) 방법: 고품질
・임베딩 (Embedding) 모델: 사용 중인 모델을 선택
・검색 설정: 하이브리드 검색 (Hybrid Search) 가중치 설정
「저장 및 처리」를 선택합니다.
추가한 지식의 상태가 「사용 가능 (Available)」로 되어 있으면 OK
「지식 검색 (Knowledge Retrieval)」 노드를 추가하여 등록한 FAQ를 검색할 수 있도록 설정합니다.
「사용자 입력 (User Input)」과 「LLM」 사이, 또는 왼쪽의 「+」 버튼을 클릭합니다.
추가할 수 있는 노드 목록에서 **「지식 검색 (Knowledge Retrieval)」**을 선택합니다.
추가된 지식 검색 노드를 클릭합니다.
지식 베이스의 오른쪽 「+」를 선택합니다.
작성한 지식 베이스를 선택하여 추가합니다.
설정이 필요한 것은 다음 4가지입니다.
・AI 모델
・컨텍스트 (Context)
・SYSTEM
・USER
먼저, LLM에서 사용할 AI 모델을 선택합니다.
다음으로 컨텍스트를 설정합니다.
지식 검색 노드에서의 검색 결과를 LLM으로 전달하는 설정입니다.
「LLM」 노드를 선택하고, LLM 설정 화면에 있는 **「컨텍스트 (Context)」**의 「변수 값 설정」을 클릭합니다.
지식 검색 → result (검색 결과)를 선택합니다.
마지막으로, SYSTEM과 USER 설정을 수행합니다.
각각 OpenAI에게 작성 및 확인을 요청합니다.
SYSTEM 프롬프트에서는 할루시네이션 (Hallucination)을 방지하기 위해,
등록된 답변 이외의 정보는 넣지 않도록 지시도 했습니다.
이번에 작성된 프롬프트는 다음과 같습니다.
・LLM의 SYSTEM에 프롬프트를 입력한다
・SYSTEM과 USER에 변수를 삽입한다
무사히 내용 가공 없이 제대로 답변이 나오게 되었습니다.
이번에는 ChatGPT와 함께 제작을 시도했습니다!
저 혼자였다면 절대 해내지 못했을, 노코드 (No-code) 제작을 도와준 조력자 히어로 같은 존재입니다.
다만, 히어로가 제 생각을 무엇이든 다 읽어줄 수 있느냐 하면...
물론 제가 말로 표현하지 않는 한 전달되지 않습니다.
(이미 그 정도가 된다면 신이겠지요

부탁을 드릴 때는 규칙도 확실하게 전달하는 것을 잊지 않으려 합니다.
이번 앱을 제작할 때,
・워드 검색 가능
・카테고리별로 질문을 역제안
・CodePen을 통한 앱 기능 추가
・학생도 이용할 수 있는 기능
을 목표로 했습니다✨
이번에는 일단 여기까지, 가장 베이스가 되는 부분까지만 진행하지만,
다시 한번 도움을 주는 히어로와 함께 만들어 보고 싶습니다

그리하여, 마치며 이번에 태그를 맺은 도움을 주는 히어로와도 다양한 경험을 했으므로 기록으로 남깁니다.
첫 번째 "시스템 프롬프트 (System Prompt)" 내용 확인 부족 → AI가 멋대로 답변을 생성해 버리는 에러
위의 ⑨번에서, OpenAI에 시스템 프롬프트 작성을 의뢰했을 때의 일입니다.
지식 검색 노드 (Knowledge Retrieval Node)를 추가하면, 검색 결과를 LLM으로 전달하는 설정을 합니다.
「LLM」 노드를 선택하고, LLM 설정 화면에 있는 **「컨텍스트 (Context)」**의 「변수 값 설정」을 클릭합니다.
지식 검색 → result (검색 결과)를 선택합니다.
또한, 컨텍스트 이용에 맞춘 프롬프트로 변경합니다.
다시 한번, OpenAI에 작성을 의뢰합니다.
작성된 시스템 프롬프트를 아무런 의심 없이 복사 & 붙여넣기 하여 실제로 구동해 보았더니...
멋대로 답변을 생성하여 대답해 버리는 현상이 발생했습니다.
시스템 프롬프트에 규칙 기재가 누락되어 있었습니다.
따라서, 다시 위 ⑨번으로 돌아갑니다.
두 번째 "나리지 (Knowledge)에 등록한 FAQ 데이터" 내용 부족 → 키워드 검색 시 답변이 돌아오지 않는 에러
Excel에서 FAQ 관련 키워드란을 모두 채우는 것이 힘들어서 방치해 두었던 것이 원인이었습니다. 그래서 이 수고를 어떻게든 해결할 수 없을지 OpenAI에 상담!
세상에, Excel 데이터를 전달하는 것만으로도 자동으로 입력해 준다고 합니다✨
곧바로 도전🔥
내용을 보니
제대로 들어있다!!!!!
OpenAI는 정말 못 하는 게 없네요.
따라서, 위 ⑥번으로 돌아갑니다.
참고로, 이 후에 Markdown 방식의 작성도 의뢰했는데,
두 번째 작성이라서 자동으로 다운로드 파일까지 만들어 주었습니다✨
세상에나...!!
세 번째 "Markdown 방식의 FAQ 데이터" 내용 확인 부족 → 내용이 다르게 변환되어 의도한 질문에 대한 답변이 없는 에러
전혀 생각한 대로 답변이 돌아오지 않습니다...
OpenAI와 상담하며 이것저것 설정을 변경해 보지만, 멋대로 작성한 답변을 해 버립니다.
도대체 왜 이러는 거야! 하며 곤란해하던 중,
OpenAI가 작성해 준 Markdown 방식의 FAQ 데이터를 자세히 살펴보니...
어라? 질문이 완전히 달라져 있어!!
게다가, 멋대로 생성되었다고 생각했던 답변이 등록되어 있습니다.
즉, 애초에 등록된 데이터가 틀렸을 뿐, 질문에 대한 답변은 제대로 하고 있었던 것입니다!


OpenAI에게 모든 것을 맡기는 것도 좋지 않네요.
그렇다고는 해도, Markdown 방식으로 수동 변환하는 것은 힘들다고 하여,
규칙을 전달했습니다.
그 결과, 정식 Markdown 방식의 FAQ 데이터를 나리지 (Knowledge)에 등록할 수 있었습니다✨
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기