Problem/Motivation

... so why should we keep it stored for every model? (Especially because only one key could be used on a site for Vertex AI communication, not many.)

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Comments

mxr576 created an issue.

mxr576’s picture

If we would remove this value from the model settings payload then we would probably get rid of the only environment specific information stored in model settings under ai.settings config so we would not need to build in integration with config_ignore for ignoring that config key value.

yce’s picture

The Project ID cannot be fully inferred from the key as a "principal" can be owner in another project for which the key belongs.
Therefore, an API service account can have access to multiple projects using the same key.

mxr576’s picture

Would it be possible to make project_id optional and automatically derive it from the service account key? That is how LiteLLM handles it. This would cover my original because; the project ID is environment specific and also tied to the credentials in us, so if the module could skip storing this in exported configuration by default, then we would not have to ignore that setting in config exports manually.

https://docs.litellm.ai/docs/providers/vertex#authentication---vertex_pr...

vertex_project Optional[str] - use if vertex project different from the one in vertex_credentials