Skip to main content

Helper for authenticating with VertexAI

Project description

VertexAuth

This is a helper library for accessing Google Vertex AI models

To use it, get a GCloud Service Account Key File (SAKF), then save a default "superkey" file into your .config dir, like so:

from vertexauth import create_superkey_file
path=create_superkey_file(SAKF_path='/path/to/gcloud/service_auth_key_file.json',
                                     region='us-east5',
                                     save_as_default=True)

The superkey file is just the SAKF file with region information added.

Then later, you can create a claudette client or AnthropicVertex client object like so:

from vertexauth import get_anthropic_client, get_claudette_client, load_vertex_vals
from claudette import Chat

# AnthropicVertex
anthropic_client = get_anthropic_client()

# claudette.Client
claudette_client = get_claudette_client()
cl_chat = Chat(cli=claudette_client)
cl_chat("Hi, there!")

# just read the vals
val_dict = load_vertex_vals()

These functions also let you pass a path to a specific superkey, instad of loading the default one.

Alternatively, they can read an env var, VERTEXAUTH_SUPERKEY, which contains a superkey as a string. This lets you share it and use it like a normal API key. However, it's a bit long -- around 2,500 characters, since it's simply the gzipped, base64-encoded contents of the file. Use create_superkey_env_value to create one.

Huh, what's a Service Account Key File?

Yes it would be easier of course if Google just gave us a single API key value. But they don't.

afaict the closest you can get to this with Google Vertex AI is to generate a "Service Account Key File" (SAKF), a JSON file with embedded credentials. But even once you have this, you need to supply it along with other coordinated pieces of information (like project ID and region) in order to make an API request against a VertexAI model. So it's a bit of a hassle., and that's what this library helps with. That's all.

But how do I get this blessed Service Account Key File from Google

It's not pretty. Here's approximately what you need to do:

  • Go to Google Cloud console
  • Select a project
  • Go to APIs & Services
  • Go to Enabled APIs and Services
  • Select "Vertex AI API" from the list and ensure that it is Enabled"
  • Within that panel, select "Quotas and System Limits"
    • In the filter control, enter the property name "Online prediction requests per base model per minute per region per base_model" to find that row.
    • Scope to a particular region (e.g., "us-east5") and and base_model (e.g., "anthropic-claude-3-5-sonnet-v2")
    • Use "Edit Quota" to ensure that you have a non-zero quote for it
  • Also, within that same panel, select "Credentials"
    • Click "+ Create Credentials"
    • Select "Service Account"
    • Enter a name like "vertexaiserviceaccount" etc for the account,
    • For permissions, give it the "Vertex AI Service Agent" role.
    • Go to keys, select "Add key" and select "JSON"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vertexauth-0.2.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vertexauth-0.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file vertexauth-0.2.0.tar.gz.

File metadata

  • Download URL: vertexauth-0.2.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.0 Darwin/24.1.0

File hashes

Hashes for vertexauth-0.2.0.tar.gz
Algorithm Hash digest
SHA256 325bd8df5e0e84044040938de0a428b078ad7b08a51fe5c0a211e56db76aaf0f
MD5 fa17aaaef5bc012c3a2d79656e9f1190
BLAKE2b-256 b83311b97afe617f5694d2458323ca516dbf8164066dabea0593adc8579f76c8

See more details on using hashes here.

File details

Details for the file vertexauth-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: vertexauth-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.0 Darwin/24.1.0

File hashes

Hashes for vertexauth-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef644ad0abe5bf50add15c78486d50f78d659584f961b0e2dbd4ca7101eb1f0c
MD5 a5e834c24eb2a8d373d33c0c00603c1c
BLAKE2b-256 dba2120842be4e921492126e99bf89cb9f4b07a286a00b8d89263c74827d1ab5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page