class_docstr: Contains an ongoing conversation with the model.
  
  >>> model = genai.GenerativeModel(model="gemini-pro")
  >>> chat = model.start_chat()
  >>> response = chat.send_message("Hello")
  >>> print(response.text)
  >>> response = chat.send_message(...)
  
  This `ChatSession` object collects the messages sent and received, in its
  `ChatSession.history` attribute.
  
  Arguments:
      model: The model to use in the chat.
      history: A chat history to initialize the object with.
class_docstr_tok: ["Contains","an","ongoing","conversation","with","the","model",".",">",">",">","model","=","genai.GenerativeModel","(","model=","''","gemini-pro","''",")",">",">",">","chat","=","model.start_chat","(",")",">",">",">","response","=","chat.send_message","(","``","Hello","''",")",">",">",">","print","(","response.text",")",">",">",">","response","=","chat.send_message","(","...",")","This","`","ChatSession","`","object","collects","the","messages","sent","and","received",",","in","its","`","ChatSession.history","`","attribute",".","Arguments",":","model",":","The","model","to","use","in","the","chat",".","history",":","A","chat","history","to","initialize","the","object","with","."]
code: def __copy__(self):
      return ChatSession(
          model=self.model,
          # Be sure the copy doesn't share the history.
          history=list(self.history),
      )
  
imports: from __future__ import annotations
  from collections.abc import Iterable
  import dataclasses
  import textwrap
  from typing import Union
  from google.ai import generativelanguage
  from google.generativeai import client
  from google.generativeai import string_utils
  from google.generativeai.types import content_types
  from google.generativeai.types import generation_types
  from google.generativeai.types import safety_types
label_desc: Use image node_id 3 for calling the ChatSession obj's underlying member method code with example usage: obj.__copy__() and returns: ChatSession