군만두의 IT 공부 일지

[ChatGPT] ChatGPT API Key 발급(파이썬 활용) 본문

참고

[ChatGPT] ChatGPT API Key 발급(파이썬 활용)

mandus 2024. 2. 5. 16:03

목차

    [요약]


    ChatGPT API를 사용해 생산적인 일을 할 수 있는 환경을 만들기 위해 ChatGPT에 접근할 수 있는 키를 얻는 방법을 공유함.

    [내용]


    🌟 ChatGPT API 발급

    1. ChatGPT 홈페이지(https://openai.com/blog/chatgpt)의 상단 카테고리에서 'API' > 'Docs' 클릭

     

    2. 왼쪽 메뉴바에서 🔐'API keys' 클릭

    3. API keys에서 'Create new secret key' 버튼 클릭

    4. API 이름 입력 후 'Create secret key' 버튼 클릭

    5. 'Copy' 클릭 후 개인적인 공간에 저장함. 'Done' 클릭 (사용자에게 다시 공개하지 않으므로 잘 저장해야 함)

    6. ChatGPT API 생성 완료

     

     


     

     

    🌟 파이썬 활용 예제

    1. 파이썬 코드에 ChatGPT 가져오기

    ChatGPT에게 파이썬과 연결한 코드를 물어봄. (만들고 싶은 프로젝트가 있다면 그것에 대한 질문 작성. 예시로는 챗봇이 있음.)

    ▲ ChatGPT에게 질문

    import openai
    
    # OpenAI API 키 설정
    openai.api_key = 'your-api-key'
    
    # GPT-3 모델을 사용하여 텍스트 생성
    response = openai.Completion.create(
      engine="text-davinci-003", # 모델을 지정
      prompt="Translate the following English text to French: '{}'",
      temperature=0.7,
      max_tokens=60
    )
    
    print(response.choices[0].text.strip())

    2. 웹크롤링하기

    ChatGPT에게  크롤링하고자 하는 웹사이트의 HTML 소스를 확인하는 방법을 물어봄. 웹 크롤링을 허락하지 않는 사이트에서 정보를 가져오면 불법이므로, 합법적인 방법으로 데이터를 수집해야 함. 네이버에서 오픈 API 서비스를 제공하니, 이를 활용하는 것을 권장함.

    사용자가 작성자인 위키피디아(Wikipedia)에서 자료를 크롤링하는 코드를 ChatGPT에게 물어봄. 위키디피아는 웹크롤링이 가능한 웹 사이트임.

    import requests
    from bs4 import BeautifulSoup
    
    # Overwatch 2 위키백과 페이지 URL (영문 버전)
    url = 'https://en.wikipedia.org/wiki/Overwatch_2'
    
    # HTTP GET 요청으로 웹 페이지의 내용을 가져옵니다
    response = requests.get(url)
    
    # 응답으로부터 HTML을 파싱하기 위해 BeautifulSoup 객체를 생성합니다
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 페이지 제목을 가져옵니다
    title = soup.find('h1', {'id': 'firstHeading'}).get_text()
    
    # 페이지의 본문 내용을 가져옵니다. 여기서는 본문의 첫 부분을 가져옵니다.
    content_paragraphs = soup.find_all('p')
    content_text = ' '.join([para.get_text() for para in content_paragraphs if para.get_text() != ''])
    
    # 결과 출력을 위해 제목과 본문의 첫 부분만 추출합니다.
    print(title)
    print(content_text[:500])  # 본문의 첫 500자만 출력합니다.

    처음 알려준 코드를 실행하면 'Overwatch 2'만 출력되기 때문에, 다시 코드를 물어봄. 해당 코드를 실행하면 'Overwatch 2'에 대한 제목과 본문 내용 일부가 출력됨.

    ▲ Colab에 파이썬 코드 실행

    3. 파워포인트 만들기

    ChatGPT에게 파워포인트 작성에 대해 물어봄.

    from pptx import Presentation
    from pptx.util import Inches
    
    # 새로운 파워포인트 프레젠테이션 객체를 생성
    prs = Presentation()
    
    # ChatGPT로부터 받은 텍스트 데이터
    title_text = "ChatGPT와 파워포인트 연결하기"
    content_text = "Python을 사용하여 파워포인트 파일을 생성하고, ChatGPT로부터 받은 내용을 슬라이드에 추가할 수 있습니다."
    
    # 제목 슬라이드 추가
    slide_title = prs.slides.add_slide(prs.slide_layouts[0])
    title = slide_title.shapes.title
    subtitle = slide_title.placeholders[1]
    
    title.text = title_text
    subtitle.text = "python-pptx 라이브러리를 사용한 예시입니다."
    
    # 내용 슬라이드 추가
    slide_content = prs.slides.add_slide(prs.slide_layouts[1])
    title, content = slide_content.shapes.title, slide_content.placeholders[1]
    
    title.text = "내용"
    content.text = content_text
    
    # 파워포인트 파일 저장
    pptx_filename = "ChatGPT_PowerPoint_Example.pptx"
    prs.save(pptx_filename)
    
    print(f"{pptx_filename} 파일이 생성되었습니다.")

    위 코드를 실행하면 제목 슬라이드, 내용 슬라이드 등이 포함된 파워포인트 파일을 생성함.

    파워포인트 저장은 왼쪽 메뉴에서 할 수 있음.

    저장받은 파워포인트를 실행하면 다음과 같음. 이를 응용하여 다양하게 활용할 수 있을 것 같음.

    [참고]

    (책) 이경숙, ChatGPT를 활용한 파이썬 워크북

    '참고' 카테고리의 다른 글

    [공유] 해외 개발자 커뮤니티  (0) 2022.08.12
    [공유] 국내 개발자 커뮤니티  (0) 2022.08.12
    Comments