Определение функции для разбиения на фрагменты
Чтобы выполнять пакетную загрузку векторов воспроизводимым способом, вам потребуется функция, которая разбивает список векторов на фрагменты.
Встроенный модуль itertools уже импортирован.
Это упражнение является частью курса
Создание ИИ-приложений с Pinecone
Инструкции к упражнению
- Преобразуйте входной параметр
iterableв итератор. - Разбейте
itна фрагменты размеромbatch_sizeс помощью модуляitertools. - Верните текущий фрагмент с помощью
yield.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def chunks(iterable, batch_size=100):
"""A helper function to break an iterable into chunks of size batch_size."""
# Convert the iterable into an iterator
it = ____
# Slice the iterator into chunks of size batch_size
chunk = tuple(itertools.____(it, ____))
while chunk:
# Yield the chunk
____
chunk = tuple(itertools.islice(it, batch_size))