Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

vertexai.preview.prompts.get() does not populate version_id or version_name when fetching latest version

Aperta
#6,637 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Inizia in vertexai/prompts/_prompt_management.py, in particolare con get(), _get_prompt_resource() e _get_prompt_resource_from_version(); confronta il modo in cui i recuperi dell’ultima versione e di una versione fissata popolano i metadati della versione. Riproduci il caso di prompts.get() senza una versione fissata e verifica che version_id e version_name siano valorizzati per l’ultima versione, mentre il comportamento di recupero delle versioni fissate rimanga corretto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

api: vertex-ai
Environment details
  • OS: Linux (Debian, x86-64)
  • Python version: 3.13.5
  • pip version: pip show pip → 24.x
  • google-cloud-aiplatform version: 1.148.1
Steps to reproduce
  1. Create a prompt in Vertex AI with at least one version via vertexai.preview.prompts.create_version()
  2. Fetch it without pinning a version: prompts.get(prompt_id="")
  3. Inspect prompt.version_id and prompt.version_name
Code example
import vertexai                                                                                                                                           
from vertexai.preview import prompts
                                                                                                                                                          
vertexai.init(project="my-project", location="us-central1")                                                                                               
                                                                                                                                                          
# Fetch latest — content is correct, but version is unknown                                                                                               
prompt = prompts.get(prompt_id="123456789")
print(prompt.prompt_data)   # ✓ correct content                                                                                                           
print(prompt.version_id)    # None  ← expected: e.g. "3"                                                                                                  
print(prompt.version_name)  # None  ← expected: e.g. "abc123"               
Pinned fetch works correctly
prompt_pinned = prompts.get(prompt_id="123456789", version_id="3")                                                                                        
 print(prompt_pinned.version_id)    # "3"   ✓                                                                                                              
 print(prompt_pinned.version_name)  # "abc123" ✓             
Stack trace

No exception is raised. The fields are silently None.

Root cause

In vertexai/prompts/_prompt_management.py, get() unconditionally assigns the caller-supplied argument back to the object:

prompt._version_id = version_id # always None when no version_id passed

_version_name is never set on this path

The underlying _get_prompt_resource() calls GetDataset, whose response carries no version pointer. _version_name is never set anywhere in the latest-fetch
path.

Compare with _get_prompt_resource_from_version(), which correctly calls get_dataset_version() and sets both fields.

Related: #6193 describes the symmetric bug — get_version() returns the wrong content for a pinned version.

Workaround
raw = prompts.get(prompt_id=prompt_id)                                                                                                                    
versions = prompts.list_versions(prompt_id=prompt_id)                                                                                                     
if versions:                                                                                                                                              
    latest = max(versions, key=lambda v: int(v.version_id))                                                                                               
    raw._version_id = latest.version_id                                                                                                                   
    raw._version_name = latest.display_name            

Works but costs an extra paginated ListDatasetVersions call per fetch.

Possible fix

In _get_prompt_resource(), after get_dataset, issue a list_dataset_versions with page_size=1 to get the latest version metadata:


  versions = prompt._dataset_client.list_dataset_versions(parent=name, page_size=1)
  for version in versions:                                                                                                                                  
      prompt._version_id = version.name.split("/")[-1]
      prompt._version_name = version.display_name                                                                                                           
      break
Lingua principale
Python
Stelle
908
Fork
468
Merge medio
2g 4h
PR unite (30g)
25

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di googleapis/python-aiplatform

Tutte le issue di googleapis/python-aiplatform

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.