Python

[langchain + openai 에러] AttributeError: module 'openai' has no attribute 'error'

ᚁ ᚂ ᚃ ᚄ ᚅ 2023. 11. 13. 16:13
반응형

파이썬 langchain + openai 에러

파이썬에서 openai를 이용하기 위해 langchain을 사용하였는데 계속 에러가 발생하면서 제대로 실행이 안됨, langchain공식 문서에 있는 소스를 가져와서 실행해도 계속 에러 발생함. 에러 내용은 AttributeError: module 'openai' has no attribute 'error'

 

 - Langchain QuickStart

https://python.langchain.com/docs/get_started/quickstart

 

1. 에러 발생

파이썬에서 OpenAI를 LangChain을 이용해서 사용하려고 하는데 아래와 같은 에러가 발생하면서 제대로 실행이 안됨

  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain\llms\openai.py", line 92, in _create_retry_decorator
    openai.error.Timeout,
    ^^^^^^^^^^^^
AttributeError: module 'openai' has no attribute 'error'

 

 

 

2. 실행환경

실행환경

- 윈도우 11
- 파이썬 Python 3.11.6
- langchain 최신버젼 (pip install langchain)
- openai 최신버젼  (pip install openai)

 

 

3. 해결방법

구글링과 여러가지 테스트 결과 아래와 같은 방법으로 해결함

 langchain==0.0.316,  openai==0.28.1 로 버젼을 낮춰주니 해결됨

참고 페이지 : OpenAI Developer Forum

pip install langchain==0.0.316
pip install openai==0.28.1

 

 

4. 결론

langchain과 openai가 이제 막 나온 프로젝트라 아직까지 안정화가 안되고 있는거 같음. 어느정도 테스트된 안정된 버젼으로 테스트 하는것이 좋을거 같다.

 

5. 테스트 파이썬 소스

#test.py

# langchain과 openai 버젼은 아래로 맞춘다. 최신버젼으로 설치했더니 openai 에서 에러 발생함
#pip install langchain==0.0.316
#pip install openai==0.28.1

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

import os

#OpenAI API KEY
from dotenv import load_dotenv
load_dotenv(verbose=True)
print("OPENAI_API_KEY : " + os.environ["OPENAI_API_KEY"])


from langchain.llms import OpenAI
llm = OpenAI()

q = "안녕";
print("q : " + q)
      
result = llm(q)
print("result : " + result)
print("--------------\r\n")


from langchain.chat_models import ChatOpenAI
chat_model = ChatOpenAI()
chat_model.predict("hi!")

q = "안녕";
print("q : " + q)
      
result = chat_model.predict(q)
print("result : " + result)
print("--------------\r\n")

 

테스트 결과

OPENAI_API_KEY : sk-IV******************8eBnbXe796u8PkR
q : 안녕
result : 하세요

반갑습니다.
--------------

q : 안녕
result : 안녕하세요! 무엇을 도와드릴까요?
--------------
반응형