Bắt đầu ngayBắt đầu miễn phí

Định nghĩa hàm để chia nhỏ (chunking)

Để có thể upsert theo lô (batch) một cách nhất quán, bạn cần định nghĩa một hàm để chia danh sách vector của mình thành các phần nhỏ.

Mô-đun dựng sẵn itertools đã được nhập sẵn cho bạn.

Bài tập này là một phần của khóa học

Cơ sở dữ liệu vector cho Embeddings với Pinecone

Xem khóa học

Hướng dẫn bài tập

  • Chuyển đầu vào iterable thành một iterator.
  • Cắt it thành các phần có kích thước batch_size bằng mô-đun itertools.
  • Yield phần hiện tại.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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))
Chỉnh sửa và Chạy Mã