Skip to main content

Dify

LLM 애플리케이션 개발 플랫폼입니다. 코드 없이 웹 UI에서 챗봇, RAG, AI Agent, 워크플로우 등을 구성할 수 있습니다.

어디에 쓰이나요?

  • RAG 챗봇: PDF, 웹페이지 등의 문서를 업로드하고 문서 기반 질의응답 챗봇 구축
  • AI Agent: 외부 도구(검색, 계산기, API 호출 등)를 활용하는 자율형 AI 에이전트 구성
  • 워크플로우: 여러 LLM 호출과 조건 분기를 연결하여 복잡한 AI 파이프라인 설계
  • 프롬프트 관리: 프롬프트 버전 관리, A/B 테스트, 성능 모니터링
OpenAI, Anthropic, Ollama 등 다양한 LLM 제공자를 연결할 수 있으며, 완성된 애플리케이션은 API 또는 공유 링크로 배포할 수 있습니다.

Docker Compose

Dify는 공식 저장소의 Docker Compose 파일을 사용합니다.
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
.env 파일에서 필요한 설정을 수정합니다.
# .env 파일 주요 설정
SECRET_KEY=sk-your-secret-key-here
INIT_PASSWORD=changeme

실행

docker compose up -d
초기 실행 시 여러 컨테이너(api, worker, web, db, redis, nginx 등)가 함께 시작됩니다. 전체 기동까지 1~2분 정도 소요될 수 있습니다.

접속 확인

브라우저에서 http://localhost/install로 접속하여 관리자 계정을 생성합니다. 설정 완료 후 http://localhost에서 로그인합니다.

기본 정보

항목
웹 UI 포트80
API 포트5001
기본 관리자 비밀번호.env의 INIT_PASSWORD

포함된 서비스

Dify는 다음 서비스들을 함께 실행합니다.
서비스역할
api백엔드 API 서버
worker비동기 작업 처리 (Celery)
web프론트엔드 (Next.js)
dbPostgreSQL 데이터베이스
redis캐시 및 메시지 큐
nginx리버스 프록시
sandbox코드 실행 샌드박스
weaviate/qdrant벡터 데이터베이스 (선택)

주요 환경 변수 (.env)

변수설명
SECRET_KEY애플리케이션 시크릿 키
INIT_PASSWORD초기 관리자 비밀번호
LOG_LEVEL로그 레벨 (DEBUG, INFO, WARNING, ERROR)
VECTOR_STORE벡터 DB 종류 (weaviate, qdrant, milvus 등)
OPENAI_API_KEYOpenAI API 키 (모델 사용 시)

업데이트

cd dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d

라이선스

구분내용
라이선스Apache License 2.0 (Community), 상용 라이선스 (Enterprise)
개인 사용자유롭게 사용 가능
상업적 사용Community 에디션은 자유롭게 사용 가능. 로고/브랜드 제거 시 상업적 라이선스 필요. Enterprise는 SSO, 감사 로그 등 추가 기능 포함

참고