LangChain: LangChainDeprecationWarning

calico·2025년 6월 25일

Error

목록 보기
4/10

LangChainDeprecationWarning



LangChainDeprecationWarning: Importing LLMs from langchain is deprecated. Importing from langchain will no longer be supported as of langchain==0.2.0. Please import from langchain-community instead:       

`from langchain_community.llms import OpenAI`.

To install langchain-community run `pip install -U langchain-community`.
  warnings.warn(
-\.venv\Lib\site-packages\langchain\llms\__init__.py:549: LangChainDeprecationWarning: Importing LLMs from langchain is deprecated. Importing from langchain will no longer be supported as of langchain==0.2.0. Please import from langchain-community instead:       

`from langchain_community.llms import OpenAI`.

To install langchain-community run `pip install -U langchain-community`.
  warnings.warn(
-.py:10: LangChainDeprecationWarning: The class `OpenAI` was deprecated in LangChain 0.0.10 and will be removed in 1.0. An updated version of the class exists in the :class:`~langchain-openai package and should be used instead. To use it run `pip install -U :class:`~langchain-openai` and import as `from :class:`~langchain_openai import OpenAI``.
  llm = OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY)
C:\Users\User\langlaw-ai\src\keyword_extractor.py:21: LangChainDeprecationWarning: The class `LLMChain` was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use :meth:`~RunnableSequence, e.g., `prompt | llm`` instead.
  chain = LLMChain(llm=llm, prompt=prompt_template)
C:\Users\User\langlaw-ai\src\keyword_extractor.py:24: LangChainDeprecationWarning: The method `Chain.run` was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:`~invoke` instead.

  • 해당 경고 메시지들은 LangChain 최신 버전(v0.1~v0.2)으로 업데이트되면서 기존 방식이 더 이상 권장되지 않는(deprecated) 구조라는 뜻입니다.



경고 메시지 정리


1. from langchain.llms import OpenAI


더 이상 권장되지 않음.

  • 대신
from langchain_community.llms import OpenAI
  • 최신 방식
from langchain_openai import OpenAI
  • 설치 필요
pip install langchain-community langchain-openai



2. LLMChain 클래스는 곧 제거 예정


더 이상 사용 권장 안 함

  • 최신 방식
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableSequence
from langchain_openai import ChatOpenAI

prompt = ChatPromptTemplate.from_messages([
    ("system", "당신은 법률 키워드 추출 도우미입니다."),
    ("human", "{description}")
])

llm = ChatOpenAI()
chain = prompt | llm
result = chain.invoke({"description": "사건 설명 입력"})



3. chain.run() 도 곧 제거됨


대신 사용: chain.invoke(input_data)



정리: 대체해야 할 것들 요약


기존 방식변경 방식 (추천)
from langchain.llms import OpenAIfrom langchain_openai import OpenAI 또는 langchain_community.llms
LLMChain(...)`promptllm` 형태의 Runnable 사용
chain.run()chain.invoke() 사용



예시: 최신 방식 전체 코드


from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableSequence
from langchain_openai import ChatOpenAI
import os
from dotenv import load_dotenv

load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")

llm = ChatOpenAI(api_key=OPENAI_API_KEY)

prompt = ChatPromptTemplate.from_messages([
    ("system", "다음 사건 설명을 읽고 핵심 법률 키워드 3~5개를 JSON 배열로 추출해줘."),
    ("human", "{description}")
])

chain = prompt | llm

def extract_keywords_from_case(description: str):
    return chain.invoke({"description": description})



0개의 댓글