code: def upsert_with_heterogenous_fields(collection_name):
      points = [
          {
              "id": 6000,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": "string"},
          },  # ok -> string
          {
              "id": 6001,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": 123},
          },  # ok -> 123
          {
              "id": 6002,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": [1, 2, 3]},
          },  # ok -> 1
          {
              "id": 6003,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": ["a", "b", "c"]},
          },  # ok -> "a"
          {
              "id": 6004,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": 2.42},
          },  # ok -> "2.42"
          {
              "id": 6005,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": [["a", "b", "c"]]},
          },  # invalid
          {
              "id": 6006,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": {"object": "string"}},
          },  # invalid
          {
              "id": 6007,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": []},
          },  # invalid
          {
              "id": 6008,
              "vector": [0.0, 0.0, 1.0, 0.0],
              "payload": {"heterogenousId": None},
          },  # invalid
      ]
  
      response = request_with_validation(
          api="/collections/{collection_name}/points",
          method="PUT",
          path_params={"collection_name": collection_name},
          query_params={"wait": "true"},
          body={"points": points},
      )
  
      assert response.ok
  
imports: import json
  import pytest
  from .helpers.collection_setup import basic_collection_setup, drop_collection
  from .helpers.helpers import request_with_validation
label_desc: Use image node_id 3 for calling a global function with example usage: upsert_with_heterogenous_fields(collection_name) without return types