코딩 없이, 직접 만드는 나만의 AI 앱!
Dify로 시작하자!
코딩 없이 AI 앱을 직접 만들 수 있다면 어떨까요? 이 책은 노코드(No-code)로 앱을 만들 수 있는 Dify를 활용해 누구나 생성형 AI 앱 개발에 도전할 수 있는 실습 중심의 입문서입니다. 개발 경험이 전혀 없어도 블록을 연결하듯 시각적으로 앱의 흐름을 설계할 수 있어, 아이디어만 있다면 충분합니다. 챗봇 만들기에서 출발해 RAG 기반 지식 검색, 텍스트 생성기, 에이전트, 채팅 플로우, 워크플로우, 외부 API 연계까지 단계적으로 확장되는 구성 덕분에 학습 부담 없이 따라올 수 있습니다. 실습을 하나씩 완성해 가다 보면 어느새 '이 아이디어는 Dify로 만들 수 있겠다'라는 감각이 생기고, 반복 업무를 줄이는 나만의 도구를 직접 손에 쥐게 될 것입니다. 코딩의 벽 앞에서 망설였던 모든 분께, 이 책이 첫걸음이 되어드릴 것입니다.
CHAPTER 1 생성형 AI와 앱 개발의 기초
1.1 생성형 AI 시대를 따라잡다
___1.1.1 왜 지금 AI 앱 개발이 주목받을까?
___1.1.2 생성형 AI란
1.2 생성형 AI 앱 개발 시대로
___1.2.1 생성형 AI 앱이란
___1.2.2 생성형 AI 앱의 구조
1.3 누구나 할 수 있는 AI 앱 개발
___1.3.1 Dify 잠재력을 활용하자
1.4 생성형 AI 앱 개발에 도전하자
___1.4.1 이 책의 학습 목표
CHAPTER 2 Dify 사용 준비
2.1 Dify 개요
___2.1.1 Dify란 어떤 도구인가?
___2.1.2 Dify는 어떻게 사용하는가?
2.2 Dify를 시작하자
___2.2.1 Dify 계정 만들기
___2.2.2 Dify 스튜디오 둘러보기
CHAPTER 3 챗봇 만들기
3.1 챗봇
___3.1.1 챗봇이란
___3.1.2 Dify 챗봇의 특징
3.2 간단한 챗봇을 만들자
___3.2.1 간단한 챗봇 만들기
___3.2.2 챗봇 설정하기
___3.2.3 챗봇 테스트하기
___3.2.4 모델 변경하기
___3.2.5 작성한 앱 게시하기
___3.2.6 앱 서비스 비활성화하기
3.3 RAG를 알아보자
___3.3.1 RAG는 뭘까?
3.4 RAG 챗봇을 만들자
___3.4.1 지식 생성하기
___3.4.2 RAG용 챗봇 만들기
___3.4.3 챗봇에 지식 추가하기
___3.4.4 앱 미리보기 및 공개하기
3.5 웹 사이트 문서를 참조하는 챗봇을 만들자
___3.5.1 지식을 웹 사이트(URL)에서 불러와 활용하기
___3.5.2 Jina Reader와 API 연계하기
___3.5.3 크롤링한 정보를 지식으로 변환하기
___3.5.4 지식 이름 변경하기
___3.5.5 웹 페이지의 지식을 추가한 챗봇 만들기
CHAPTER 4 텍스트 생성기 만들기
4.1 텍스트 생성기
___4.1.1 텍스트 생성기란
___4.1.2 일괄 실행 활용하기
4.2 SNS 게시물 생성기를 만들자
___4.2.1 SNS 게시물 생성기 만들기
___4.2.2 텍스트 생성기 설정하기
___4.2.3 변수 설정하기
___4.2.4 디버그 및 미리보기
___4.2.5 텍스트 생성기의 출력 활용하기
___4.2.6 일괄 실행으로 한 번에 모아서 처리하기
4.3 이메일 뉴스레터 생성기를 만들자
___4.3.1 이메일 뉴스레터 생성 앱 만들기
___4.3.2 변수 설정하기
___4.3.3 짧은 텍스트 추가하기
___4.3.4 문단 추가하기
___4.3.5 선택 추가하기
___4.3.6 숫자 추가하기
___4.3.7 나머지 변수 설정하기
___4.3.8 접두사 프롬프트 설정하기
___4.3.9 사용자 입력 필드의 기능 활성화하기
___4.3.10 디버그 및 미리보기
CHAPTER 5 에이전트 만들기
5.1 에이전트
___5.1.1 Dify의 에이전트 기능이란
___5.1.2 챗봇과 에이전트의 차이점
5.2 쓸 만한 에이전트를 만들자
___5.2.1 에이전트 앱 만들기
___5.2.2 에이전트 설정하기
___5.2.3 에이전트가 사용할 도구 추가하기
___5.2.4 미리보기 화면에서 에이전트 테스트하기
___5.2.5 기능을 활용해 사용자가 이용하기 쉽게 만들기
___5.2.6 음성 입력 테스트하기
5.3 이미지 생성 에이전트를 만들자
___5.3.1 이번에 만들 에이전트 소개하기
___5.3.2 이미지 생성 앱 만들기
___5.3.3 에이전트 설정하기
___5.3.4 에이전트가 사용할 도구 추가하기
___5.3.5 앱을 실행해 결과 확인하기
5.4 복잡한 작업을 처리하는 에이전트를 만들자
___5.4.1 이미지 생성 에이전트의 실용성 강화하기
___5.4.2 에이전트 역할을 다시 정의하기
CHAPTER 6 채팅 플로우 만들기
6.1 채팅 플로우
___6.1.1 좀 더 똑똑한 챗봇 만들기
___6.1.2 채팅 플로우의 특징
6.2 채팅 플로우를 만들자
___6.2.1 채팅 플로우 앱 만들기
___6.2.2 도대체 노드란 뭘까?
___6.2.3 LLM 노드 설정 편집하기
___6.2.4 채팅 플로우 테스트 및 공개하기
6.3 지식을 가진 채팅 플로우를 만들자
___6.3.1 채팅 플로우 설계하기
___6.3.2 채팅 플로우 편집하기
___6.3.3 플로우 중간에 노드 추가하기
___6.3.4 지식 검색 노드에 지식 추가하기
___6.3.5 LLM 노드에 컨텍스트 설정하기
___6.3.6 앱 미리보기 및 공개하기
6.4 조건 분기를 활용하는 채팅 플로우를 만들자
___6.4.1 조건 분기를 활용하는 앱 만들기
___6.4.2 시작 노드 편집하기
___6.4.3 IF/ELSE 노드 추가하기
___6.4.4 IF/ELSE 노드 설정하기
___6.4.5 IF/ELSE를 이용해 조건 분기 노드 추가하기
___6.4.6 LLM 노드 추가 및 설정하기
___6.4.7 노드 복제하기
___6.4.8 답변 노드 추가 및 설정하기
___6.4.9 앱 미리보기 및 공개하기
6.5 여러 LLM을 활용하는 채팅 플로우를 만들자
___6.5.1 앱 복제하기
___6.5.2 LLM 노드 추가 및 설정하기
___6.5.3 답변 노드 편집하기
___6.5.4 앱 미리보기 및 공개하기
6.6 병렬 처리를 활용하는 채팅 플로우를 만들자
___6.6.1 LLM을 병렬로 처리하기
___6.6.2 앱 만들기
___6.6.3 LLM 노드 설정하기
___6.6.4 독립된 노드 추가하기
___6.6.5 답변 노드 설정하기
___6.6.6 앱 미리보기 및 공개하기
6.7 검색 API를 활용하는 채팅 플로우를 만들자
___6.7.1 도구 노드를 활용하는 채팅 플로우 만들기
___6.7.2 앱 만들기
___6.7.3 검색 API 노드 추가하기
___6.7.4 검색 API 노드 설정하기
___6.7.5 LLM 노드 설정하기
___6.7.6 복수의 LLM 노드를 추가하고 설정하기
___6.7.7 답변 노드 설정하기
___6.7.8 앱 미리보기 및 공개하기
CHAPTER 7 워크플로우 만들기
7.1 워크플로우
___7.1.1 워크플로우란
7.2 이미지에서 데이터를 추출하는 워크플로우
___7.2.1 이미지 인식 앱 만들기
___7.2.2 시작 노드 편집하기
___7.2.3 LLM 노드 추가 및 설정하기
___7.2.4 출력 노드 추가 및 설정하기
___7.2.5 앱 미리보기 및 공개하기
7.3 음성 데이터로 회의록을 작성하는 워크플로우
___7.3.1 음성 인식 앱 만들기
___7.3.2 시작 노드 편집하기
___7.3.3 LLM 노드 추가 및 설정하기
___7.3.4 출력 노드 추가 및 설정하기
___7.3.5 앱 미리보기 및 공개하기
CHAPTER 8 다양한 앱에 도전하기
8.1 GAS를 이용한 본격적인 생성형 AI 앱을 개발하자
___8.1.1 HTTP 요청으로 생성형 AI 앱의 확장성 높이기
___8.1.2 이용하는 도구의 특징 파악하기
___8.1.3 JSON
8.2 GAS 스크립트 작성과 HTTP 요청 테스트
___8.2.1 GAS로 스크립트 작성하기
___8.2.2 GAS 프로젝트 배포하기
___8.2.3 Dify에서 테스트 앱 만들기
___8.2.4 Dify에서 HTTP 요청 노드 추가 및 설정하기
___8.2.5 답변 노드 설정하기
___8.2.6 미리보기로 GET 요청 확인하기
___8.2.7 미리보기로 POST 요청 확인하기
8.3 영수증 관리 앱을 만들자
___8.3.1 영수증 관리 앱 만들기
___8.3.2 시작 노드 편집하기
___8.3.3 LLM 노드 추가 및 설정: 영수증 읽기
___8.3.4 LLM 노드 추가 및 설정: JSON 데이터 생성하기
___8.3.5 GAS 프로젝트 만들기
___8.3.6 GAS 프로젝트 배포하기
___8.3.7 HTTP 요청 노드 추가 및 설정하기
___8.3.8 IF/ELSE 노드 추가 및 설정하기
___8.3.9 출력 노드 추가 및 설정하기
___8.3.10 앱 실행 및 공개하기
8.4 대화형 가계부 앱을 만들자
___8.4.1 가계부 앱 만들기
___8.4.2 LLM 노드 설정하기
___8.4.3 LLM 노드 추가 및 설정하기
___8.4.4 GAS 프로젝트 만들기
___8.4.5 GAS 프로젝트 배포하기
___8.4.6 Dify에서 HTTP 요청 노드 추가 및 설정하기
___8.4.7 답변 노드 추가 및 설정하기
___8.4.8 앱 실행 및 공개하기
CHAPTER 9 업무를 앱으로 구현하는 테크닉
9.1 떠오른 아이디어를 앱으로 구현하자
___9.1.1 일상적인 업무에서 대상 찾기
___9.1.2 업무를 작업으로 분해하기
___9.1.3 필요한 도구와 데이터 검토하기
___9.1.4 앱의 전체 구조 설계하기
___9.1.5 설계한 앱 구현하기
___9.1.6 앱을 사용해 UI/UX 확인하기
부록 A 각종 API 키 발급하기
A.1 OpenAI API 키 발급받기
A.2 Reader API 키 발급받기
A.3 Google Search API 키 발급받기
A.4 Stability AI API 키 발급받기
A.5 Gemini API 키 발급받기
부록 B 기본 노드 상세 설명
B.1 시작 노드
___B.1.1 시작 노드의 특징
___B.1.2 입력 필드 추가하기
___B.1.3 시스템 변수
___B.1.4 다음 단계
B.2 LLM 노드
___B.2.1 LLM 노드의 특징
___B.2.2 LLM 노드의 설정 요소
___B.2.3 모델 매개변수 상세 설정하기
B.3 지식 검색 노드
___B.3.1 지식 검색 노드의 특징
___B.3.2 지식 검색 노드의 설정 항목
___B.3.3 지식 검색 설정하기
B.4 답변 노드
___B.4.1 답변 노드의 특징
___B.4.2 답변 노드의 설정 요소
B.5 IF/ELSE 노드
___B.5.1 IF/ELSE 노드의 특징
___B.5.2 IF/ELSE 노드의 설정 요소
___B.5.3 ELSE 분기의 플로우
B.6 HTTP 요청 노드
___B.6.1 HTTP 요청 노드의 특징
___B.6.2 HTTP 요청이란
___B.6.3 요청 메서드의 종류
___B.6.4 HTTP 요청 노드의 설정 요소
부록 C 사용자 입력 필드의 기능 활성화
C.1 사용자 편의성을 향상시키자
___C.1.1 사용자 입력 필드의 기능 활성화하기
___C.1.2 대화의 시작
___C.1.3 팔로우업
___C.1.4 텍스트에서 음성으로
___C.1.5 음성에서 텍스트로
___C.1.6 파일 업로드
___C.1.7 인용 및 소유권
___C.1.8 콘텐츠 모더레이션
독자의견 남기기