Lala's tower

dify로 RAG를 뚝딱 만들어 버리자

dify로 RAG를 뚝딱 만들어 버리자

2024-07-19 22:12:18

챗GPT에게 물어볼 수 있는 것은 일반적인 내용에 한정됩니다. 신제품의 매뉴얼, 어느 회사의 내규, 우리 집안의 역사를 챗봇에게 물어보고 답을 받아 볼 수 있는 방법이 있을까요? 이 방법 중하나가 RAG인데 dify로 아주 쉽게 만들 수 있습니다.

dify로 RAG를 만드는 템플릿

RAG란

RAG(Retrieval-Augmented Generation)는 검색 증강 생성을 의미합니다.
쉽게 정리하면 다음의 과정의 서비스입니다.

  1. 내 문서를 첨부하고 이용자는 문서 내용을 질문합니다.

  2. 이용자의 질문 내용과 관련된 문서에서 검색해서 추출합니다.

  3. 추출된 내용을 AI에서 전달하고 질문 내용의 답변이 되도록 정리 요청합니다.

위는 이용자 입장에서의 순서입니다.
1번은 과정에서 문서를 첨부하면 일정한 글자 수로 문서를 자릅니다.

dify로 RAG

RAG를 구현하려면 오픈소스를 사용하더라도 쉽지않습니다만 dify를 이용하면 10분도 안걸려 완성할 수 있습니다.

완성된 app은 API로 호출할 수 있으니 외부 UI로 또는 카카오톡으로도 구현할 수 있습니다.

dify 초기 설정

dify 회원 가입 후 몇가지 설정이 필요합니다.

우측 아이콘 클릭/settings를 누르고 Model Provider를 클릭합니다.

  1. OpenAI API-Key

  2. cohere API-Key

위 2가지의 설정이 필요합니다.
OpenAI는 첨부된 문서를 검색하기 좋은 형태로 변환해주고,
검색 추출한 문서를 질문에 맞춰 정리해주는 용도입니다.

cohere는 문서를 검색하는 성능을 높여주는 용도입니다.
OpenAI는 유료, cohere는 상용이 아닌, 혼자 사용하는 용도면 무료입니다.

knowledge만들기

knowledge는 문서를 첨부하고 검색하기 좋게 가공하는 과정입니다.
dify를 로그인하면 상위에 4개의 메뉴가 보입니다.

Explore, Studio, Knowledge, Tools

  1. 여기서 Knowledge 를 선택합니다.

  2. Create Knowledge를 클릭합니다.

  3. Drag and Drop File 영역에 문서를 첨부합니다.

  4. Next버튼을 누릅니다.

  5. Retrieval setting에서 'Hybrid Search'를 선택합니다.

  6. Go to document를 클릭합니다.

  7. Retrieval Testing을 클릭하고 질문하고 검색 테스트를 합니다.

Studio 만들기

Explore, Studio, Knowledge, Tools 4가지 중 Studio를 선택합니다.

  1. Create from Template을 선택합니다.

  2. Knowledge Retrieval+Chatbot의 'use this template'을 클릭합니다.

  3. work flow가 보이는데 Knowledge+Retrieval를 선택하고 오른쪽에 KNOWLEDGE+를 눌러 위에서 만든 knowledge를 선택합니다.

  4. 우측 Publish/Update를 누르고 'Run App'을 누르면 실행됩니다.

실행

문서 내용 관련 질문을 하면 답변되는 것이 확인되실 겁니다.
과정이 복잡하여 영상으로도 만들어 둘 예정입니다.

dify로 SVG Logo Design