genai-for-marketing

genai-for-marketing

Google Cloud生成式AI助力营销优化的开源项目

这个开源项目展示了Google Cloud生成式AI在营销领域的应用。项目提供了从环境配置到实际使用的详细指南,涵盖营销洞察、受众分析、趋势发现和内容生成等功能。通过整合Vertex AI、BigQuery和Workspace等服务,项目旨在提升营销效率,支持数据驱动决策。项目还包含多个Jupyter笔记本,用于演示核心概念。此外,项目集成了Looker仪表板用于数据可视化,以及Vertex AI Search用于改进内容搜索体验。整体架构设计支持从数据分析到内容生成的全流程营销优化。

Google Cloud生成式AI营销Vertex AIWorkspaceGithub开源项目

Generative AI for Marketing using Google Cloud

This repository provides a deployment guide showcasing the application of Google Cloud's Generative AI for marketing scenarios. It offers detailed, step-by-step guidance for setting up and utilizing the Generative AI tools, including examples of their use in crafting marketing materials like blog posts and social media content.

Additionally, supplementary Jupyter notebooks are provided to aid users in grasping the concepts explored in the demonstration.

The architecture of all the demos that are implemented in this application is as follows.
Architecture

Repository structure

.
├── app
└── backend_apis
└── frontend
└── notebooks
└── templates
└── installation_scripts
└── tf
  • /app: Architecture diagrams.
  • /backend_apis: Source code for backend APIs.
  • /frontend: Source code for the front end UI.
  • /notebooks: Sample notebooks demonstrating the concepts covered in this demonstration.
  • /templates: Workspace Slides, Docs and Sheets templates used in the demonstration.
  • /installation_scripts: Installation scripts used by Terraform.
  • /tf: Terraform installation scripts.

Demonstrations

In this repository, the following demonstrations are provided:

  • Marketing Insights: Utilize Looker Dashboards to access and visualize marketing data, powered by Looker dashboards, marketers can access and visualize marketing data to build data driven marketing campaigns. These features can empower businesses to connect with their target audience more efficiently, thereby improving conversion rates.
  • Audience and Insight finder: Conversational interface that translates natural language into SQL queries. This democratizes access to data for non-SQL users removing any bottleneck for marketing teams.
  • Trendspotting: Identify emerging trends in the market by analyzing Google Trends data on a Looker dashboard and summarize news related to top search terms. This can help businesses to stay ahead of the competition and to develop products and services that meet the needs and interests of their customers.
  • Content Search: Improve search experience for internal or external content with Vertex AI Search for business users.
  • Content Generation: Reduce time for content generation with Vertex Foundation Models. Generate compelling and captivating email copy, website articles, social media posts, and assets for PMax. All aimed at achieving specific goals such as boosting sales, generating leads, or enhancing brand awareness. This encompasses both textual and visual elements using Vertex language & vision models.
  • Workspace integration: Transfer the insights and assets you've generated earlier to Workspace and visualize in Google Slides, Docs and Sheets.

Notebooks and code samples

The notebooks listed below were developed to explain the concepts exposed in this repository:

The following additional (external) notebooks provide supplementary information on the concepts discussed in this repository:

  • Tuning and deploy a foundation model: This notebook demonstrates how to tune a model with your dataset to improve the model's response. This is useful for brand voice because it allows you to ensure that the model is generating text that is consistent with your brand's tone and style.
  • Document summarization techniques: Two notebooks explaining different techniques to summarize large documents.
  • Document Q&A: Two notebooks explaining different techniques to do document Q&A on a large amount of documents.
  • Vertex AI Search - Web search: This demo illustrates how to search through a corpus of documents using Vertex AI Search. Additional features include how to search the public Cloud Knowledge Graph using the Enterprise Knowledge Graph API.
  • Vertex AI Search - Document search: This demo illustrates how Vertex AI Search and the Vertex AI PaLM API help ensure that generated content is grounded in validated, relevant and up-to-date information.
  • Getting Started with LangChain and Vertex AI PaLM API: Use LangChain and Vertex AI PaLM API to generate text.

Environment Setup

This section outlines the steps to configure the Google Cloud environment that is required in order to run the code provided in this repository.
You will be interacting with the following resources:

  • BigQuery is utilized to house data from Marketing Platforms, while Dataplex is employed to keep their metadata.
  • Vertex AI Search & Conversation - are used to construct a search engine for an external website.
  • Workspace (Google Slides, Google Docs and Google Sheets) are used to visualized the resources generated by you.

1- Select a Google Cloud project

In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

As this is a DEMONSTRATION, you need to be a project owner in order to set up the environment.

2- Enable the required services

From Cloud Shell, run the following commands to enable the required Cloud APIs.
Replace <CHANGE TO YOUR PROJECT ID> to the id of your project and <CHANGE TO YOUR LOCATION> to the location where your resources will be deployed.

export PROJECT_ID=<CHANGE TO YOUR PROJECT ID> export LOCATION=<CHANGE TO YOUR LOCATION> gcloud config set project $PROJECT_ID

Enable the services:

gcloud services enable \ run.googleapis.com \ cloudbuild.googleapis.com \ compute.googleapis.com \ cloudresourcemanager.googleapis.com \ iam.googleapis.com \ container.googleapis.com \ cloudapis.googleapis.com \ cloudtrace.googleapis.com \ containerregistry.googleapis.com \ iamcredentials.googleapis.com \ secretmanager.googleapis.com \ firebase.googleapis.com gcloud services enable \ monitoring.googleapis.com \ logging.googleapis.com \ notebooks.googleapis.com \ aiplatform.googleapis.com \ storage.googleapis.com \ datacatalog.googleapis.com \ appengineflex.googleapis.com \ translate.googleapis.com \ admin.googleapis.com \ docs.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ slides.googleapis.com \ firestore.googleapis.com

3- In Cloud Shell, authenticate with your account and set Quota Project

From Cloud Shell, execute the following commands:

  • Set your project id. Replace <CHANGE TO YOUR PROJECT ID> with your project ID.
export PROJECT_ID=<CHANGE TO YOUR PROJECT ID>
  • Follow the instructions in your Shell to authenticate with the same user that has EDITOR/OWNER rights to this project.

gcloud auth application-default login

  • Set the Quota Project

gcloud auth application-default $PROJECT_ID

4- Clone the Gen AI for Marketing repository

From Cloud Shell, execute the following command:

git clone https://github.com/GoogleCloudPlatform/genai-for-marketing

5- Update the configuration with information of your project

Open the configuration file and include your project id (line 16) and location (line 17).

6- Prepare BigQuery and Dataplex

From Cloud Shell, navigate to /installation_scripts, install the python packages and execute the following script.
Make sure you have set the environmental variables PROJECT_ID and LOCATION.

cd ./genai-for-marketing/installation_scripts
pip3 install -r requirements.txt

Run the python script to create the BigQuery dataset and the DataCatalog TagTemplate.

python3 1_env_setup_script.py

7- Create an Vertex AI Search engine for a public website

Follow the steps below to create a search engine for a website using Vertex AI Search.

  • Make sure the Vertex AI Search APIs are enabled here and you activated Vertex AI Search here.
  • Create and preview the website search engine as described here and here.

After you finished creating the Vertex AI Search datastore, navigate back to the Apps page and copy the ID of the datastore you just created.
Example:
Vertex AI Search ID

Open the configuration file - line 33 and include the datastore ID. Don't forget to save the configuration file.

Important: Alternatively, you can create a search engine for structure or unstructured data.

8- Add your Looker Dashboards

In order to render your Looker Dashboards in the Marketing Insights and Campaing Performance pages, you need to update a HTML file with links to them.

  1. Open this HTML file - lines 18 and 28 and include links to the Looker dashboards for Marketing Insights. Example:
  • Add a new line after line 18 (or replace line 18) and include the title and ID of your Looker Dashboard.
<option value="Overview">Overview</option>
  • For each dashboard id/title you included the step above, include a link to it at the end of this file.
<div *ngIf="overview" class="overviewcss"> <iframe width="1000" height="1000" src="https://googledemo.looker.com/embed/dashboards/2131?allow_login_screen=true" ></iframe> </div>

The allow_login_screen=true in the URL will open the authentication page from Looker to secure the access to your account.

  1. Open this HTML file - lines 27 and 37 and include links to the Looker dashboards for Campaign Performance.

[Optional] If you have your Google Ads and Google Analytics 4 accounts in production, you can deploy the Marketing Analytics Jumpstart solution to your project, build the Dashboards and link them to the demonstration UI.

9- Create a Generative AI DataStore Agent

Next you will create a Generative AI Agent that will assist the users to answer questions about Google Ads, etc.

  • Follow the steps described in this Documentation to build your own Datastore Agent.
    • Execute these steps in the same project you will deploy this demo.
  • Enable Dialogflow Messenger integration and copy the agent-id from the HTML code snippet provided by the platform.
    • The HTML code snippet looks like this: HTML Code
  • Open the HTML file - line 117 and replace the variable dialogFlowCxAgendId with the agent-id.

10- Workspace integration

Follow the steps below to setup the Workspace integration with this demonstration.

10.1- Create a service account and upload the content to Secret Manager

  • Create a Service Account (SA) in the same project you are deploying the demo and download the JSON API Key. This SA doesn't need any roles / permissions.
    • Follow this documentation to create the service account. Take note of the service account address; it will look like this: name-of-the-sa@my-project.iam.gserviceaccount.com.
    • Follow this documentation to download the key JSON file with the service account credentials.
  • Upload the content of this Service Account to a Secret in Google Cloud Secret Manager.

IMPORTANT: For security reasons, DON'T push this credentials to a public Github repository.

10.2- Change the DOMAIN that folders will be shared with

This demonstration will create folders under Google Drive, Google Docs documents, Google Slides presentations and Google Sheets documents.
When we create the Drive folder, we set the permission to all users under a specific domain.

  • Open config.toml - line 59 and change to the domain you want to share the folder (example: mydomain.com).
    • This is the same domain where you have Workspace set up.

Be aware that this configuration will share the folder with all the users in that domain.
If you want to change that behavior, explore different ways of sharing resources from this documentation:
https://developers.google.com/drive/api/reference/rest/v3/permissions#resource:-permission

10.3- Google Drive

  • Navigate to Google Drive and create a folder.
    • This folder will be used to host the templates and assets created in the demo.
  • Share this folder with the service account address you created in the previous step. Give "Editor" rights to the service account. The share will look like this: Share Drive
  • Take note of the folder ID. Go into the folder you created and you will be able to find the ID in the URL. The URL will look like this: Drive ID
  • Open the configuration file app_config.toml - line 39 and change to your folder ID.
  • IMPORTANT: Also share this folder with people who will be using the code.

10.4- Google Slides, Google Docs and Google Sheets

  • Copy the content of templates to this newly created folder.
  • For the Google Slides template ([template] Marketing Assets):
    • From the Google Drive folder open the file in Google Slides.
    • In Google Slides, click on File and Save as Google Slides. Take note of the Slides ID from the URL.
    • Open the configuration file app_config.toml - line 40 and change to your Slides ID.
  • For the Google Docs template ([template] Gen AI for Marketing Google Doc Template):
    • From the Google Drive folder open the file in Google Docs.
    • In Google Docs, click on File and Save as Google Docs. Take note of the Docs ID from the URL.
    • Open the configuration file app_config.toml - line 41 and change to your Docs ID.
  • For the Google Sheets template ([template] GenAI for Marketing):
    • From the Google Drive folder open the Google Sheets.
    • In Google Sheets, click in File and Save as Google Sheets. Take note of the Sheets ID from the URL.
    • Open the configuration file app_config.toml - line 42 and change to your Sheets ID.

11- Deploy the APIs to Cloud Run and Firebase Hosting

11.1- Cloud Run

cd ./genai-for-marketing/backend_apis/

  • Open the Dockerfile - line 20 and include your project id where indicated.
  • Build and deploy the Docker image to Cloud Run.

gcloud run deploy genai-marketing --source . --region us-central1 --allow-unauthenticated

  • Open the Typescript file - line 2 and include the URL to your newly created Cloud Run deployment.
    Example: https://marketing-image-tlmb7xv43q-uc.a.run.app

11.2- Firebase Hosting

Enable Firebase

  • Go to https://console.firebase.google.com/
  • Select "Add project" and enter your GCP project id. Make sure it is the same project you deployed the resources so far.
  • Add Firebase to one of your existing Google Cloud projects
  • Confirm Firebase billing plan
  • Continue and complete the configuration

11.3- Firebase Hosting app setup

After you have a Firebase project, you can register your web app with that project.

In the center of the Firebase

编辑推荐精选

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多