googleapis / googleapis/python-aiplatform

rag.get_corpus() does not return corpus state or creation/update timestamps in RAG Engine

Open
#6,168 0 comments 0 reactions 0 assignees View on GitHub
api: vertex-ai
Dominant language
Python
Stars
905
Forks
465
Avg merge
1d 13h
Merged PRs (30d)
44

Description

#### Description:
The rag.get_corpus() method works at runtime, but it does not return fields such as corpus_status.state, create_time, and update_time. These fields are present when using rag.list_corpora() for the same corpus.

As a result, fetching a single corpus requires listing all corpora and filtering manually, which is inefficient and inconsistent.

If you are still having issues, please be sure to include as much information as possible:

#### Environment details
google-cloud-aiplatform version: 1.121.0
Vertex AI RAG Engine (GA)
Python version: 3.13

#### Steps to reproduce

from vertexai import rag

corpus_id = "my-corpus-id"
corpus_name = f"projects/{PROJECT_ID}/locations/{LOCATION}/ragCorpora/{corpus_id}"

corpus = rag.get_corpus(name=corpus_name)

# Raises Attribute error
print(corpus.corpus_status)
print(corpus.create_time)
print(corpus.update_time)

#### Code example (Workaround)

all_corpora = rag.list_corpora()
target_corpus = next(c for c in all_corpora if c.name.endswith(corpus_id))

print(target_corpus.corpus_status.state)
print(target_corpus.create_time)
print(target_corpus.update_time)

#### Stack trace

Traceback (most recent call last):
File "xx/xx/rag_tools.py", line 628, in
print(corpus.corpus_status)
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'RagCorpus' object has no attribute 'corpus_status'

print(corpus.create_time)
^^^^^^^^^^^^^^^^^^
AttributeError: 'RagCorpus' object has no attribute 'create_time'

print(corpus.update_time)
^^^^^^^^^^^^^^^^^^
AttributeError: 'RagCorpus' object has no attribute 'update_time'

#### Expected Behavior

get_corpus() should return the following fields for a single corpus:

corpus_status.state
create_time
update_time

This would make get_corpus() consistent with list_corpora() and eliminate the need to list all corpora just to fetch one.

#### Actual Behavior

get_corpus() returns a corpus object, but the above fields are missing.
Only workaround: list all corpora and filter, which is inefficient if there are many corpora.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.