async def bulk_insert(self, entities: list[ChunkEntity]) -> None:
        """Bulk insert entities into Qdrant.

        Args:
            entities (list[ChunkEntity]): The entities to insert.
        """
        if not entities:
            return

        await self.ensure_client_readiness()

        # Convert entities to Qdrant points
        point_structs = []
        for entity in entities:
            # Use the entity's to_storage_dict method to get properly serialized data
            entity_data = entity.to_storage_dict()
            # Use the entity's vector directly
            if not hasattr(entity, "vector") or entity.vector is None:
                logger.warning(f"Entity {entity.entity_id} has no vector, skipping")
                continue

            if hasattr(entity_data, "vector"):
                entity_data.pop("vector")

            # Create point for Qdrant
            point_structs.append(
                rest.PointStruct(
                    id=str(entity.db_entity_id),
                    vector=entity.vector,
                    payload=entity_data,
                )
            )

        if not point_structs:
            logger.warning("No valid entities to insert")
            return

        # Bulk upsert
        operation_response = await self.client.upsert(
            collection_name=self.collection_name,
            points=point_structs,
            wait=False,  # Wait for operation to complete
        )

        if hasattr(operation_response, "errors") and operation_response.errors:
            raise Exception(f"Errors during bulk insert: {operation_response.errors}")
Bulk insert entities into Qdrant.

        Args:
            entities (list[ChunkEntity]): The entities to insert.
        
backend/airweave/platform/destinations/qdrant.py