DIfy 비공개 배포의 장점은 무엇인가요?
Dify 는 AI 애플리케이션을 위한 엔진 및 개발 플랫폼입니다.
엔터프라이즈급 AI 애플리케이션 또는 지능형 신체 애플리케이션을 개발해야 하는 경우 일반적으로 몇 가지 옵션이 있습니다:
- 모든 코드를 직접 작성하고 대형 모델 공급업체의 다양한 API 인터페이스를 직접 연결해야 합니다.
- Vercel의 AI SDK와 같이 캡슐화 계층이 있는 일부 SDK를 사용하세요.
- Dify와 같은 AI 앱 개발 플랫폼을 사용하세요.
Dify와 유사한 제품에는 "버클". 그러나 Button은 순수 클라우드 SaaS이므로 솔루션의 일부로 고객에게 제공하기에는 적합하지 않습니다. 따라서 오픈 소스 코드와 간편한 비공개 배포를 제공하는 Dify가 더 나은 선택입니다.
Dify의 라이선스는 상업적으로 이용 가능합니다.
Dify는 아파치 오픈 소스 프로토콜을 사용하지만 상업적 사용에는 몇 가지 추가 제한 사항이 있습니다:
1. 멀티테넌시 서비스는 허용되지 않습니다;
2. Dify 웹 콘솔 인터페이스의 로고 및 저작권 정보 변경은 허용되지 않습니다.
전반적으로 이 오픈 소스 계약은 여전히 매우 느슨합니다. 각 기업 고객 전용으로 별도의 세트를 배포하고 Dify 웹 콘솔을 사용하지 못하게 하지 않는 한 계약을 위반하는 것이 아닙니다.
즉, Dify 웹 콘솔의 시각화 도구를 사용하여 한 줄의 코드도 작성하지 않고도 스마트바디 애플리케이션을 구축한 다음 자동 생성된 API를 자체 솔루션에 통합할 수 있습니다.
프로젝트에 Dify를 사용해야 하나요?
스마트 바디 애플리케이션을 개발하기 위해 Dify를 사용할 필요는 없으며, 기본적으로 OpenAI의 API를 기존 Java 8 및 Spring Boot 백엔드와도 통합할 수 있습니다.
그러나 스마트 바디 애플리케이션에는 큐워드의 지속적인 디버깅과 지식창고 데이터 처리가 필요한 몇 가지 특징이 있습니다. Dify를 사용하면 개발 경험과 효율성을 크게 향상시킬 수 있습니다. 프롬프트만 변경하고 새 버전을 출시할 수는 없습니다.
대부분의 AI 관련 컴포넌트 에코시스템은 Python 패키지를 직접 사용할 수 있기 때문에 Dify 백엔드는 Python으로 개발되었습니다. 엔터프라이즈 애플리케이션에서 흔히 사용되는 Java 백엔드와 달리 비즈니스 클러스터와 별도로 독립적으로 배포하는 것이 좋습니다.
Dify 컴포넌트 개요
Dify는 매우 많은 수의 구성 요소와 매우 유연한 배포 방법을 갖춘 일반적인 프런트엔드 및 백엔드 분리 아키텍처를 사용합니다.
Dify 공식 웹사이트에서 권장하는 Docker Compose 배포 솔루션은 로컬 개발 및 체험용으로만 사용할 수 있습니다. 프로덕션 환경에서는 필요에 따라 K8 또는 기타 고가용성 배포 솔루션을 사용해야 합니다.
Dify 버전 0.15.3을 예로 들어 프로덕션 환경 배포에는 다음 구성 요소가 필요합니다:
필수 구성 요소
- api
- worker
- 웹
기본 구성 요소
- postgres
- redis
- 샌드박스
- ssrf_proxy
- 인증봇
- nginx
- weaviate
구성 요소 간의 관계는 다음과 같습니다.

아키텍처 레이어링에 대한 자세한 설명
백엔드
Dify의 백엔드에는 다음이 포함됩니다.
- 파이썬 플라스크 서비스인 "api"는 gunicorn으로 시작되었습니다;
- 셀러리로 시작하는 "worker"는 redis 큐에서 비동기 작업을 소비합니다. 이러한 작업은 데이터 세트 파일 가져오기 및 데이터 세트 문서 업데이트와 같은 작업입니다.
STH의 앞부분.
프론트엔드 '웹'은 Next.js로 개발됩니다. pm2(노드)로 빌드 및 시작됩니다.
액세스 계층
Nginx는 웹 요청을 API 또는 웹으로 전달하는 데 사용되며, certbot은 HTTPS 인증서를 자동으로 관리하는 데 사용됩니다.
스토리지 계층
Dify의 스토리지 계층은 다음을 사용합니다.
- 관계형 데이터베이스 PostgreSQL
- NoSQL 데이터베이스/캐시 Redis
- 벡터 데이터베이스기본값은 Weaviate입니다.
안전
애플리케이션 개발 플랫폼인 Dify는 비즈니스 로직을 처리하기 위해 워크플로 노드를 오케스트레이션하는 시각적 도구로 사용할 수 있습니다.
워크플로 노드에서는 사용자가 Python/NodeJS 코드를 실행할 수 있으므로 사용자가 고위험 작업을 수행하지 못하도록 제한하기 위해 샌드박스 메커니즘이 필요합니다.
다음 두 가지 모듈이 관련되어 있습니다.
- "샌드박스"는 Go에서 개발되었습니다.
- "ssrf_proxy"는 스퀴드로 구성된 네트워크 아울렛입니다.
LangChain과의 비교
LangChain은 가장 오래된 LLM 애플리케이션 개발 프레임워크입니다. 아래 그림에서 볼 수 있듯이 Dify는 모든 면에서 LangChain보다 성능이 뛰어납니다.

프로덕션 환경에서 Dify의 비공개 배포
고객을 위해 AI 인텔리전트 바디 애플리케이션을 사용자 지정하고 수직 산업을 위한 AI 솔루션을 제공해야 하는 경우, 프로덕션 환경에 비공개로 Dify를 배포하는 것을 고려하세요.
다음 두 가지 이유로 인해 Dify의 코드를 수정하고 심층적으로 사용자 정의해야 할 수도 있습니다:
1. 기업의 내부 데이터를 개방하고, 특히 구조화된 내부 데이터를 다음과 같은 용도로 사용할 수 있는 형태로 수집합니다. RAG 의 지식창고로 이동합니다.
2. 인텔리전스가 자신의 신원을 파악하고 개인화된 서비스를 제공할 수 있도록 로그인 인증을 개방합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...