Dify(디파이) 노코드 AI구축 기초부터 실무 가이드
실무에서 Dify(디파이)를 도입해본 경험이 있는 필자입장에서 왜 Dify(디파이)를 추천하는지 그 이유를 설명합니다. Dify를 한마디로 말하면, "AI 앱개발을 단순화하여, 누구나 자신의 아이디어를 현실로 만들 수 있는 플랫폼"입니다.
AI앱개발에는 복잡한 요소들이 엄청나게 필요합니다. 그러나, Dify는 그런 복잡함을 대폭 줄여줍니다. 그래서 필자나 독자는 아이디어의 실현에 집중할 수 있다는 것입니다.
Dify(디파이)를 추천하는 주요 이유는 다음과 같습니다.
오픈소스이다
노코드, 로우코드로 앱 개발이 가능하다
작성한 앱을 API호출할 수 있다
로컬 환경에서도 실행할 수 있다.
이 4가지 특징이 기존 AI 앱 개발의 장벽을 크게 낮춰줍니다.
Dify(디파이)의 큰 특징 중 하나는 오픈소스라는 점입니다. 즉, 소프트웨어의 설계도(소스코드)가 공개되어 있습니다. 누구나 그 내부를 확인하고, 개선할 수 있다는 것입니다.
이것이 왜 중요할까요?
우선 안심하고 사용할 수 있기 때문입니다. 가전제품을 구매할 때 내부가 보이지 않는 블랙박스보다, 구조가 밝혀진 제품이 더 안심되지 않을까요? 고장나면 부품을 교체해 스스로 수리할 수도 있습니다. 이와 마찬가지로 Dify(디파이)는 내부설계도(소스코드)가 공개되어 있으므로, 데이터가 어떻게 다뤄지는지, 위험한 부분은 없는지 누구나 확인할 수 있습니다. 다음은 모두가 같이 더욱 나은 방향으로 개선할 수 있기 때문입니다.
Dify(디파이)는 전세계 개발자들이 모이는 GitHub라는 장소(리포지토리)에 공개되어 있습니다. 여기서는 누구든지 '이 부분이 사용하기 불편하다', '이런 기능이 있으면 좋겠다'라는 제안을 할 수 있습니다. 버그(불량)를 발견하면 보고도 할 수 있습니다. 그리고 그런 목소리들을 반영하면서 제품은 매일매일 진화해 갑니다.
이는 특히 중요한 것이 생성형 AI의 세계입니다. 어제의 최신기술이 오늘은 구식이 될 정도로 진화 속도가 빠릅니다. 그런 초고속 변화하는 세계에서는 많은 사람들의 눈과 지혜를 모을 수 있는 오픈소스라는 형태가 매우 이치에 맞는 것입니다.
Dify(디파이)의 직관적인 인터페이스가 놀라운 점은 프로그래밍 기술이 없이도 AI앱을 만들 수 있다는 점입니다. 예를 들어, 챗봇을 만들기 위해 복잡한 설정이 필요하지 않습니다. 버튼만 클릭하면 됩니다. 또한, RAG(검색증강생성), 에이전트(자율형 AI), 워크플로우(자동화 시스템)와 같은 고급기능도 쉽게 구현할 수 있습니다. 더 나아가, 여러가지 LLM을 자유자재로 사용할 수 있습니다.
RAG는 이런 형태?
RAG(검색증강생성)는 LLM의 응답능력과 정보검색을 결합한 기술입니다. 예를 들어, 사내문서나 기술문서를 업로드하기만 하면, 이를 바탕으로 질문에 답해주는 AI시스템을 만들 수 있습니다. 데이터베이스에 대한 지식이 필요없습니다.
AI 에이전트의 방식은?
워크플로우는 복잡한 업무 프로세스를 AI로 자동화하는 메커니즘입니다. 예를 들어, 잠재고객분석부터 제안서 작성까지 일련의 과정을 자동화할 수 있습니다. 또한, 대량의 데이터를 한번에 처리(배치처리)하는 것도 가능하며, 처리된 데이터를 CSV파일로 다운로드할 수도 있습니다.
AI 워크플로우는?
워크플로우는 복잡한 업무 프로세스를 AI로 자동화하는 메커니즘입니다. 예를 들어, 잠재고객분석부터 제안서 작성까지 일련의 과정을 자동화할 수 있습니다. 또한, 대량의 데이터를 한번에 처리(배치처리)하는 것도 가능하며, 처리된 데이터를 CSV파일로 다운로드할 수도 있습니다.
여러가지 LLM을 자유롭게
Dify(디파이)의 놀라운 점은 다양한 LLM을 자유롭게 사용할 수 있다는 것입니다. GPTs와 같은 다른 플랫폼은 대체로 OpenAI모델에 한정되지만, Dify(디파이)는 다릅니다. 또한 프로그래밍 없이도 다양한 LLM의 API를 호출할 수 있습니다. 새로운 LLM이 출시되면 바로 테스트해볼 수 있습니다. AI업계에서는 어제의 최강 모델이 오늘에는 2위로 내려가는 경우가 흔하며, 고가의 LLM API비용이 하루만에 절반으로 내려가는 경우도 있습니다. 그런 상황에서 신속하게 LLM을 전환할 수 있는 것은 매우 중요합니다. 얼마나 빠르게 최적의 LLM으로 전환할 수 있느냐가 앱개발에서 이러한 대체 가능성을 항상 보장하는 핵심요소입니다. 이 유연성과 확장성은 AI앱의 개발과 연구에 있어 헤아릴 수 없는 가치를 가지고 있습니다.
Dify(디파이)로 만든 앱은 웹API로 공개할수 있습니다. 즉, 기존 시스템과 Dify(디파이)를 쉽게 연동할 수 있습니다. 예를 들어, 사내 전자상거래 쇼핑몰에 상품 추천 기능을 추가하거나, 사내 검색시스템에 AI를 결합할 수 있습니다. 프로그램 제어는 사용자측 앱에 맡기고 자연어처리와 추론을 Dify(디파이)에 맡기는 방식으로 사용할 수 있습니다. 엔지니어들은 이것을 BaaS(Backend as a Service)라고 부릅니다.
또한, RAG(검색증강생성)의 지식베이스도 API로 업데이트할 수 있습니다. 즉, AI의 지식을 항상 최신 상태로 유지할 수 있습니다.
Dify(디파이)는 로컬환경에서 실행할 수 있습니다. 사내용도로 한정하고 보안이 중요한 경우에 이는 최적의 해결책이 됩니다. 외부와 연결되는 것은 LLM을 호출하는 API뿐입니다. LLM 제공사가 데이터의 기밀성을 보장해주지만, 충분한 보안이 확보될 수 있습니다.
또한, 로컬환경에서 운영할 수 있는 장점은 사내기밀문서나 데이터베이스와 사용자 애플리케이션 간의 연동이 로컬환경내에서 원활하게 이루어진다는 것입니다.
참고로 로컬에서 동작하는 LLM, 특히 소규모 모델을 SLM(Small Language Model)이라고도 부르는데, 이를 로컬환경에서 실행할 수 있다면 완전히 클로즈드한 환경에서 AI 앱을 운영할 수 있게 됩니다. 물론, LLM을 실행하기 위해 충분한 GPU가 내장된 서버를 준비해야 하지만, 최근 기술의 발전을 감안하면 가까운 미래에 내부 환경에서 현장에서 충분한 성능을 발휘하는 LLM을 실행할 수 있습니다.
로컬에서 동작하는 LLM이라고 하면, "작은 버전의 AI"라고 생각하는 독자가 있다면 그것은 큰 오해입니다. 로컬 LLM은 앞으로 미래 먹거리의 핵심이 될 수 있습니다. 물론 GPT-4o, o1, Gemini 2.0, Claude 3.5정도의 만능모델은 아닐지라도 특정분야에서는 "이거 좋네"라는 수준의 실력을 보여줄 수 있습니다.
또한,
데이터는 완전히 사내에서 관리됩니다.
특정분야에 특화된 전문AI로 활용할 수 있습니다.
비용 효율성이 뛰어납니다.
원하는만큼 자유롭게 커스터마이징할 수 있습니다.
가까운 미래에는 "우리 회사의 AI"가 당연한 시대가 올지도 모릅니다.
⑤ 솔직히 Dify도 아쉬운 점이 있다!
Dify(디파이)도 앞으로 해결해야할 과제가 있습니다. 예를 들어,
상세한 커스터마이징에는 한계가 있습니다.
대규모 데이터 처리에는 적합하지 않습니다.
완전한 노코드라고 단언할 수 없습니다. (가끔 Python 지식이 필요합니다)
그러나, 이런 문제는 치명적인 것은 아닙니다. 오히려 이런 부분들이 이해한 상태에서 활용하면 Dify(디파이)의 진가를 발휘할 수 있다고 봅니다. 따라서 적절하게 사용하면, Dify(디파이)는 각 사용자수준에 맞게 활용할 수 있습니다. 경험이 많은 엔지니어라면 Dify로 프로토타입을 제작한 후, 필요에 따라 Python등으로 재작성하면 전용 앱으로 발전시킬 수 있고, 초보자라면 가능한 것부터 조금씩 시작할 수 있습니다. 각자의 능력 수준에 맞춘 사용법들이 마련되어 있습니다.
빠르고(속도), 저렴하고(비용), 뛰어나고(품질)는 필자가 생각하는 Dify(디파이)의 매력은 바로 이 3가지가 모두 갖춰져 있다는 점입니다. 지금 필자가 설명하는 내용을 전부 이해할 필요는 없습니다. 급하게 생각하지 말고 천천히 앞으로 필자가 공개하는 내용을 따라해보면서 체험하고 익히면 충분히 따라올 수 있습니다.
앞으로 공개할 실제 사용방법은 챗봇 제작부터 RAG시스템 구축, 워크플로우 제작 등 순서대로 설명할 것입니다.
이제 Dify(디파이)를 사용해보고 싶은 독자는 실제 사용방법은 2가지 선택지가 있습니다. 브라우저에서 바로 사용할 수 있는 클라우드 버전과 자신의 PC에 설치하여 사용하는 커뮤니티 버전(로컬 버전)입니다.
"어느쪽을 선택해야 할까요?"
답은 간단합니다. 먼저 클라우드 서벚부터 시작하는 것을 추천합니다. 왜냐하면, 설정과정 없이 바로 Dify(디파이)의 세계에 뛰어들 수 있기 때문입니다. 그렇지만 좀더 공부해보고 싶은 독자는 로컬 버전을 설치해서 사용하길 권장합니다.
이번에는 Dify(디파이)를 이용해서 처음 챗봇을 제작하는 과정을 익혀보겠습니다. 단, 이 글을 공개하는 시점에서는 Dify v1.1.3으로 업데이트된 시점이라서 이 버전을 기준으로 진행하면 과거 버전과 다소 구성화면이나 기능이 약간 다를 수 있습니다.
로컬에 설치했다면 이번 단계를 넘어갑니다. 클라우드 버전을 시작하려면 계정부터 만들어봅시다.
관련 URL: https://dify.ai/
위 사이트에 접속하면, 화면 상단 우측 [Get Started]버튼을 클릭합니다. 그러면 계정 생성 과정이 시작됩니다.
위와 같은 화면이 나옵니다. Dify(디파이)에서는 Google 계정, GitHub 계정 또는 이메일주소를 사용하여 회원가입 및 로그인을 할 수 있습니다. 이번에는 [Google로 계속]버튼을 클릭합니다. 만약 독자가 보안관련 2단계 인증을 설정해 두었다면, 해당 인증도 진행해야 합니다. 화면 지시내용에 따라 계정등록을 진행합니다.
계정등록이 완료되면, Dify(디파이)의 대시보드가 표시됩니다. 이 화면부터가 독자가 시작하는 AI 앱 개발 거점이 됩니다. 이후 "대시보드"라고 하면 이 화면을 의미한다고 기억하기 바랍니다.
대시보드의 [빈 상태로 시작]을 클릭합니다. 그러면 새 앱 생성화면이 표시됩니다.
여기서 중요한 것은 '앱 유형 선택'을 선택하는 것입니다. 이번에는 [챗봇]을 선택합니다. 다음으로 '앱 아이콘과 이름'을 설정합니다. 이름은 나중에 변경이 가능하지만, 기억하기 쉬운 이름을 짓는 요령이 필요합니다. (예: 첫번째 테스트앱), 설명도 간단히 입력해 둡니다. (예: "간단한 AI 챗봇앱을 만들어 봅니다") 모든 입력을 마치면, [만들기]버튼을 클릭합니다.
그러면 아래와 같은 '오케스트레이션'화면이 표시됩니다. 여기서 챗봇설정을 진행합니다. 이후 '오케스트레이션'이라고 하면 이 화면이라는 것을 기억합시다.
오케스트레이션 화면이 열렸을 때 이미 기본적인 앱은 동작중인 상태입니다. 화면 오른쪽의 '디버그 및 미리보기'섹션에서 만들어진 챗봇동작을 실시간으로 테스트할 수 있습니다. 위 기름의 화면 오른쪽 하단이 입력박스가 있습니다. 테스트삼아 "안녕하세요. 당신에 대해 설명해 주세요."라고 입력해봅시다. AI가 어떤 식으로 응답하는지 확인할 수 있습니다.
테스트가 잘되었다면, 이제 공개단계입니다. 화면 오른쪽 상단 [발행]버튼을 클릭한 후, [Publish Update]버튼을 클릭하고 아래와 같이 공개설정 화면이 표시됩니다. [앱 실행]을 클릭합니다.
그러면, 별도의 탭이 열리고 독자의 챗봇 앱 공개페이지가 나옵니다. [새 채팅]버튼을 클릭하면 실제 챗팅화면이 나옵니다.
공개 페이지의 URL을 복사하여 소셜네트워크나 이메일등으로 친구나 동료에게 보내기만 하면 공개된 챗봇앱을 간단하게 공유할 수 있습니다. 또한 공유된 사람들도 웹상에서 챗봇을 사용할 수 있습니다.
프로그래밍 지식없이 노코드 형태로 자신만의 AI챗봇을 만들고 공개할 수 있게 되었습니다.
Dify(디파이)를 사용하면 이 정도만으로도 실용적인 AI챗봇을 만들수 있습니다.기본적인 계정 생성부터 챗봇설정, 테스트, 공개까지 프로그래밍지식없이도 몇분만에 완료했습니다. 다만, 이 단계에서는 아직 원하는대로 답변이 나오지 않을 수 있습니다. 다음에는 챗봇을 더 똑똑하고 편리하게 만든느 방법을 배워보겠습니다.
©2024-2025 GAEBAL AI, Hand-crafted & made with Damon Jaewoo Kim.
GAEBAL AI 개발사: https://gaebalai.com
AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5
AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5