code: def assert_fitted(self):
      # assert self._umap is not None, 'Umap needs to be fit first, run g.umap(..) to fit a model'
      assert (
          self._get_feature("nodes") is not None
      ), "Graphistry Instance is not fit, run g.featurize(kind='nodes', ..) to fit a model ' \
          'if you have nodes & edges dataframe or g.umap(kind='nodes', ..) if you only have nodes dataframe"
  
file_path: pygraphistry/graphistry/text_utils.py
imports: import pandas
  from .feature_utils import FeatureMixin
  from .ai_utils import search_to_df, FaissVectorSearch
  from .constants import WEIGHT, DISTANCE
  from logging import getLogger
  from typing import TYPE_CHECKING
label_desc: Use image node_id 2 for calling the SearchToGraphMixin obj's underlying member method code with example usage: obj.assert_fitted() without return types