To perform fine-tuning or batch inference with Vertex AI, you need to upload files to Google Cloud Storage. With Portkey, you can easily upload files to GCS and use them for fine-tuning or batch inference with Vertex AI models.

Uploading Files

from portkey_ai import Portkey

# Initialize the Portkey client
portkey = Portkey(
    api_key="PORTKEY_API_KEY",  # Replace with your Portkey API key
    virtual_key="VERTEX_VIRTUAL_KEY",   # Add your Vertex virtual key
    vertex_storage_bucket_name="your_bucket_name", # Specify the GCS bucket name
    provider_file_name="your_file_name.jsonl", # Specify the file name in GCS
    provider_model="gemini-1.5-flash-001" # Specify the model to use
)

upload_file_response = portkey.files.create(
  purpose="fine-tune", # Can be "fine-tune" or "batch"
  file=open("dataset.jsonl", "rb")
)

print(upload_file_response)

Get File

from portkey_ai import Portkey

# Initialize the Portkey client
portkey = Portkey(
    api_key="PORTKEY_API_KEY",  # Replace with your Portkey API key
    virtual_key="VERTEX_VIRTUAL_KEY"   # Add your Vertex virtual key
)

file = portkey.files.retrieve(file_id="file_id")

print(file)

Get File Content

from portkey_ai import Portkey

# Initialize the Portkey client
portkey = Portkey(
    api_key="PORTKEY_API_KEY",  # Replace with your Portkey API key
    virtual_key="VERTEX_VIRTUAL_KEY"   # Add your Vertex virtual key
)

file_content = portkey.files.content(file_id="file_id")

print(file_content)

Note: The ListFiles endpoint is not supported for Vertex AI.