17
17
import re
18
18
import string
19
19
import dataclasses
20
- from typing import Optional
20
+ from typing import AsyncIterable , Iterable , Optional
21
21
22
22
import google .ai .generativelanguage as glm
23
23
@@ -178,9 +178,8 @@ async def delete_corpus_async(name: str, force: bool, client: glm.RetrieverServi
178
178
def list_corpora (
179
179
* ,
180
180
page_size : Optional [int ] = None ,
181
- page_token : Optional [str ] = None ,
182
181
client : glm .RetrieverServiceClient | None = None ,
183
- ) -> list [retriever_types .Corpus ]:
182
+ ) -> Iterable [retriever_types .Corpus ]:
184
183
"""
185
184
List the Corpuses you own in the service.
186
185
@@ -194,21 +193,22 @@ def list_corpora(
194
193
if client is None :
195
194
client = get_default_retriever_client ()
196
195
197
- request = glm .ListCorporaRequest (page_size = page_size , page_token = page_token )
198
- response = client .list_corpora (request )
199
- return response
196
+ request = glm .ListCorporaRequest (page_size = page_size )
197
+ for corpus in client .list_corpora (request ):
198
+ corpus = type (corpus ).to_dict (corpus )
199
+ yield retriever_types .Corpus (** corpus )
200
200
201
201
202
202
async def list_corpora_async (
203
203
* ,
204
204
page_size : Optional [int ] = None ,
205
- page_token : Optional [str ] = None ,
206
205
client : glm .RetrieverServiceClient | None = None ,
207
- ) -> list [retriever_types .Corpus ]:
206
+ ) -> AsyncIterable [retriever_types .Corpus ]:
208
207
"""This is the async version of `retriever.list_corpora`."""
209
208
if client is None :
210
209
client = get_default_retriever_async_client ()
211
210
212
- request = glm .ListCorporaRequest (page_size = page_size , page_token = page_token )
213
- response = await client .list_corpora (request )
214
- return response
211
+ request = glm .ListCorporaRequest (page_size = page_size )
212
+ async for corpus in await client .list_corpora (request ):
213
+ corpus = type (corpus ).to_dict (corpus )
214
+ yield retriever_types .Corpus (** corpus )
0 commit comments