Go back

Setup and installation of 'Dify AI: Build & Launch GenAI Apps' on GCP


This section describes how to provision and connect to ‘Dify AI: Build & Launch GenAI Apps’ VM solution on GCP.

  1. Open Dify AI: Build & Launch GenAI Apps listing on GCP Marketplace.

  2. Click Get Started.

/img/gcp/difyai-vm/marketplace.png

It will ask you to enable the API’s if they are not enabled already for your account. Please click on enable as shown in the screenshot.

/img/gcp/nvidia-ubuntu/enable-api.png

  • It will take you to the agreement page. On this page, you can change the project from the project selector on top navigator bar as shown in the below screenshot.

  • Accept the Terms and agreements by ticking the checkbox and clicking on the AGREE button. /img/common/gcp_agreement_page.png

  • It will show you the successfully agreed popup page. Click on Deploy. /img/common/gcp_agreement_accept_page.png

  • On deployment page, give a name to your deployment.

  • In Deployment Service Account section, click on Existing radio button and Choose a service account from the Select a Service Account dropdown.
  • If you don't see any service account in dropdown, then change the radio button to New Account and create the new service account here.
  • If after selecting New Account option, you get below permission error message then please reach out to your GCP admin to create service account by following Step by step guide to create GCP Service Account and then refresh this deployment page once the service account is created, it should be available in the dropdown.

  • You are missing resourcemanager.projects.setIamPolicy permission, which is needed to set the required roles on the created Service Account
  • Select a zone where you want to launch the VM(such as us-east1-a)
  • Optionally change the number of cores and amount of memory. ( This defaults to 2 vCPUs and 7.5 GB RAM)

Minimum VM Specs : 7.5GB Memory /2vCPU

  • Optionally change the boot disk type and size. (This defaults to ‘Standard Persistent Disk’ and 25GB respectively)
  • Optionally change the network name and subnetwork names. Be sure that whichever network you specify has ports 22 (for ssh), 3389 (for RDP) and 443 (for HTTPS) exposed.
  • Click Deploy when you are done.
  • Dify AI: Build & Launch GenAI Apps will begin deploying.

/img/gcp/difyai-vm/deployed-01.png

/img/gcp/difyai-vm/deployed-02.png

/img/gcp/difyai-vm/deployed-03.png

  1. A summary page displays when the compute engine is successfully deployed. Click on the Instance link to go to the instance page .

  2. On the instance page, click on the “SSH” button, select “Open in browser window”.

/img/gcp/puppet-support/ssh-option.png

  1. This will open SSH window in a browser. Switch to ubuntu user and navigate to ubuntu home directory.
sudo su ubuntu
cd /home/ubuntu/

/img/gcp/difyai-vm/switch-user.png

  1. Run below command to set the password for “ubuntu” user
sudo passwd ubuntu

/img/gcp/difyai-vm/update-passwd.png

  1. Now the password for ubuntu user is set, you can connect to the VM’s desktop environment from any local windows machine using RDP or linux machine using Remmina.

  2. To connect using RDP via Windows machine, first note the external IP of the VM from VM details page as highlighted below

/img/gcp/saltstack-semaphore/external-ip.png

  1. Then From your local windows machine, goto “start” menu, in the search box type and select “Remote desktop connection”

  2. In the “Remote Desktop connection” wizard, paste the external ip and click connect

/img/gcp/jupyter-python-notebook/rdp.png

  1. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in step 6 to authenticate. Click OK

/img/gcp/jupyter-python-notebook/rdp-login.png

  1. Now you are connected to out of box Dify AI: Build & Launch GenAI Apps VM’s desktop environment via Windows machines.

/img/azure/minikube/rdp-desktop.png

  1. To connect using RDP via Linux machine, first note the external IP of the VM from VM details page,then from your local Linux machine, goto menu, in the search box type and select “Remmina”.

Note: If you don’t have Remmina installed on your Linux machine, first Install Remmina as per your linux distribution.

/img/gcp/common/remmina-search.png

  1. In the “Remmina Remote Desktop Client” wizard, select the RDP option from dropdown and paste the external ip and click enter.

/img/gcp/common/remmina-external-ip.png

  1. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in step 6 to authenticate. Click OK

/img/gcp/common/remmina-rdp-login.png

  1. Now you are connected to out of box Dify AI: Build & Launch GenAI Apps VM’s desktop environment via Linux machine.

/img/azure/minikube/rdp-desktop.png

  1. To access the DifyAI Web Interface, copy the public IP address of the VM and paste it in the browser as https://public_ip_of_vm. Make sure to use https in the URL:

Browser will display a SSL certificate warning message. Accept the certificate warning and Continue.

/img/azure/difyai-vm/browser-warning.png

  1. Provide the admin user details here and create your first admin account.

/img/azure/difyai-vm/admin-account-registration-page.png

  1. Relogin with your new admin account.

/img/azure/difyai-vm/relogin-with-admin-account.png

  1. Now you are logged in to DifyAI Web Interface.

/img/azure/difyai-vm/difyai-homepage.png

  1. Dify is a development platform for AI application based on LLM Apps, when you are using Dify for the first time, you need to go to Settings —> Model Providers to add and configure the LLM you are going to use.

/img/azure/difyai-vm/settings.png

/img/azure/difyai-vm/model-providers.png

Dify supports major model providers like OpenAI’s GPT series and Anthropic’s Claude series. Each model’s capabilities and parameters differ, so select a model provider that suits your application’s needs. Obtain the API key from the model provider’s official website before using it in Dify. Read More

  • Under settings you will see different options like -

  • Members: allows you to add more members

/img/azure/difyai-vm/members.png

  • Data source: You can add different Data Sources from Data Source tab as shown in the screenshot.

/img/azure/difyai-vm/data-source.png

  • API extensions: The API-Based Extension in Dify AI empowers developers to augment and customize application functionalities by integrating external APIs and services.

/img/azure/difyai-vm/api-extenstion.png

  • Language: Switch between different languages for your DifyAI UI from the language option given here.

/img/azure/difyai-vm/language.png

  1. Explore:

    The Explore tab in the Dify AI user interface is designed to help users discover and utilize pre-built AI application templates. These templates cover various domains such as human resources, assistants, translation, programming, and writing.

/img/azure/difyai-vm/explore.png

  1. Studio:

    The Studio tab in Dify AI serves as a comprehensive interface for developing, managing, and deploying AI applications powered by large language models (LLMs) like GPT. It integrates various tools and features to streamline the AI application development process.

/img/azure/difyai-vm/studio.png

  1. Knowledge:

Dify’s Knowledge feature visualizes each stage of the RAG pipeline, providing a friendly UI for application builders to easily manage personal or team knowledge. It also allows for seamless integration into AI applications.

Developers can upload internal company documents, FAQs, and standard working guides, then process them into structured data that large language models (LLMs) can query. Read more

/img/azure/difyai-vm/knowledge.png

  1. Tools:

The Tools tab in Dify AI is designed to extend the functionality of your AI applications by integrating external services and APIs. These tools can be utilized within Chatflow, Workflow, and Agent applications to perform specific tasks, such as web searches, data extraction, or image generation

/img/azure/difyai-vm/tools.png

  1. Plugins:

    Plugin is a more developer-friendly and highly extensible third-party service extension module. It contains five distinct plugin types, each designed to solve well-defined scenarios, giving developers limitless freedom to customize and enhance Dify applications.

    Additionally, the plugin system is designed to be easily shared. You can distribute your plugins via the Dify Marketplace, GitHub, or as a Local file package. Read more

/img/azure/difyai-vm/plugins.png

For more details, please visit Official Documentation page

For more details on customizing environment variables, please refer to Overview of environment file

Go back