인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

asd203n님의 프로필 이미지
asd203n

작성한 질문수

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

메인코드 작성하기

ch04에서 01_summerize_text_app.py 실행

해결된 질문

작성

·

530

·

수정됨

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

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

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

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
질문자

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

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

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

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

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

감사합니다.

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

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

즐거운 하루 되세요!

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

asd203n님의 프로필 이미지
asd203n

작성한 질문수

질문하기