인프런 커뮤니티 질문&답변

asd203n님의 프로필 이미지

작성한 질문수

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

메인코드 작성하기

ch04에서 01_summerize_text_app.py 실행

해결된 질문

23.11.07 14:22 작성

·

509

·

수정됨

2

유익한 내용으로 강의를 제공해주셔서 감사합니다.

 

CH04에서

01_summerize_text_app.py

##### 기본 정보 불러오기 ####
# Streamlit 패키지 추가
import streamlit as st
# OpenAI 패키기 추가
import openai

##### 기능 구현 함수 #####
def askGpt(prompt):
    messages_prompt = [{"role": "system", "content": prompt}]
    response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=messages_prompt)
    gptResponse = response["choices"][0]["message"]["content"]
    return gptResponse

##### 메인 함수 #####
def main():
    st.set_page_config(page_title="요약 프로그램")
    # 사이드바
    with st.sidebar:
        # Open AI API 키 입력받기
        open_apikey = st.text_input(label='OPENAI API 키', placeholder='Enter Your API Key', value='',type='password')    
        # 입력받은 API 키 표시
        if open_apikey:
            openai.api_key  = open_apikey 
        st.markdown('---')

    st.header("📃요약 프로그램")
    st.markdown('---')
    
    text = st.text_area("요약 할 글을 입력하세요")
    if st.button("요약"):
        prompt = f'''
        **Instructions** :
    - You are an expert assistant that summarizes text into **Korean language**.
    - Your task is to summarize the **text** sentences in **Korean language**.
    - Your summaries should include the following :
        - Omit duplicate content, but increase the summary weight of duplicate content.
        - Summarize by emphasizing concepts and arguments rather than case evidence.
        - Summarize in 3 lines.
        - Use the format of a bullet point.
    -text : {text}
    '''
        st.info(askGpt(prompt))

if __name__=="__main__":
    main()

실행하여도

다음과 같은 에러가 나옵니다.

2023-11-07 13:03:41.719 Uncaught app exception

Traceback (most recent call last):

File "C:\inflearn_chatGPT\ch04\venv\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 534, in runscript

exec(code, module.__dict__)

File "C:\inflearn_chatGPT\ch04\01_summerize_text_app.py", line 45, in <module>

main()

File "C:\inflearn_chatGPT\ch04\01_summerize_text_app.py", line 42, in main

st.info(askGpt(prompt))

File "C:\inflearn_chatGPT\ch04\01_summerize_text_app.py", line 10, in askGpt

response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=messages_prompt)

AttributeError: module 'openai' has no attribute 'ChatCompletion'

구글링및 chatgpt한테 직접 물어보니가,

pip install --upgrade openai를 해라고 했는데,

그것을 하여도

오류가 계속 나옵니다.

 

오류를 해결하였습니다.

openai 패키지에서 ChatCompletion 함수가 없다는게 말이 안된다고 생각합니다.

그래서 가상환경(ch02_env)에서 실행해봤더니,

실행이 되었습니다.

 

가상환경 ch02_env에 설치된 openai의 버전은 0.28.1이고

가상환경 ch04_env에 설치된 oepnai의 버전은  1.1.1입니다.

 

즉, 강의를 원활하게 수강하기 위해서

0.28.1버전을 사용해야할것같습니다.

답변 1

2

쭌랩님의 프로필 이미지
쭌랩
지식공유자

2023. 11. 07. 21:32

안녕하세요. 쭌랩입니다.

23년 11월 7일 바로 오늘부로 openAI 가 대대적인 업데이트를 하면서 API 코드 문법도 대폭 변경되었습니다.

해결 방법

openai 패키지 설치 시 기존 버전 지정

pip install openai==0.28.1

만약 이미 1.1.1 버전을 설치 하셨다면 먼저 아래 명령어로 패키지 삭제 후 다시 설치를 진행합니다.

pip uninstall openai

 

코드 전체를 이번 업데이트 버전인 1.1.1 버전으로 변경하는 것은 어렵지 않지만 강의 전체 녹화 화면과 달라지기 때문에 우선 기존 버전으로 설치를 진행하고 추후에 강의 개편 때 업데이트 드리도록 하겠습니다.

 

혹시 1.1.1 버전 으로 변경된 코드도 필요하시면 강의 깃허브에 신규 버전 용 코드도 같이 올려놓도록 하겠습니다.

감사합니다.

asd203n님의 프로필 이미지
asd203n
질문자

2023. 11. 07. 21:37

딱 오늘부터 바껴서, 에러코드를 봐도 말이 안되는 상황이었습니다.

한번더 패키지 버전이 중요하다는 것을 배우는 순간이었습니다.

너무 좋은 콘텐츠 제공해주셔서 감사합니다.

완강후 수강평남기겠습니다.

쭌랩님의 프로필 이미지
쭌랩
지식공유자

2023. 11. 07. 22:00

감사합니다.

어제 API 코드 변경 뿐만 아니라 openAI에서 여러가지 놀라운 기능들을 추가했습니다. 아래 링크를 들어가서 보시면 몇가지 놀라운 기능들이 있습니다. 한번 읽어보세요^^

특히 GPT 모델 자체를 파인튜닝 하는 비용이 많이 저렴해졌습니다. 가능하면 모델 파인튜닝 실습 부분도 강의에 추가해볼까 합니다.

즐거운 하루 되세요!

https://openai.com/blog/new-models-and-developer-products-announced-at-devday

asd203n님의 프로필 이미지

작성한 질문수

질문하기