code: import langchain
  from langchain.llms import OpenAI
  from langchain.chat_models import ChatOpenAI
  from langchain.schema import AIMessage, HumanMessage, SystemMessage
  from langchain.cache import InMemoryCache
  from langchain import PromptTemplate
  import os
  import openai
  from langchain.prompts import (
      ChatPromptTemplate,
      PromptTemplate,
      SystemMessagePromptTemplate,
      AIMessagePromptTemplate,
      HumanMessagePromptTemplate,
  )
  from langchain.schema import AIMessage, HumanMessage, SystemMessage
  
  os.environ["OPENAI_API_KEY"] = "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"
  openai.api_key = "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"
  api_key = "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"
  llm = OpenAI()
  chat = ChatOpenAI(openai_api_key=api_key)
  
  system_template = "You are a helpful assistant that translates complex legal terms into plain and understandable terms."
  system_message_prompt = SystemMessagePromptTemplate.from_template(system_template)
  
  legal_text = "The provisions herein shall be severable, and if any provision or portion thereof is deemed invalid, illegal, or unenforceable by a court of competent jurisdiction, the remaining provisions or portions thereof shall remain in full force and effect to the maximum extent permitted by law."
  example_input_one = HumanMessagePromptTemplate.from_template(legal_text)
  
  plain_text = "The rules in this agreement can be separated."
  example_output_one = AIMessagePromptTemplate.from_template(plain_text)
  
  human_template = "{legal_text}"
  human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
  
  chat_prompt = ChatPromptTemplate.from_messages(
      [system_message_prompt, example_input_one, example_output_one, human_message_prompt]
  )
  
  some_example_text = "The grantor, being the fee simple owner of the real property herein described, conveys and warrants to the grantee, his heirs and assigns, all of the grantor's right, title, and interest in and to the said property, subject to all existing encumbrances, liens, and easements, as recorded in the official records of the county, and any applicable covenants, conditions, and restrictions affecting the property, in consideration of the sum of [purchase price] paid by the grantee."
  request = chat_prompt.format_prompt(legal_text=some_example_text).to_messages()
  
  result = chat(request)
  print(result.content)
  
apis: langchain.prompts.SystemMessagePromptTemplate.from_template langchain.chat_models.ChatOpenAI langchain.llms.OpenAI langchain.prompts.ChatPromptTemplate.from_messages langchain.prompts.AIMessagePromptTemplate.from_template langchain.prompts.HumanMessagePromptTemplate.from_template
extract_api: [((734, 742), 'langchain.llms.OpenAI', 'OpenAI', ([], {}), '()\n', (740, 742), False, 'from langchain.llms import OpenAI\n'), ((750, 784), 'langchain.chat_models.ChatOpenAI', 'ChatOpenAI', ([], {'openai_api_key': 'api_key'}), '(openai_api_key=api_key)\n', (760, 784), False, 'from langchain.chat_models import ChatOpenAI\n'), ((931, 989), 'langchain.prompts.SystemMessagePromptTemplate.from_template', 'SystemMessagePromptTemplate.from_template', (['system_template'], {}), '(system_template)\n', (972, 989), False, 'from langchain.prompts import ChatPromptTemplate, PromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate\n'), ((1314, 1366), 'langchain.prompts.HumanMessagePromptTemplate.from_template', 'HumanMessagePromptTemplate.from_template', (['legal_text'], {}), '(legal_text)\n', (1354, 1366), False, 'from langchain.prompts import ChatPromptTemplate, PromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate\n'), ((1450, 1499), 'langchain.prompts.AIMessagePromptTemplate.from_template', 'AIMessagePromptTemplate.from_template', (['plain_text'], {}), '(plain_text)\n', (1487, 1499), False, 'from langchain.prompts import ChatPromptTemplate, PromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate\n'), ((1556, 1612), 'langchain.prompts.HumanMessagePromptTemplate.from_template', 'HumanMessagePromptTemplate.from_template', (['human_template'], {}), '(human_template)\n', (1596, 1612), False, 'from langchain.prompts import ChatPromptTemplate, PromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate\n'), ((1628, 1750), 'langchain.prompts.ChatPromptTemplate.from_messages', 'ChatPromptTemplate.from_messages', (['[system_message_prompt, example_input_one, example_output_one,\n    human_message_prompt]'], {}), '([system_message_prompt, example_input_one,\n    example_output_one, human_message_prompt])\n', (1660, 1750), False, 'from langchain.prompts import ChatPromptTemplate, PromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate\n')]