윤누리
윤누리
Admin
🧙 AI 위자드
🎻 루키 파트너
🌈 지피터스금손
🚀 SNS 챌린지 달성자

Dify Knowledge API 를 활용해 매주 지식 파일이 바뀌는 챗봇 만들기 2탄 (with 클로드 코드)

소개

  • 주차 별로 다른 지식을 가진 챗봇을 찍어내듯이 만들고 싶다! 디벨롭시켰습니다.

진행 방법

지난 주차까지 챗봇 자동화를 했는데요. 몇 가지 많은 문제들이 발견되었습니다.

  • 클라우드 버전 dify를 사용하고 있었는데요, 자꾸 클로드코드가 Console API를 달라고 하는데... 챗GPT와 대화를 해보니 콘솔 API라는건 없는 것 같았어요. (클로드코드 이녀석...)

  • 그 말인 즉슨 챗봇을 자동으로 생성하거나, 복제하거나, 외부 지식 연동도 잘 안된다는 것을 뜻했습니다.

  • 대신에 - 클라우드 버전(Dify Cloud)에서는 제공 안 되는 기능도, 자가호스팅 버전에서는 내부 API를 직접 호출하거나 소스 수정으로 제어할 수 있다고 합니다.

  • 이미 Docker로 로컬에 Dify를 띄워두었기 때문에 클라우드에서 로컬로 전향하기로 했습니다. (원래 언젠가는 할 일이었음...)

  • 대신 제 Dify 로컬에 접근을 하려면 JWT 토큰이라는 것을 받아야한다고 합니다.

    • JWT 토큰이라는 것을 받으면 됨

      • JWT(JSON Web Token) 은 웹에서 많이 쓰이는 인증(Authorization)과 정보 전달을 위한 토큰 방식이에요.

        • JSON 형식으로 정보를 담고 있고,

        • 이 JSON을 Base64로 인코딩한 문자열 3부분(.으로 구분됨)으로 구성돼 있어요:

          1. Header: 어떤 알고리즘(예: HS256)으로 서명했는지

          2. Payload: 사용자 ID, 권한(role), 만료시간(exp) 같은 정보(=Claims)

          3. Signature: 토큰 위변조를 막기 위한 서명

  • 발급받는 방법

    • dify 로컬 앱으로 들어가서 개발자 도구 > network > fetch > api 누르면 나옴.. 아주 보물찾기

      중국어 항목 목록을 보여주는 웹 페이지의 스크린 샷

  • API 통신으로 내가 만든 dify 앱을 한 번에 불러올 수 있습니다.

항목 목록을 보여주는 웹 페이지의 스크린 샷
  • 그런데 구현하는 과정에서 기존의 기획을 마음대로 바꿔버려서 다시 호통을 쳤습니다.

  • 3주차 실습된 내용을 가져와서 자동 챗봇을 만들게 해줘라!

[실습 문서 예시]

이제 회사별 프로그램을 선택할 수 있게 되었습니다.

슈퍼베이스라는 단어가있는 웹 사이트의 스크린 샷

  • 하지만 계속 오류가 남... 다음 발표 때는 완성해서 가져오겠습니다. 😭

1
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요