⚡ AI 인텔리전스 레이더
🔧 고급반 · 오픈소스 AI 생태계 & 운영

14회차 · 💬 셀프호스팅·노코드 AI 앱 — 우리만의 ChatGPT + Dify

백두산 (Doosan Baek) · 게시 2026-06-13 · 최종 수정 2026-08-08

⏱ 예상 학습 시간 약 16분📚 전체 24회차 중 14번째

이 회차에서 배우는 것

🤔 왜 우리만의 ChatGPT인가대화가 회사 밖으로 안 나가는 사내 전용 AI 화면
🖥️ 셀프호스팅이 뭔가요내 PC·회사 서버에 직접 설치해 우리가 주인이 되는 방식
⭐ Open WebUI가장 인기 있는 챗 UI — 문서 RAG·웹검색·로컬모델 한 화면에
👥 LibreChat여러 AI를 한곳에·팀 단위 권한 관리에 강한 선택지
🦙 Ollama로 완전 오프라인인터넷 없이도 도는 로컬 모델 — 데이터가 한 글자도 안 나감
📚 문서 RAG·웹검색 켜기사내 PDF를 올려 근거 있는 답을 받는 법
🚀 설치·시작 실습비개발자도 따라 하는 한 줄 설치와 첫 대화
🎨 Dify — 노코드 AI 앱드래그·드롭으로 AI 챗봇·워크플로를 만드는 플랫폼
🆚 Dify 어디에 놓이나Make·OpenClaw·Claude Code와 뭐가 다르고 언제 쓰나
🚪 Dify 시작하기클라우드 가입 vs 셀프호스팅 — 5분 만에 첫 화면까지
🧱 4가지 앱 유형챗봇·에이전트·워크플로·텍스트 생성 — 뭘 고를까
📚 지식(RAG) 붙이기내 PDF·노션을 올려 '우리 문서로 답하는' 챗봇
🔗 워크플로·도구·게시블록 잇기 → 도구 연결 → 웹·API로 배포
🛡️ 운영 & 비용무료 한도·로그·보안 — 사고 안 나게 굴리기

🤔 우리만의 ChatGPT가 왜 필요할까

ChatGPT나 Claude는 편하지만 — 내가 입력한 대화가 그 회사 서버를 거칩니다. 계약서 초안, 고객 명단, 내부 매출표를 그대로 붙여 넣기엔 찜찜하죠. '셀프호스팅 챗 UI'는 ChatGPT와 똑같이 생긴 화면을 우리 PC나 회사 서버에 직접 띄워 — 대화가 외부로 새지 않게 만드는 도구입니다. 쉽게 말해 — 남의 가게에서 일 보던 걸 우리 사무실에 똑같은 창구로 하나 차리는 셈입니다. 화면은 ChatGPT 그대로, 주인만 우리로 바뀝니다.

🖥️ '셀프호스팅'이 정확히 뭔가요

셀프호스팅(self-hosting)은 — 남의 서비스에 가입해 쓰는 대신, 그 프로그램을 내 컴퓨터나 회사 서버에 직접 설치해 운영하는 방식입니다. '월세 사무실'이 아니라 '우리 소유 사무실'이라고 보면 됩니다. 의료·법률·금융처럼 데이터 반출이 곤란한 곳, 사내 규정상 외부 AI가 막힌 곳에서 'AI를 안 쓰는' 게 아니라 '우리 안에서 안전하게 쓰는' 길이 열립니다.

⭐ Open WebUI — 가장 인기 있는 선택지

Open WebUI는 셀프호스팅 챗 UI 중 가장 널리 쓰이는 도구입니다(GitHub 스타 대략 14만 개 — 이 분야 압도적 1위). 설치하면 ChatGPT와 거의 똑같은 화면이 우리 서버에 뜨고, 비개발자는 그냥 채팅창에 입력만 하면 됩니다.

👥 LibreChat — 팀·여러 AI를 한곳에

LibreChat은 또 다른 인기 셀프호스팅 챗 UI입니다. 핵심 강점은 — 여러 AI 제공사(OpenAI·Anthropic·Google·Azure·AWS 등)를 한 화면에 모아두고, 대화 도중에도 모델을 바꿔 가며 쓸 수 있다는 점입니다.

🦙 Ollama — 인터넷 없이도 도는 로컬 두뇌

여기까지는 '화면'만 우리 것이었습니다. 답을 만드는 두뇌까지 우리 안에 두려면 — 로컬 모델을 돌리는 Ollama를 함께 씁니다. Ollama는 내 컴퓨터 안에서 AI 모델을 실행해 주는 무료 프로그램으로, 13회차 OpenClaw처럼 오픈소스 생태계의 대표 주자입니다. Open WebUI 화면 + 로컬 Ollama 모델을 묶으면 질문도 답도 전부 우리 PC 안에서 끝나 — 데이터가 회사 밖으로 한 글자도 안 나가는 완전 오프라인 사내 AI가 됩니다. 다만 로컬 모델은 내 PC 성능만큼만 똑똑해 GPT·Claude보다는 떨어집니다 — 평소엔 외부 AI, 기밀 작업만 로컬 모델로 골라 쓰는 게 현실적입니다.

# Ollama 공식 앱(.app) 설치 후, 한국어 모델 받기
# ⚠️ macOS는 Homebrew formula 말고 공식 앱(.app)으로 — formula엔 추론 엔진이 빠져 있어요
ollama pull qwen2.5:7b

# 받은 모델 확인
ollama list

📚 사내 문서로 답하게 만들기 (RAG·웹검색)

셀프호스팅의 진짜 활용은 '우리 자료로 답하는 비서'입니다. 사내 규정집 PDF, 제품 매뉴얼, 회의록을 올려두면 — AI가 그 안을 뒤져 근거 있는 답을 줍니다. 신입사원이 '연차 며칠 남았는지 어디서 보나요?'를 물으면 규정집에서 찾아 답하는 식이죠.

  1. 채팅창에 PDF·워드 파일을 끌어다 놓기(또는 + 버튼으로 업로드)
  2. 질문하기 — '이 문서 기준으로, 환불 규정 요약해줘'
  3. AI가 문서 속 해당 부분을 찾아 인용하며 답함
  4. 최신 정보가 필요하면 웹검색 기능을 켜 — 검색 결과까지 반영

🚀 시작하기 — 비개발자용 가장 쉬운 길

# 설치는 명령어 한 줄 — 가장 쉬운 건 pip, 회사 서버엔 Docker 추천
pip install open-webui
open-webui serve

# 브라우저에서 접속:  http://localhost:8080
  1. 위 두 줄을 터미널에 붙여넣기 → 잠시 기다리면 설치 완료
  2. 브라우저 주소창에 localhost:8080 입력 → 우리만의 ChatGPT 화면 등장
  3. 첫 화면에서 관리자 계정(이메일·비밀번호) 만들기
  4. 설정에서 외부 AI(Claude·GPT) API 키를 넣거나, Ollama 로컬 모델 연결
  5. 이제 평소 ChatGPT처럼 대화 시작 — 단, 이 대화는 우리 안에 머뭅니다

🎨 후반부 — Dify로 노코드 AI 앱 만들기

전반부의 셀프호스팅 챗 UI가 '우리만의 ChatGPT 화면'이었다면, 후반부는 한 걸음 더 나아가 — 코드 한 줄 없이 마우스로 블록을 끌어다 놓아 '나만의 AI 챗봇·자동 처리 앱'을 만들고 실제로 게시까지 해봅니다. 11회차 지도에서 ⑦번 칸 '노코드 AI 앱 빌더'에 찍어둔 Dify가 그 주인공입니다. 6회차 Make의 '블록을 잇는 감각'과 11회차의 'RAG(우리 문서로 답하기)'가 여기서 한 화면에 합쳐집니다.

🧭 Dify가 뭔가요 — 한 문장 정의

Dify는 '코딩 없이 AI 앱을 만드는 노코드 플랫폼'입니다. AI 모델(Claude·GPT·Gemini 등)이라는 엔진은 그대로 두고, 그 위에 챗봇·자동 처리 흐름·문서 Q&A 같은 '완성된 앱'을 시각적으로 조립하게 해줍니다. 오픈소스라 무료로 내 서버에 띄울 수도, 가입만 하면 바로 쓰는 클라우드로도 쓸 수 있어요. (대략 GitHub 스타 13만 개 이상으로, 이 분야에서 가장 인기 있는 도구 중 하나입니다.)

🆚 Make·OpenClaw·Claude Code와 어떻게 다른가

🚪 시작하는 두 갈래 — 클라우드 vs 셀프호스팅

# 셀프호스팅 — 공식 저장소를 받아 Docker로 한 번에 실행
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d

# 브라우저에서 http://localhost 접속 → 첫 가입자가 관리자
# (Docker Desktop이 먼저 깔려 있어야 합니다 — 5회차 참고)

🧱 4가지 앱 유형 — 뭘 고를까

🚀 실습 ① — 첫 챗봇 5분 컷

  1. 상단 메뉴 Studio → 우측 '+ 앱 만들기' → 'Chatbot' 선택, 이름 입력(예: 우리팀 회의록 도우미)
  2. 화면 우상단 '모델' 선택에서 쓸 AI 고르기(예: Claude 또는 GPT) — 안 보이면 설정에서 API 키 먼저 연결
  3. 가운데 '지시문(Instructions)' 칸에 역할·톤·규칙 작성 — 1회차의 '역할+맥락+규칙+형식' 그대로
  4. 오른쪽 미리보기 창에 질문을 쳐서 바로 테스트 (저장·배포 전에 여기서 다듬기)
  5. 마음에 들면 우상단 파란 '게시(Publish)' 버튼 → 웹 링크가 생성돼 동료에게 공유
# '지시문' 칸 예시 (시스템 프롬프트)
너는 우리 팀의 회의록 정리 도우미다.
- 사용자가 회의 메모를 붙여넣으면 아래 형식으로 정리한다.
- 톤: 군더더기 없이 간결하게
- 출력 형식:
  1) 한 줄 요약
  2) 결정사항 (불릿)
  3) 할 일 — 담당자/기한 표시
  4) 다음 회의 안건 후보
- 불명확한 부분은 추측하지 말고 [확인 필요]로 표시

📚 실습 ② — 지식(RAG) 붙여 '우리 문서로 답하기'

  1. 상단 '지식(Knowledge)' 탭 → '지식 만들기' → PDF·워드·노션·웹페이지 URL 업로드
  2. 청크(쪼개는 단위)·임베딩(의미 좌표 변환) 설정은 일단 '자동/기본'으로 두고 처리 시작
  3. 처리가 끝나면 챗봇 화면으로 돌아가 '컨텍스트(Context)'에 방금 만든 지식을 연결
  4. 이제 질문하면 — AI가 문서에서 관련 부분을 찾아 그걸 근거로 답하고 출처까지 표시
  5. 테스트 — 문서에만 있는 내용을 물어보고, 엉뚱하게 지어내지 않는지(환각) 확인

⚙️ 그 '설정값'이 무슨 뜻인가 — 버튼별 한 줄 풀이

지식을 만들 때 보이는 옵션들은 어려워 보이지만, 알고 보면 '문서를 어떻게 잘라 어떻게 찾을까'를 정하는 손잡이입니다. 11회차에서 코드로 봤던 그 단계들이 — Dify·Open WebUI에선 화면의 이 버튼들로 바뀐 것뿐입니다. 평소엔 기본값으로 두고, 답이 부실할 때만 골라 만지면 됩니다.

🔧 답이 엉뚱·부실할 때 — 만질 순서 (가장 중요)

봇이 동문서답하거나 '문서에 있는데 못 찾는' 일은 흔합니다. 코드를 고치는 게 아니라, 위에서 본 버튼을 정해진 순서로 하나씩 바꿔 보며 좋아지는 지점을 찾으면 됩니다. 한 번에 하나만 바꿔야 — 뭐가 효과였는지 알 수 있습니다.

  1. 답이 두루뭉술하거나 핵심을 비껴가면 → 청크 크기를 줄여 보기(예: 1000 → 500). 조각이 잘게 쪼개져 핵심만 콕 집기 쉬워집니다
  2. 문서엔 분명 있는데 안 가져오면 → top-k(검색 개수)를 늘려 보기(예: 3 → 6). 더 많은 조각을 후보로 훑습니다
  3. 그래도 관련 없는 내용이 섞이면 → 점수 임계값을 살짝 올려 엄격하게(예: 0.5 → 0.6). 어설픈 매칭을 걸러냅니다
  4. 특정 문서가 통째로 안 잡히면 → 그 문서가 제대로 처리됐는지 지식 화면에서 상태를 확인하고, 깨졌으면 지우고 재업로드
  5. 마지막으로 '근거 우선' 규칙을 지시문에 한 줄 추가 — '제공된 문서에 근거가 없으면 추측하지 말고 「자료에 없습니다」라고 답하라'. 지어내기(환각)가 눈에 띄게 줄어듭니다

🚧 자주 막히는 함정과 대처

🔗 워크플로·도구 연결 & 게시 — 진짜 앱처럼

🛡️ 운영 & 비용 — 사고 안 나게

📌 14회차 핵심

학습 경로

선수 지식
13회차 · 🦞 OpenClaw — 말로 시키는 메신저 AI 비서 (자동화 + 오픈소스)를 먼저 보면 이번 회차가 훨씬 쉽게 읽힙니다.
다음 단계
이어서 15회차 · 🔌 게이트웨이 — 여러 AI를 한 콘센트로로 진행하세요.