How to migrate from langchain to langchain-openai
Quick answer
To migrate from
langchain to langchain-openai, update your imports to use langchain_openai modules and instantiate models like ChatOpenAI directly from langchain_openai. Replace deprecated imports and patterns with the new SDK v1+ client usage for clean, production-ready code.PREREQUISITES
Python 3.8+OpenAI API key (free tier works)pip install langchain-openai openai>=1.0
Setup
Install the langchain-openai package and ensure your OPENAI_API_KEY is set in your environment variables.
Run:
pip install langchain-openai openai>=1.0 Step by step
Replace old langchain imports with langchain_openai. Instantiate ChatOpenAI with your API key from os.environ. Use the generate method with a prompt to get completions.
import os
from langchain_openai import ChatOpenAI
# Initialize the ChatOpenAI client
client = ChatOpenAI(
model_name="gpt-4o",
openai_api_key=os.environ["OPENAI_API_KEY"]
)
# Define a prompt
prompt = "Write a Python function to reverse a string."
# Generate a completion
response = client.generate(prompt)
print(response.generations[0].text) output
def reverse_string(s):
return s[::-1] Common variations
- Use different models by changing
model_name, e.g.,gpt-4o-mini. - For embeddings, import and use
OpenAIEmbeddingsfromlangchain_openai. - Async usage is supported by calling async methods on
ChatOpenAI.
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(
model_name="o1-mini",
openai_api_key=os.environ["OPENAI_API_KEY"]
)
vector = embeddings.embed_query("Hello world")
print(vector) output
[0.123, -0.456, ...] # vector floats
Troubleshooting
- If you get import errors, verify you installed
langchain-openaiand not the deprecatedlangchainpackage. - Ensure your
OPENAI_API_KEYis set correctly in your environment. - Check that you are using the correct model names like
gpt-4oas older names are deprecated.
Key Takeaways
- Use
langchain_openaiimports instead of deprecatedlangchainmodules. - Instantiate
ChatOpenAIwith your API key fromos.environfor secure usage. - Update model names to current ones like
gpt-4oto avoid compatibility issues.