Dify로 쉽게 나만의 챗봇 만들기

Dify를 사용하여 프롬프트 설정, 에이전트 기능등을 포함한 챗봇을 쉽게 만들어 봅시다.
이병현's avatar
Aug 26, 2024
Dify로 쉽게 나만의 챗봇 만들기
 
 

Dify란?

notion image
 
Dify는 오픈 소스를 기반으로 노코드 및 로우코드 방식으로 LLM(대규모 언어 모델) 앱을 만들 수 있는 플랫폼입니다. LLM을 이용하여 쉽게 챗봇을 만들 수 있으며, RAG(검색 증강 생성), 에이전트, 워크플로우 등 다양한 사용자와의 상호작용을 시스템에 쉽게 통합할 수 있습니다.
 
플랫폼 대시보드에서 한국어를 지원하며, 간단한 설정을 통해 챗봇을 배포 혹은 서비스에 추가도 간단하게 할 수 있습니다.
 
notion image
 
Dify는 LLM에 필요한 여러 모델들을 연결하여 사용할 수 있습니다. 앞으로 계속해서 추가되는 여러 LLM 모델들을 빠르게 사용해보기에 매우 유리합니다.
 
Dify 이외에도 여러 AI 및 LLM을 이용한 챗봇 서비스들이 있지만, Dify는 많은 개발자들과 프로덕트 메이커들에게 사랑을 받고 있는 서비스 중 하나입니다.
 

도입해보기 좋은 케이스

 
서비스에 챗봇이 필요하고, LLM을 활용해 사용자에게 더 편리한 경험을 제공하고자 한다면, 도입하는 것을 고려해볼 수 있습니다.
 
간단한 설정만으로 쉽게 서비스에 적용할 수 있어, PoC(개념 증명) 형태로 챗봇을 사용해보려는 경우 특히 유용합니다.
 
뿐만 아니라, 무료 플랜도 제공되므로 직접 챗봇과 LLM을 관리하는 비용을 들이기 전에, 이 방법이 문제 해결에 적합한지 쉽게 확인할 수 있습니다.
 
무료 플랜은 제한적으로 사용하실 수 있지만, OpenAI의 ChatGPT나 Anthropic의 Cladue의 API의 키를 추가하거나 혹은 모델을 추가하여 사용하실 수 있습니다.
 

챗봇 만들어보기

Dify를 사용하기 위해서는 회원가입이 필요합니다. 회원가입을 진행 후 로그인을 하면 대시보드가 나오게 됩니다.
 
notion image
 
대시보드에서 “템플릿에서 시작”을 선택하여서 쉽게 챗봇을 생성해봅시다.
notion image
 
저는 템플릿 중 투자 정보를 요약해주는 챗봇 템플릿을 선택해보았습니다.
notion image
 
챗봇을 생성하고 난 뒤 해당 챗봇이 어떻게 구성되어있는지 확인해 봅시다.
 
“단계” 부분은 사전 프롬프트로 LLM에게 지시사항을 전달할 수 있습니다. 이 부분은 사용자에게 보여지지 않습니다. 사전 프롬프트를 잘 설정하면 더 나은 응답을 만들 수 있으므로 잘 정의할수록 좋습니다.
 
“변수” 부분은 사전 프롬프트에서 사용할 수 있는 입력 값을 의미합니다. 위의 경우 company 로 되어 있습니다. 해당 변수는 사전 프롬프트에서 {{company}} 와 같은 형태로 사용하게 됩니다.
 
notion image
“컨텍스트” 부분은 기존의 시스템에서 가지고 있는 정보들을 연결해서 사용할 수 있습니다. 파일을 직접 업로드 하는 것 뿐만 아니라, 노션 혹은 웹 사이트에서 직접 가져오는 것도 가능합니다.
 
또한 추가된 데이터를 전처리 하거나 추가 작업등이 가능합니다. 실제 챗봇을 사용하게 된다면 매우 유용한 기능입니다.
notion image
”도구” 부분은 익스텐션으로 챗봇이 더 다양한 활동을 할 수 있게 도와줍니다. 웹 사이트의 데이터를 직접 불러오는 것을 넘어서 외부 서비스의 API을 이용하는 것도 가능합니다.
notion image
 
현재 설정에서는 야후 파이낸스의 도구들이 연결되어있는 것을 보실 수 있습니다.
 
notion image
외에 기능들은 사용자에게 추천 응답을 준다던지, 여러가지 편리한 기능들을 제공하고 있습니다.
 
notion image
 
챗봇을 사용하면 사전 설정에 추가되어져있던 야후 파이낸스 도구를 이용하여 데이터를 가져와 응답을 만드는 것을 볼 수 있습니다.
 
코딩을 통해 LLM과 외부 서비스의 API를 연결하여만 할 수 있던것이 Dify를 통해 간단한 설정만으로 만들 수 있게 되었습니다.
 
이렇게 설정된 챗봇을 서비스에 연결하는 법을 알아봅시다.
 

서비스에 챗봇 추가해보기

notion image
 
오른쪽 위에 있는 발행 버튼을 눌러주세요. 발행 버튼을 누르면 사이트에 삽입이라는 메뉴가 보입니다.
notion image
 
서비스의 오른쪽 아래의 작은 아이콘에서 챗봇을 띄우는 형태인 2번째 형태를 사용하겠습니다.
notion image
 
서비스에 코드를 추가하면 작은 플로팅 아이콘이 추가됩니다. 아이콘을 클릭하면 설정한 챗봇을 바로 사용할 수 있게 됩니다.
 
이렇게 아주 간단하게 서비스에 추가하실 수 있게 됩니다.
 
이후 여러가지 설정, 커스텀이 필요한 경우 Dify에서 설장하고 배포를 새롭게 하면 됩니다.
 
⚠️
챗봇을 생성하면 기본적으로 퍼블릭하게 사용할 수 있는 상태가 됩니다. 퍼블릭 접근을 차단하려면 모니터링 메뉴에서 퍼블릭 접근을 꺼주세요.
 

다음 단계로 나아가보기

 
Dify의 장점은 간단하고 쉽게 LLM 챗봇을 사용해보고 서비스에 연결할 수 있다는 점입니다.
 
하지만, 챗봇을 추가하는 것에 그치지 않고 서비스를 점차 고도화 시키기 위해 여러가지 해야할 것들이 존재합니다.
 
예를 들어 퍼블릭하게 사용되는 것을 막기 위해 직접 서비스에서 챗봇의 API를 통해 연결해야 하는 것들이 있습니다.
 
Dify가 모든 문제를 마법처럼 해결해주지는 않지만, 우리의 서비스에 챗봇이 얼마나 필요한지, LLM을 꼭 써야하는지 등을 평가해보기에는 매우 유용합니다. 단순히 테스트하거나 PoC를 진행해보고 싶다면 우선 도입해보는 것도 좋은 선택입니다.
 
 
 
Share article
Subscribe to our newsletter
RSSPowered by inblog