vertexai.preview.prompts.get() does not populate version_id or version_name when fetching latest version
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
- Ambito
- api, machine-learning
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
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
- Create a prompt in Vertex AI with at least one version via vertexai.preview.prompts.create_version()
- Fetch it without pinning a version: prompts.get(prompt_id="")
- 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
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di googleapis/python-aiplatform
-
Protobuf 7.35.1+ supportApertaapi: vertex-ai
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
googleapis/python-aiplatform#7132 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
api: vertex-ai
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/python-aiplatform#7097 ·
I maintainer di solito rispondono entro 1 giorno
-
CustomContainerTrainingJob.run drops max_wait_duration=0 instead of requesting indefinite DWS waitApertaapi: vertex-ai
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/python-aiplatform#7067 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
api: vertex-ai
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
googleapis/python-aiplatform#6877 ·
I maintainer di solito rispondono entro 1 giorno
-
api: vertex-ai
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
googleapis/python-aiplatform#6865 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di googleapis/python-aiplatform
Issue simili
-
adr
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kristofdegrave/homeassistant-smart-charging#1607 ·
I maintainer di solito rispondono entro 1 giorno
-
namespace operations
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
EclipseFdn/open-vsx.org#13665 ·
I maintainer di solito rispondono entro 1 giorno
-
doc good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
collective/icalendar#1865 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
canonical/opentelemetry-collector-operator#409 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
mozilla/addons-release-tests#1243 ·
I maintainer di solito rispondono entro 1 giorno