
Dify là gì?
Dify là một nền tảng mã nguồn mở để phát triển các ứng dụng được hỗ trợ bởi các mô hình ngôn ngữ lớn. Nền tảng kết hợp quy trình AI trực quan, sinh tăng cường truy xuất, khả năng tác tử, quản lý mô hình, khả năng quan sát và API ứng dụng trong một giao diện, giúp các nhóm chuyển từ nguyên mẫu sang môi trường sản xuất.
Bạn có thể sử dụng dịch vụ Dify Cloud được lưu trữ mà không cần cài đặt, hoặc triển khai Community Edition trong môi trường của riêng mình. Các tùy chọn hướng đến doanh nghiệp cũng có sẵn cho những tổ chức có yêu cầu bổ sung.
Tính năng chính
- Quy trình trực quan: Xây dựng và kiểm thử quy trình AI trên một canvas trực quan.
- Hỗ trợ nhiều mô hình: Kết nối với hàng trăm mô hình độc quyền và mã nguồn mở thông qua các nhà cung cấp suy luận hoặc giải pháp tự lưu trữ. Các tùy chọn được hỗ trợ gồm GPT, Mistral, Llama 3 và các mô hình tương thích với OpenAI API.
- Prompt IDE: Soạn prompt, so sánh hiệu suất mô hình và thêm các khả năng như chuyển văn bản thành giọng nói vào ứng dụng trò chuyện.
- Pipeline RAG: Nhập và truy xuất thông tin từ tài liệu, với hỗ trợ trích xuất văn bản tích hợp cho PDF, bản trình bày và các định dạng phổ biến khác.
- Tác tử và công cụ: Xác định tác tử bằng LLM Function Calling hoặc ReAct. Dify bao gồm hơn 50 công cụ tích hợp, gồm Google Search, DALL·E, Stable Diffusion và WolframAlpha, đồng thời hỗ trợ các công cụ tùy chỉnh.
- LLMOps: Theo dõi nhật ký và hiệu suất ứng dụng, sau đó cải thiện prompt, tập dữ liệu và mô hình bằng dữ liệu cùng chú thích từ môi trường sản xuất.
- Backend dưới dạng dịch vụ: Tích hợp các ứng dụng Dify vào logic nghiệp vụ hiện có thông qua các API tương ứng.
- Tích hợp khả năng quan sát: Dify hỗ trợ các tùy chọn quan sát như Opik, Langfuse và Arize Phoenix.
Chọn cách chạy Dify
Dify Cloud
Dify Cloud là cách nhanh nhất để dùng thử nền tảng vì không cần thiết lập cục bộ. Theo README của dự án, gói sandbox bao gồm 200 lượt gọi GPT-4 miễn phí và cung cấp các khả năng có trong phiên bản tự triển khai.
Community Edition tự lưu trữ
Tự lưu trữ giúp bạn kiểm soát môi trường nơi Dify chạy. Phương pháp cài đặt đơn giản nhất được tài liệu hóa là sử dụng Docker Compose.
Sử dụng cho doanh nghiệp và tổ chức
Dify cũng cung cấp các tính năng hướng đến doanh nghiệp. Các tổ chức có thể liên hệ với đội ngũ Dify để trao đổi về yêu cầu và các tùy chọn cấp phép.
Cài đặt Dify bằng Docker Compose
Kiểm tra yêu cầu
Trước khi bắt đầu, hãy đảm bảo máy chủ đáp ứng các yêu cầu tối thiểu sau:
- CPU: Ít nhất 2 lõi
- Bộ nhớ: Ít nhất 4 GiB RAM
- Docker: Đã được cài đặt và đang chạy
- Docker Compose: Phiên bản 2.24.0 trở lên
Sử dụng hướng dẫn cài đặt Docker chính thức nếu Docker chưa có sẵn.
Khởi động các dịch vụ
Từ bản sao kho lưu trữ Dify đã được tải xuống, truy cập vào các thư mục dự án và Docker, sao chép tệp môi trường mẫu rồi khởi động các dịch vụ:
cd dify
cd docker
cp .env.example .env
docker compose up -dTùy chọn -d khởi động các container ở chế độ tách nền, cho phép chúng tiếp tục chạy trong nền.
Khởi tạo dashboard
Sau khi các dịch vụ khởi động, hãy mở địa chỉ sau trong trình duyệt:
http://localhost/installThực hiện quy trình khởi tạo được hiển thị trên dashboard. Nếu thiết lập thất bại, hãy tham khảo FAQ về tự lưu trữ chính thức.
Các nhà phát triển muốn đóng góp hoặc chỉnh sửa Dify nên sử dụng hướng dẫn triển khai từ mã nguồn chính thức thay vì chỉ dựa vào hướng dẫn khởi động nhanh bằng Docker Compose.
Sử dụng cơ bản
1. Chọn mô hình
Dify có thể tích hợp với các mô hình từ nhiều nhà cung cấp suy luận được lưu trữ và giải pháp tự lưu trữ. Hãy chọn nhà cung cấp và mô hình phù hợp với ứng dụng của bạn. Các tùy chọn tương thích gồm GPT, Mistral, Llama 3 và các mô hình được cung cấp thông qua giao diện tương thích với OpenAI API. Tham khảo danh sách nhà cung cấp mô hình để xem các tích hợp được hỗ trợ hiện tại.
2. Xây dựng và kiểm thử quy trình
Sử dụng canvas trực quan để lắp ráp và kiểm thử logic của một ứng dụng AI. Quy trình hữu ích khi ứng dụng cần nhiều hơn một prompt, chẳng hạn khi đầu vào phải được xử lý, gửi đến mô hình, bổ sung thông tin truy xuất hoặc chuyển cho các công cụ.
- Xác định nội dung ứng dụng sẽ nhận từ người dùng.
- Sử dụng giao diện quy trình trực quan của Dify để biểu diễn quy trình AI.
- Kết nối quy trình với một mô hình phù hợp.
- Kiểm thử hành vi và xem xét các kết quả được tạo.
- Tinh chỉnh quy trình, prompt, tập dữ liệu hoặc lựa chọn mô hình khi cần.
3. Phát triển prompt trong Prompt IDE
Sử dụng Prompt IDE để xây dựng và kiểm thử prompt thông qua một giao diện tương tác. Bạn có thể so sánh hiệu suất của các mô hình trước khi quyết định mô hình nào phù hợp nhất với ứng dụng. Đối với các ứng dụng dựa trên trò chuyện, IDE cũng có thể tích hợp các tính năng như chuyển văn bản thành giọng nói.
4. Bổ sung kiến thức với RAG
Quy trình RAG của Dify bao gồm việc nạp và truy xuất tài liệu. Một ứng dụng dựa trên kiến thức điển hình có thể nạp các tệp được hỗ trợ, bao gồm PDF và bản trình bày, trích xuất văn bản từ đó, rồi truy xuất thông tin liên quan khi phản hồi người dùng.
Ví dụ, bạn có thể tạo một trợ lý trả lời câu hỏi dựa trên tài liệu nội bộ. Thay vì chỉ dựa vào kiến thức có sẵn của mô hình, ứng dụng có thể truy xuất nội dung liên quan từ các tài liệu đã nạp và sử dụng nội dung đó để tạo phản hồi.
5. Tạo tác nhân sử dụng công cụ
Đối với các tác vụ yêu cầu thực hiện hành động hoặc sử dụng dịch vụ bên ngoài, hãy định nghĩa một tác nhân bằng Function Calling hoặc ReAct. Thêm các công cụ tích hợp sẵn như Google Search, DALL·E, Stable Diffusion hoặc WolframAlpha, hoặc kết nối một công cụ tùy chỉnh được thiết kế để ứng dụng hỗ trợ.
Một ví dụ là tác nhân nghiên cứu sử dụng công cụ tìm kiếm để thu thập thông tin trước khi tạo phản hồi. Một ví dụ khác là tác nhân sáng tạo gọi công cụ tạo hình ảnh khi người dùng yêu cầu nội dung trực quan.
6. Tích hợp ứng dụng thông qua API
Các khả năng của Dify đều có API tương ứng, cho phép một ứng dụng đã hoàn thiện hoạt động như backend cho một sản phẩm khác. Sử dụng phương thức backend-as-a-service này khi ứng dụng web, công cụ nội bộ hoặc hệ thống doanh nghiệp khác cần gọi logic được xây dựng trong Dify. Xem tài liệu chính thức để biết hướng dẫn tích hợp mới nhất.
Giám sát và cải tiến liên tục
Các khả năng LLMOps của Dify giúp bạn giám sát nhật ký và hiệu suất ứng dụng theo thời gian. Dữ liệu production và chú thích có thể định hướng việc cải tiến prompt, tập dữ liệu và lựa chọn mô hình. Điều này tạo ra một quy trình lặp, trong đó bạn triển khai ứng dụng, kiểm tra cách ứng dụng hoạt động và tinh chỉnh dựa trên kết quả quan sát được.
Để tăng khả năng quan sát, hãy xem các tích hợp của Dify với Opik, Langfuse và Arize Phoenix. Chọn một tích hợp dựa trên nhu cầu tracing, đánh giá và giám sát của môi trường bạn.
Mẹo thiết lập nâng cao
Tùy chỉnh biến môi trường
Các giá trị mặc định thiết yếu khi khởi động được lưu trong docker/.env.example. Lệnh khởi động nhanh sẽ sao chép các giá trị mặc định này vào docker/.env, đây là tệp cần chỉnh sửa để triển khai tùy chỉnh. Các biến nâng cao tùy chọn được sắp xếp theo chủ đề trong docker/envs/.
Sau khi thay đổi cấu hình, hãy chạy lại lệnh sau từ thư mục docker:
docker compose up -dXem tài liệu về biến môi trường để biết danh sách đầy đủ các thiết lập hiện có.
Giám sát chỉ số với Grafana
Một bảng điều khiển Grafana do cộng đồng xây dựng có thể sử dụng cơ sở dữ liệu PostgreSQL của Dify làm nguồn dữ liệu. Bảng điều khiển cung cấp khả năng giám sát ở cấp ứng dụng, tenant, tin nhắn và các chỉ số khác.
Triển khai trên Kubernetes
Đối với các môi trường yêu cầu tính sẵn sàng cao, README liệt kê các Helm chart và tệp YAML Kubernetes do cộng đồng đóng góp. Các tùy chọn hiện có gồm:
- Helm chart Dify của LeoQuote
- Helm chart Dify của BorisPolonsky
- Các chart AI của magicsong
- Các tệp YAML Kubernetes của Winson-030
- Các tệp Kubernetes của wyy-holding
- Các tệp YAML hỗ trợ Dify v1.6.0 của Zhoneym
Các tài nguyên triển khai này do cộng đồng đóng góp, vì vậy hãy xem xét tài liệu và khả năng tương thích của chúng trước khi sử dụng trong môi trường production.
Sử dụng công cụ hạ tầng đám mây
README của dự án cũng giới thiệu các tùy chọn triển khai do cộng đồng xây dựng cho những nền tảng đám mây lớn:
- Terraform: Có các dự án cộng đồng dành cho Azure Global và Google Cloud.
- AWS CDK: Các mẫu AWS cung cấp tùy chọn tự lưu trữ dựa trên EKS và ECS.
- Alibaba Cloud: Có các tùy chọn triển khai Computing Nest và Data Management.
- Azure Kubernetes Service: Azure DevOps Pipeline và Helm chart do cộng đồng xây dựng có thể triển khai Dify lên AKS.
Xử lý báo cáo bảo mật một cách riêng tư
Không công khai các lỗ hổng bảo mật dưới dạng issue trên GitHub. Dự án yêu cầu người dùng báo cáo riêng cho security@dify.ai.
Nhận trợ giúp và đóng góp
Sử dụng GitHub Discussions để đặt câu hỏi và gửi phản hồi, còn GitHub Issues để báo lỗi và đề xuất tính năng. Cộng đồng Discord là nơi chia sẻ ứng dụng và trao đổi với những người dùng khác.
Nếu bạn muốn đóng góp mã, hãy đọc hướng dẫn đóng góp của dự án. Những người đóng góp bản dịch có thể tham khảo README về quốc tế hóa.
Kết luận
Dify tích hợp quy trình, prompt, RAG, tác nhân, quản lý mô hình, khả năng quan sát và API vào một nền tảng ứng dụng LLM thống nhất. Bạn có thể dùng thử ngay qua Dify Cloud hoặc tự lưu trữ Community Edition bằng Docker Compose. Hãy bắt đầu với cấu hình mặc định, xây dựng và kiểm thử một ứng dụng AI tập trung, sau đó áp dụng các tùy chọn giám sát hoặc triển khai đám mây khi yêu cầu của bạn phát triển.
