Example:
        .. code-block:: python
                from langchain.chains.openai_functions import create_openai_fn_chain
                from langchain.chat_models import ChatOpenAI
                from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate
                from pydantic import BaseModel, Field
                class RecordPerson(BaseModel):
                    \"\"\"Record some identifying information about a person.\"\"\"
                    name: str = Field(..., description="The person's name")
                    age: int = Field(..., description="The person's age")
                    fav_food: Optional[str] = Field(None, description="The person's favorite food")
                class RecordDog(BaseModel):
                    \"\"\"Record some identifying information about a dog.\"\"\"
                    name: str = Field(..., description="The dog's name")
                    color: str = Field(..., description="The dog's color")
                    fav_food: Optional[str] = Field(None, description="The dog's favorite food")
                llm = ChatOpenAI(model="gpt-3.5-turbo-0613", temperature=0)
                prompt_msgs = [
                    SystemMessage(
                        content="You are a world class algorithm for recording entities"
                    ),
                    HumanMessage(content="Make calls to the relevant function to record the entities in the following input:"),
                    HumanMessagePromptTemplate.from_template("{input}"),
                    HumanMessage(content="Tips: Make sure to answer in the correct format"),
                ]
                prompt = ChatPromptTemplate(messages=prompt_msgs)
                chain = create_openai_fn_chain([RecordPerson, RecordDog])
                chain.run("Harry was a chubby brown beagle who loved chicken")
                # -> RecordDog(name="Harry", color="brown", fav_food="chicken")
    """  # noqa: E501