Dify를 활용한 수업 Q&A 챗봇 만들기

소개

수업 운영에 있어 제가 배운 도구들을 가지고 자동화가 가능한 불필요한 반복 task가 무엇이 있을까 고민하였습니다.

  • 매학기 업로드해야하는 강의계획서, 강의개선보고서, 포트폴리오 작성(플립클래스) 등이 생각났습니다. 그 중 이번주까지 제출 기한이었던 강의개선보고서는 gemini를 통해 자동화까지는 아니여도 수월하게 작성할 수 있었습니다. 강의개선보고서의 항목은 강의정보(수업정보, 수업방법, 평가방법), 학점평가결과, 평가방법, 학생의 강의평가 결과 요약 및 교과목 개선을 위한 사항 기술 등으로 구성되어 있습니다. 이에 강의계획서, 학생들의 수강 소감 결과(학교 포털), 평가 결과 등의 자료를 주어서 항목별로 작성해달라고 해서 제출하였습니다. 이번 학기부터 양식이 바뀐 강의계획서도 이런 방법으로 조금 시간을 줄여 제출할 수 있었습니다.

  • 다음으로 typebot을 활용하여 수업전 학생들의 학습 준비도와 선호도에 대해 설문을 하면 좋겠다는 생각이 들어 간단한 방식으로 만들어 보았습니다. 해당 과목에 대한 인지도, 수강동기, 선호하는 팀 배정 방식, 협업 성향 등을 조사했습니다. 이제까지 첫 수업때 말로 질문했던 것을 typebot을 통해 진행한다면 학생들의 솔직하고 적극적인 참여가 있지 않을까 기대해 봅니다.

https://typebot.co/design-thinking

  • 다음으로 오늘 사례로 제시할 dify를 활용한 '수업 안내 Q&A 쳇봇' 만들기 였습니다. 수업 OT를 통해 수업 운영과 내용, 평가방식에 대한 설명을 함에도 불구하고 반복적으로 질문을 하거나 내용을 충분히 숙지하지 못한 채 학기를 보내는 학생들이 간혹 있습니다. 이들에게 OT 내용에 대한 Q&A 챗봇을 만들어 제공하면 교수에게 질문하는 대신 더 간편하게 정확한 답변을 통해 수업에 대한 이해가 가능할 것으로 생각되었습니다.

진행 방법

Dify를 활용하였고, 중간 중간 필요한 질문은 gemini를 활용하였습니다. 해당 내용은 AI스터디 중 HRD 자동화 스터디를 청강한 내용을 기초로 하였습니다.

  1. 우선 cloud.dify.ai/apps에 로긴하고 앱 만들기 중 [탬플릿에서 시작]하였습니다.

  2. 탬플릿 중 knowledge Retrieval을 선택하였고, 앱 아이콘과 이름을 설정하여 [생성]하였습니다.

    진행 중인 게임의 스크린샷
  3. Start 는 그대로 두고

  4. Knowdege Retrieval을 구성했습니다. 지식을 생성하고 첨부하는 공간인데요. 제 경우 지식으로 기존에 가지고 있었던 해당 수업의 OT 자료(구글 슬라이드), 강의계획서가 있어서 첨부하였습니다.

    그런데 첨부하는데 있어 시간이 조금 걸렸습니다. 저는 지식 첨부가 2개 이상 안되는 줄 알고 해당 자료들을 gemini의 gems를 통해 학생들이 질문할 만한 Q&A를 만들어 달라고 해서 준비했었습니다.

    https://gemini.google.com/share/87342aba8e57

    결과적으로 dify에서 지식 첨부에 시간이 걸렸을 뿐 안되는게 아니였습니다. 그래도 gemini 만들어 놓은 Q&A docx 자료도 있고 해서 앞서 준비한 OT 자료와 강의계획서와 함께 3개를 지식으로 첨부했고, 다른 항목들은 <HRD 자동화 스터디>에서 배운 내용대로 적용하였습니다.

    1. 지식 생성: 데이터 소스 선택 -> 텍스트 파일 업로드(DOCX, HTML, DOC, PDF, MD, XLSX, MARKDOWN, XML, MDX, CSV, PPTX, PROPERTIES, HTM, VTT, PPT, EML, XLS, MSG, EPUB, TXT을 (를) 지원합니다. 파일당 최대 크기는 15MB)

      • 청크 설정: 최대 청크 길이 1024 charaters, 청크 중첩 50 characters

      • 저장하고 처리

    2. 지식 추가(knowledge retrieval)

      • 지식 추가: OT 자료(pdf), 강의계획서(pdf), Q&A(docx)

      • 메타데이터 필터링: 자동 -> 모델 구성: gpt-4.1 -> temperature 0.7 등으로 설정

  5. LLM

    • 설정: 그대로 두고

    • 컨텍스트: knowldege retrieval 의 result 설정

  6. 게시하기

    다양한 옵션을 보여주는 컴퓨터 화면의 스크린샷
  7. 앱 실행

    디자인사고 수업 Q&A 챗봇

  8. 이것을 패들릿에 '버블(bubble)' 형태로 임베딩하면 좋을 것 같아서 시도하였으나 gemini에 물어보니 개발자 권한이 아니면 불가하다는 답변을 받았습니다. 안다고 해도 복잡할 것 같기도 하고 해서 게시물의 형태로 링크를 제공하였습니다.

    패들릿

결과와 배운 점

  1. 우선 여러 생성형 ai 앱들을 활용하니 재미있었고, 학생들의 호기심과 관심을 유도하는데 도움이 될 것이라 생각했습니다. 수업 초기에는 쑥쓰럽고 어색한 환경으로 인해 참여하지 못하는 학생들의 참여도를 높이기에 적절한 방식이라는 생각이 들었습니다.

  2. typebot이나 dify 모두 수박 겉핥기 식의 피상적인 수준에서 진행한 것이여서 아쉬웠고, 동시에 더 깊이 있게 들어가는 것이 필요하고 가능할까 하는 생각도 들었습니다. 스터디 영상을 통해 지시받은 대로 해서 결과물이 만들어졌으나 '왜?'라는 질문이나 다른 옵션들에 대한 충분한 이해가 없어서 차후에 다른 필요나 요구에 의해 해당 앱들을 사용했을 때 적절하게 사용가능할까 하는 생각도 들었습니다. 어쩔 수 없이 연습이 필요하겠죠?

  3. 사용한 앱들은 교수 내용보다는 학습자의 참여 증진이나 시간 효율성의 목적으로 사용된 것입니다. notebookLM 등을 통해 교수 내용의 깊이와 범위를 확장시킬 수 있는 방법을 고민하고 연습해보고 싶습니다.

도움 받은 글 (옵션)

20기 [HRD자동화] 스터디 영상이 많이 도움되었습니다.

1
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요