Google Vertex
vertex
提供程序与 Google 的 Vertex AI 服务兼容,该服务提供对 Gemini 和 Bison 等模型的访问。
您可以通过指定 Vertex AI 提供的任何可用稳定或最新模型版本来使用它。这些包括:
vertex:chat-bison
vertex:chat-bison@001
vertex:chat-bison@002
vertex:chat-bison-32k
vertex:chat-bison-32k@001
vertex:chat-bison-32k@002
vertex:codechat-bison
vertex:codechat-bison@001
vertex:codechat-bison@002
vertex:codechat-bison-32k
vertex:codechat-bison-32k@001
vertex:codechat-bison-32k@002
vertex:gemini-pro
vertex:gemini-ultra
vertex:gemini-1.0-pro-vision
vertex:gemini-1.0-pro-vision-001
vertex:gemini-1.0-pro
vertex:gemini-1.0-pro-001
vertex:gemini-1.0-pro-002
vertex:gemini-pro-vision
vertex:gemini-1.5-pro-latest
vertex:gemini-1.5-pro-preview-0409
vertex:gemini-1.5-pro-preview-0514
vertex:gemini-1.5-pro
vertex:gemini-1.5-pro-001
vertex:gemini-1.0-pro-vision-001
vertex:gemini-1.5-flash-preview-0514
vertex:gemini-1.5-flash-001
vertex:aqa
还支持诸如 vertex:embedding:text-embedding-004
的嵌入模型。
tip
如果您使用的是 Google AI Studio, 请参阅 google
提供程序。
使用 Google 进行身份验证
要在 Node 中调用 Vertex AI 模型,您需要将 Google 的官方身份验证客户端作为对等依赖项安装:
npm i google-auth-library
确保在 Google Cloud 的相关项目中启用了 Vertex AI API。然后,确保您已在 gcloud
CLI 中选择了该项目:
gcloud config set project PROJECT_ID
接下来,确保您已使用以下方法之一向 Google Cloud 进行了身份验证:
- 您已使用
gcloud auth application-default login
登录到帐户 - 您正在使用具有适当角色的服务帐户的机器上运行
- 您已下载具有适当角色的服务帐户的凭据,并将
GOOGLE_APPLICATION_CREDENTIALS
环境变量设置为凭据文件的路径。
环境变量
VERTEX_API_KEY
- gcloud API 令牌。获取 API 密钥的最简单方法是运行gcloud auth print-access-token
。VERTEX_PROJECT_ID
- gcloud 项目 IDVERTEX_REGION
- gcloud 区域,默认为us-central1
VERTEX_PUBLISHER
- 模型发布者,默认为google
VERTEX_API_HOST
- 用于覆盖完整的 Google API 主机,例如用于 LLM 代理,默认为{region}-aiplatform.googleapis.com
Vertex 提供程序还支持各种配置选项,例如上下文、示例、温度、maxOutputTokens 等,可用于自定义模型的行为,如下所示:
providers:
- id: vertex:chat-bison-32k
config:
generationConfig:
temperature: 0
maxOutputTokens: 1024
安全设置
可以使用 safetySettings
键配置 AI 安全设置。例如:
- id: vertex:gemini-pro
config:
safetySettings:
- category: HARM_CATEGORY_HARASSMENT
threshold: BLOCK_ONLY_HIGH
- category: HARM_CATEGORY_VIOLENCE
threshold: BLOCK_MEDIUM_AND_ABOVE
有关 Google 的 SafetySetting API 的更多详细信息,请参见此处。
覆盖评分器
要使用 Vertex 模型进行模型评分(例如 llm-rubric
和 factuality
断言),或覆盖 similar
断言的嵌入提供程序,请使用 defaultTest
覆盖所有测试的提供程序:
defaultTest:
options:
provider:
# 使用 gemini-pro 进行模型评分评估(例如 llm-rubric 等断言)
text: vertex:chat:gemini-pro
# 使用 vertex 嵌入进行相似性评估
embedding: vertex:embedding:text-embedding-004
其他配置选项
选项 | 描述 | 默认值 |
---|---|---|
apiKey | gcloud API 令牌。 | 无 |
apiHost | 完整的 Google API 主机,例如用于 LLM 代理。 | {region}-aiplatform.googleapis.com |
projectId | gcloud 项目 ID。 | None |
region | gcloud 区域。 | us-central1 |
publisher | 模型发布者。 | google |
context | 生成响应时模型考虑的上下文。 | None |
examples | 用于引导模型的示例。 | None |
safetySettings | 安全设置 用于过滤生成的内容。 | None |
generationConfig.temperature | 控制随机性。较低的值使模型更具确定性。 | None |
generationConfig.maxOutputTokens | 生成的最大令牌数。 | None |
generationConfig.topP | 核采样:较高的值使模型考虑更多候选者。 | None |
generationConfig.topK | 通过随机采样控制多样性:较低的值使采样更具确定性。 | None |
generationConfig.stopSequences | 将停止输出生成的字符串集合。 | [] |
toolConfig | 工具使用配置 | None |
systemInstruction | 系统提示。支持 Nunjucks 模板变量 {{var}} | None |
请注意,并非所有模型都支持所有参数。请参阅 Google 文档 了解如何使用和格式化参数。