class_docstr: Concrete model that uses the generate_content service.
code: def call_model(
      self,
      model_input: str,
      model_args: model_lib.ModelArguments | None = None,
  ) -> model_lib.ModelResults:
      if model_args is None:
          model_args = model_lib.ModelArguments()
  
      # Wrap the generation function here, rather than decorate, so that it
      # applies to any overridden calls too.
      retryable_fn = retry.Retry(retry.if_transient_error)(
          self._generate_text
      )
      response = retryable_fn(
          prompt=model_input,
          model=model_args.model,
          temperature=model_args.temperature,
          candidate_count=model_args.candidate_count,
      )
  
      text_outputs = []
      for c in response.candidates:
          text_outputs.append("".join(p.text for p in c.content.parts))
  
      return model_lib.ModelResults(
          model_input=model_input,
          text_results=text_outputs,
      )
  
file_path: generative-ai-python/google/generativeai/notebook/text_model.py
imports: from __future__ import annotations
  from google.api_core import retry
  import google.generativeai
  from google.generativeai.types import generation_types
  from google.generativeai.notebook.lib import model
label_desc: Use image node_id 2 for calling the TextModel obj's underlying member method code with example usage: obj.call_model(model_input, model_args) and returns: model_lib