【GCP系列教程】Vertex AI 食用指南


简介

Vertex AI 是一个机器学习 (ML) 平台,可让您训练和部署机器学习模型和 AI 应用,以及自定义大型语言模型 (LLM),以在 AI 驱动的应用中使用。Vertex AI 结合了数据工程、数据科学和机器学习工程工作流,使您的团队能够使用通用工具集进行协作,并利用 Google Cloud 的优势扩缩您的应用。

Vertex AI 提供了几种模型训练和部署的选项:

  • 借助 AutoML,您可以训练表格、图片、文本或视频数据,不需要编写代码,也不需要准备数据分块。
  • 自定义训练使您能够完全控制训练过程,包括使用您偏好的机器学习框架、编写自己的训练代码以及选择超参数调节选项。
  • 借助 Model Garden,您可以发现、测试、自定义和部署 Vertex AI 及部分开源 (OSS) 模型和资源。
  • 借助生成式 AI,您可以使用 Google 的多种模态(文本、代码、图片、语音)的大型生成式 AI 模型。您可以调整 Google 的 LLM 来满足您的需求,然后部署它们以在 AI 驱动的应用中使用。

简单上手

开通API

访问 Vertex AI 页,点击开通API,会创建一个试用项目 My First Project 并赠送150刀,如果只需要使用 gemini 系模型只需阅读 直接调用 即可

直接调用
  • 访问 密钥页 点击创建密钥,选择 My First Project 创建,该密钥会自动升级为付费

  • 该密钥作为key填入后可直接通过 oneapi 选择 Google Gemini 渠道调用

  • 支持的模型:

模型名称 描述 输入令牌限制 输出令牌限制
chat-bison-001 优化聊天对话的遗留纯文本模型 4096 1024
text-bison-001 了解文本并生成文本的遗留模型 8196 1024
embedding-gecko-001 获取文本的分布式表示 1024 1
gemini-1.0-pro 适用于广泛任务扩展的最佳模型 30720 2048
gemini-1.0-pro-001 支持调优的稳定模型 30720 2048
gemini-1.0-pro-latest 最新版本,适用于广泛任务扩展 30720 2048
gemini-1.0-pro-vision-latest 适用于广泛应用的最佳图像理解模型 12288 4096
gemini-1.5-flash 快速且多功能的多模态模型,适用于多样任务 1048576 8192
gemini-1.5-flash-001 快速且多功能的多模态模型,适用于多样任务 1048576 8192
gemini-1.5-flash-latest 最新版本,适用于快速且多功能的多模态任务 1048576 8192
gemini-1.5-pro 中型多模态模型,支持多达100万个令牌 1048576 8192
gemini-1.5-pro-001 中型多模态模型,支持多达100万个令牌 1048576 8192
gemini-1.5-pro-latest 最新版本的中型多模态模型 1048576 8192
gemini-pro 适用于广泛任务扩展的最佳模型 30720 2048
gemini-pro-vision 适用于广泛应用的最佳图像理解模型 12288 4096
embedding-001 获取文本的分布式表示 2048 1
text-embedding-004 获取文本的分布式表示 2048 1
aqa 基于提供的来源返回答案,并估计可回答性 7168 1024

下面的操作请始终注意,左上角是否已切换为试用项目 My First Project


image

创建实例

访问 实例页,点击蓝色按钮 创建实例,地区选台湾,默认E2并设置为最低配即可,防火墙注意勾选允许


创建密钥

访问 账号页,点击账号列表最后一列的 操作 下的三个点展开,然后依次点击 管理密钥 - 添加密钥 - 创建新密钥 - 创建,密钥文件会下载到本地

创建应用

将密钥文件通过 FTP 上传至服务器并安装依赖

pip install langchain google-cloud-aiplatform
pip install --upgrade --quiet  langchain-google-vertexai

对话模型

  • 请求示例
import os
from langchain_core.prompts import ChatPromptTemplate
from langchain_google_vertexai import ChatVertexAI

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '你的密钥文件路径'

system = "You are a helpful assistant who translate English to French"
human = "Translate this sentence from English to French. I love programming."
prompt = ChatPromptTemplate.from_messages([("system", system), ("human", human)])

chat = ChatVertexAI(model="gemini-pro", convert_system_message_to_human=True)

chain = prompt | chat

result = chain.invoke({})
print(result.content)
  • 返回示例
Translation Result: J'adore la programmation.

文生图模型

需要先申请开通

  • 请求示例

import os
import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '你的密钥文件路径'
project_id = "你的项目ID"
output_file = "my-output.png"
prompt = "a cute cat"

vertexai.init(project=project_id, location="us-central1")

model = ImageGenerationModel.from_pretrained("imagegeneration@006")

images = model.generate_images(
    prompt=prompt,
)

images[0].save(location=output_file, include_generation_parameters=False)

print(f"Created output image using {len(images[0]._image_bytes)} bytes")
  • 返回示例

参考链接

58 个赞

太强了大佬

1 个赞

不明觉厉,点个赞先

1 个赞

2 个赞

这流程可不好跑啊 :joy:
佬牛我赞

2 个赞

不明觉厉,点个赞先

1 个赞

太强了R佬

3 个赞

太强了R佬

1 个赞

来了来了

1 个赞

点赞,占楼

1 个赞

强烈需要一个 oneAPI 配置 :rofl:

2 个赞

强,1000美金的那个可以用吗?

1 个赞

等一个one-api设置

太强了!

1 个赞

眼花,看成了 vercel

赞一个

测试过了,不能

1 个赞

赞一个

可惜了。这么久了好像没看到那个能做什么

不需要这样吧,直接在gemeni api那里创建一个api,点一下那个免费,改为按量计算就可以用这150刀了

2 个赞