pydantic_ai.models.vertexai
已弃用
VertexAIModel
已弃用。您可以使用 GoogleVertexProvider
通过 Vertex AI API 进行身份验证,然后使用 GeminiModel
使用 Gemini API。
用于 Gemini 模型的 *-aiplatform.googleapis.com
API 的自定义接口。
此模型继承自 GeminiModel
,仅更改了 URL 和身份验证方法,它依赖于 VertexAI generateContent
和 streamGenerateContent
函数端点,这些端点与等效的 Gemini 端点 具有相同的模式。
设置
有关如何设置此模型的身份验证以及与 GeminiModel
使用的 generativelanguage.googleapis.com
API 进行比较的详细信息,请参阅 通过 VertexAI 的 Gemini 模型配置。
使用示例
使用已在您的环境中使用“应用程序默认凭据”配置的默认 Google 项目
from pydantic_ai import Agent
from pydantic_ai.models.vertexai import VertexAIModel
model = VertexAIModel('gemini-1.5-flash') # (1)!
agent = Agent(model)
result = agent.run_sync('Tell me a joke.')
print(result.data)
#> Did you hear about the toothpaste scandal? They called it Colgate.
VertexAIModel
已弃用,您应该使用GeminiModel
和GoogleVertexProvider
代替。
或使用服务帐户 JSON 文件
from pydantic_ai import Agent
from pydantic_ai.models.vertexai import VertexAIModel
model = VertexAIModel( # (1)!
'gemini-1.5-flash',
service_account_file='path/to/service-account.json',
)
agent = Agent(model)
result = agent.run_sync('Tell me a joke.')
print(result.data)
#> Did you hear about the toothpaste scandal? They called it Colgate.
VertexAIModel
已弃用,您应该使用GeminiModel
和GoogleVertexProvider
代替。
VERTEX_AI_URL_TEMPLATE module-attribute
VERTEX_AI_URL_TEMPLATE = "https://{region}-aiplatform.googleapis.com/v1/projects/{project_id}/locations/{region}/publishers/{model_publisher}/models/{model}:"
Vertex AI 的 URL 模板。
有关更多信息,请参阅 generateContent
文档 和 streamGenerateContent
文档。
模板按如下方式使用
region
替换为region
参数,请参阅 可用区域model_publisher
替换为model_publisher
参数model
替换为model_name
参数project_id
替换为来自 auth/credentials 的project_id
function
(generateContent
或streamGenerateContent
)添加到 URL 的末尾
VertexAIModel dataclass
基类:GeminiModel
一个通过 *-aiplatform.googleapis.com
VertexAI API 使用 Gemini 的模型。
源代码位于 pydantic_ai_slim/pydantic_ai/models/vertexai.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
|
__init__
__init__(
model_name: GeminiModelName,
*,
service_account_file: Path | str | None = None,
project_id: str | None = None,
region: VertexAiRegion = "us-central1",
model_publisher: Literal["google"] = "google",
http_client: AsyncClient | None = None,
url_template: str = VERTEX_AI_URL_TEMPLATE
)
初始化 Vertex AI Gemini 模型。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
model_name
|
GeminiModelName
|
要使用的模型名称。我找不到 VertexAI 中支持的 Google 模型列表,因此目前这使用与 Gemini 模型 相同的模型。 |
必需 |
service_account_file
|
Path | str | None
|
服务帐户文件的路径。如果未提供,将使用默认环境凭据。 |
None
|
project_id
|
str | None
|
要使用的项目 ID,如果未提供,将从凭据中获取。 |
None
|
region
|
VertexAiRegion
|
要向其发出请求的区域。 |
'us-central1'
|
model_publisher
|
Literal['google']
|
要使用的模型发布者,我找不到可用的发布者的好列表,并且从试错法来看,非 Google 模型似乎不适用于 |
'google'
|
http_client
|
AsyncClient | None
|
用于发出 HTTP 请求的现有 |
None
|
url_template
|
str
|
Vertex AI 的 URL 模板,有关更多信息,请参阅 |
VERTEX_AI_URL_TEMPLATE
|
源代码位于 pydantic_ai_slim/pydantic_ai/models/vertexai.py
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
|
ainit async
ainit() -> None
初始化模型,设置 URL 和身份验证。
如果身份验证失败,这将引发错误。
源代码位于 pydantic_ai_slim/pydantic_ai/models/vertexai.py
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
|
BearerTokenAuth dataclass
使用 google-auth 生成的 bearer token 进行身份验证。
源代码位于 pydantic_ai_slim/pydantic_ai/models/vertexai.py
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
|
VertexAiRegion module-attribute
VertexAiRegion = Literal[
"asia-east1",
"asia-east2",
"asia-northeast1",
"asia-northeast3",
"asia-south1",
"asia-southeast1",
"australia-southeast1",
"europe-central2",
"europe-north1",
"europe-southwest1",
"europe-west1",
"europe-west2",
"europe-west3",
"europe-west4",
"europe-west6",
"europe-west8",
"europe-west9",
"me-central1",
"me-central2",
"me-west1",
"northamerica-northeast1",
"southamerica-east1",
"us-central1",
"us-east1",
"us-east4",
"us-east5",
"us-south1",
"us-west1",
"us-west4",
]
Vertex AI 可用的区域。
更多详情请访问 此处。