Skip to main content


This notebook covers how to get started with OpenAI chat models.

from langchain.chat_models import ChatOpenAI
from import (
from langchain.schema import HumanMessage, SystemMessage
chat = ChatOpenAI(temperature=0)

The above cell assumes that your OpenAI API key is set in your environment variables. If you would rather manually specify your API key and/or organization ID, use the following code:

chat = ChatOpenAI(temperature=0, openai_api_key="YOUR_API_KEY", openai_organization="YOUR_ORGANIZATION_ID")

Remove the openai_organization parameter should it not apply to you.

messages = [
content="You are a helpful assistant that translates English to French."
content="Translate this sentence from English to French. I love programming."
AIMessage(content="J'adore la programmation.", additional_kwargs={}, example=False)

You can make use of templating by using a MessagePromptTemplate. You can build a ChatPromptTemplate from one or more MessagePromptTemplates. You can use ChatPromptTemplate’s format_prompt – this returns a PromptValue, which you can convert to a string or Message object, depending on whether you want to use the formatted value as input to an llm or chat model.

For convenience, there is a from_template method exposed on the template. If you were to use this template, this is what it would look like:

template = (
"You are a helpful assistant that translates {input_language} to {output_language}."
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = "{text}"
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
chat_prompt = ChatPromptTemplate.from_messages(
[system_message_prompt, human_message_prompt]

# get a chat completion from the formatted messages
input_language="English", output_language="French", text="I love programming."
AIMessage(content="J'adore la programmation.", additional_kwargs={}, example=False)


You can call fine-tuned OpenAI models by passing in your corresponding modelName parameter.

This generally takes the form of ft:{OPENAI_MODEL_NAME}:{ORG_NAME}::{MODEL_ID}. For example:

fine_tuned_model = ChatOpenAI(
temperature=0, model_name="ft:gpt-3.5-turbo-0613:langchain::7qTVM5AR"

AIMessage(content="J'adore la programmation.", additional_kwargs={}, example=False)