code: def set_model_info(cls, values):
      if values.get("id") is None:
          values.update({"id": str(uuid.uuid4())})
      if values.get("mode") is None:
          values.update({"mode": None})
      if values.get("input_cost_per_token") is None:
          values.update({"input_cost_per_token": None})
      if values.get("output_cost_per_token") is None:
          values.update({"output_cost_per_token": None})
      if values.get("max_tokens") is None:
          values.update({"max_tokens": None})
      if values.get("base_model") is None:
          values.update({"base_model": None})
      return values
  
imports: from pydantic import BaseModel, Extra, Field, root_validator
  import enum
  from typing import Optional, List, Union, Dict, Literal
  from datetime import datetime
  import uuid, json
label_desc: Use image node_id 1 for calling the ModelInfo obj's underlying member method code with example usage: obj.set_model_info(cls, values) and returns: values