람쥐썬더

[PYTHON] AttributeError: module 'openai' has no attribute 'ChatCompletion' 본문

파이썬

[PYTHON] AttributeError: module 'openai' has no attribute 'ChatCompletion'

람쥐썬더123 2023. 11. 7. 14:31

Openai api 이용 시 기존 코드대로 했을 때 해당 클래스가 없다고 나왔다

 

11월 6일 업데이트 이후(?) 방식이 바뀐 듯 한데 document 참고해서 이용 가능하게 기존 코드를 잡아줬다

 

기존 ) 

import openai
import configs

openai.organization = configs.ORGANIZATION
openai.api_key = configs.OPENAI_API_KEY

completion = openai.ChatCompletion()

messages = [{"role": "system", "content": 'message']

gpt_model = 'gpt-4-1106-preview'

response = completion.create(
                        model = gpt_model,
                        messages = messages,
                        temperature = 0.5,
                        top_p = 0.5
                        )
                        
                        
message = response["choices"][0]["message"]["content"]
json.loads(message)

 

 

변경 )

from openai import OpenAI # 변경 부분
import configs
import json

client = OpenAI(api_key = configs.OPENAI_API_KEY,
                organization = configs.ORGANIZATION) # 변경부분

completion = client.chat.completions # 변경부분 

messages = [{"role": "system", "content": "message"}]

gpt_model = 'gpt-4-1106-preview'

response = completion.create(
                        model = gpt_model,
                        messages = messages,
                        temperature = 0.5,
                        top_p = 0.5
                        )
                        
message = json.loads(response.json())['choices'][0]['message']  # Load Json
message = response.dict()['choices'][0]['message'] # Load Dict in Python

 

 

이번 업데이트 이후 동작 방법이 바뀐 것 같고 (1.1.1 추정임)

기존 버전은 정상 작동 (0.27.8)