Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 00ab7fa

Browse files
authored
Fix list methods, add decode functions. (google-gemini#186)
* Fix list methods, add decode functions. * fix tests * fix test * Fix pytype: AsyncIterable * import iterable * Fix AsyncIterable
1 parent b7a1782 commit 00ab7fa

File tree

4 files changed

+106
-166
lines changed

4 files changed

+106
-166
lines changed

google/generativeai/retriever.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import re
1818
import string
1919
import dataclasses
20-
from typing import Optional
20+
from typing import AsyncIterable, Iterable, Optional
2121

2222
import google.ai.generativelanguage as glm
2323

@@ -178,9 +178,8 @@ async def delete_corpus_async(name: str, force: bool, client: glm.RetrieverServi
178178
def list_corpora(
179179
*,
180180
page_size: Optional[int] = None,
181-
page_token: Optional[str] = None,
182181
client: glm.RetrieverServiceClient | None = None,
183-
) -> list[retriever_types.Corpus]:
182+
) -> Iterable[retriever_types.Corpus]:
184183
"""
185184
List the Corpuses you own in the service.
186185
@@ -194,21 +193,22 @@ def list_corpora(
194193
if client is None:
195194
client = get_default_retriever_client()
196195

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)
200200

201201

202202
async def list_corpora_async(
203203
*,
204204
page_size: Optional[int] = None,
205-
page_token: Optional[str] = None,
206205
client: glm.RetrieverServiceClient | None = None,
207-
) -> list[retriever_types.Corpus]:
206+
) -> AsyncIterable[retriever_types.Corpus]:
208207
"""This is the async version of `retriever.list_corpora`."""
209208
if client is None:
210209
client = get_default_retriever_async_client()
211210

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

Comments
 (0)