В чем преимущества частного развертывания DIfy?
Dify Это движок и платформа для разработки приложений искусственного интеллекта.
Если вам необходимо разработать приложение ИИ корпоративного уровня или приложение для интеллектуального тела, то, как правило, есть несколько вариантов:
- Пишите весь код вручную и самостоятельно взаимодействуйте со всеми видами API-интерфейсов крупных поставщиков моделей.
- Используйте некоторые SDK с инкапсуляцией, например AI SDK от Vercel.
- Используйте платформу для разработки приложений с искусственным интеллектом, например Dify.
Продукты, более похожие на Dify, имеют "пряжка". Но Button - это чистый облачный SaaS, не совсем подходящий для того, чтобы брать и поставлять клиентам как часть решения. Поэтому Dify, с его открытым исходным кодом и простотой частного развертывания, является лучшим выбором.
Лицензия Dify является коммерчески доступной
Хотя Dify использует протокол Apache с открытым исходным кодом, существуют некоторые дополнительные ограничения на коммерческое использование:
1. Не допускается использование служб с несколькими арендаторами;
2. Изменение логотипа и информации об авторских правах интерфейса Dify Web Console не допускается.
В целом, это соглашение с открытым исходным кодом все еще очень слабое. Если вы развертываете отдельный набор для каждого корпоративного клиента и не позволяете им использовать веб-консоль Dify, вы не нарушаете его.
Другими словами, вы можете создать приложение smartbody, не написав ни строчки кода, используя инструменты визуализации Dify Web Console, а затем интегрировать автоматически созданные API в свое собственное решение.
Нужно ли мне использовать Dify для моего проекта?
Вам не обязательно использовать Dify для разработки приложения "умного тела"; по сути, вы можете интегрировать API OpenAI со старым бэкендом на Java 8 и Spring Boot с тем же успехом.
Однако есть некоторые особенности приложений для "умного тела", которые сводятся к постоянной отладке подсказок и обработке данных базы знаний. Использование Dify может значительно улучшить опыт и эффективность разработки. Вы не можете просто изменить подсказки и выпустить новую версию.
Бэкэнд Dify разработан на языке Python, поскольку большинство компонентов экосистемы, связанных с искусственным интеллектом, имеют пакеты Python в непосредственном доступе. В отличие от бэкендов на Java, которые часто используются в корпоративных приложениях, их рекомендуется развертывать автономно, отдельно от бизнес-кластеров.
Обзор компонентов Dify
Dify использует общую архитектуру разделения фронт-энда и бэк-энда, с очень большим количеством компонентов и довольно гибкими методами развертывания.
Решение для развертывания Docker Compose, рекомендованное на официальном сайте Dify, можно использовать только для локальной разработки и опыта. В производственной среде следует использовать K8s или другие высокодоступные решения для развертывания в соответствии с вашими потребностями.
Если взять в качестве примера Dify версии 0.15.3, то для развертывания в производственной среде потребуются следующие компоненты:
важный компонент
- апи
- рабочий
- сеть
основной компонент
- postgres
- редис
- песочница
- ssrf_proxy
- сертбот
- nginx
- уавиат
Взаимосвязь между компонентами показана ниже

Подробное описание архитектурных слоев
задняя часть
Бэкэнд Dify включает в себя
- "api" - служба Python flask, запущенная с помощью gunicorn;
- "Рабочий", запускаемый с помощью celery, потребляет асинхронные задачи из очереди redis. Эти задачи - импорт файлов наборов данных и обновление документов наборов данных.
передовая часть чего-л.
Фронтенд "веб" разработан с помощью Next.js. Он собирается и запускается с помощью pm2 (node).
уровень доступа
Nginx используется для перенаправления веб-запросов к api или web, а certbot - для автоматического управления сертификатами HTTPS.
слой хранения
Уровень хранения данных Dify использует
- Реляционная база данных PostgreSQL
- База данных NoSQL/кэш Redis
- векторная база данныхПо умолчанию используется Weaviate.
безопасность
Dify, как платформа для разработки приложений, доступна в качестве визуального инструмента для организации узлов рабочего процесса для обработки бизнес-логики.
Узел рабочего процесса позволяет пользователю выполнять код Python/NodeJS, поэтому необходим механизм "песочницы", чтобы ограничить пользователя от выполнения рискованных операций.
В работе задействованы следующие два модуля
- "Песочница" была разработана на языке Go.
- "ssrf_proxy" - это сетевой выход, настроенный на squid.
Сравнение с LangChain
LangChain - старейший фреймворк для разработки LLM-приложений. Как видно из рисунка ниже, Dify превосходит LangChain по всем параметрам.

Частное развертывание Dify в производственных средах
Если вам нужно настроить приложения AI Intelligent Body для своих клиентов и предоставить решения AI для вертикальных отраслей, рассмотрите возможность развертывания Dify privately в производственной среде.
По следующим двум причинам может потребоваться модификация и глубокая настройка кода Dify:
1. открыть внутренние данные предприятия, в частности, собрать структурированные внутренние данные в форму, которая может быть использована для RAG базы знаний.
2. открыть аутентификацию для входа в систему, чтобы интеллекты понимали свою идентичность и могли предоставлять персонализированные услуги.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...