Data Navigator

OpenAI API 를 이용한 챗봇 만들기01 - OpenAI 계정등록하고 API key 발급 후 테스트 하기 본문

Python

OpenAI API 를 이용한 챗봇 만들기01 - OpenAI 계정등록하고 API key 발급 후 테스트 하기

코딩하고분석하는돌스 2024. 11. 7. 17:37

 

OpenAI API 를 이용한 ChatGPT 챗봇 만들기01

- OpenAI 계정등록하고 API key 발급 후 테스트 하기 -

 

 

 

1. google에서 openai api를 검색한다.

혹은 https://openai.com/index/openai-api/ 로 접속

 

2. sighup을 누르고 회원가입을 한다. 

 

 

 

 

google 계정을 이용해서 간편하게 회원가입과 로그인이 가능하다.

 

그 후 이메일로 인증메일이 오는데 인증 부분에 대한 설명은 생략한다.

 

3. 로그인 후 openAI api key 발급받기

 

오른쪽 위의 톱니바퀴 모양의 설정 클릭

 

 

톱니바퀴 모양의 세팅을 누르면 왼쪽 메뉴바의 항목이 바뀌는데 그중에서 API keys를 클릭한다.

그러면 API Keys 화면이 나온다.

화면에서 + Create new secret key 버튼을 찾아 누르고 api key를 생성한다.

 

Name에 key 이름을 적고, Create secret key를 눌러 시크릿 키를 생성한다.

 

키가 생성되면 copy 버튼을 눌러서 복사하고 메모장을 열어 붙여 넣는다.

창을 닫으면 다시 내용을 볼 수 없으므로 생성했던 키를 삭제하고 다시 받아야 한다.

 

4. api key 환경변수에 등록하기

openai의 api는 사용한 만큼 과금이 되기 때문에 api key가 유출되면 큰 낭패를 볼 수 있다. 

api key를 코드에 직접 삽입하면 외부에 유출 될 위험성이 높기 때문에 컴퓨터의 환경변수에 api  key를 저장해서 사용하는 것이 안전하다. windows 환경 변수에 api key를 추가하는 방법은 아래와 같다.

 

1) 윈도우즈 시작버튼 옆의 검색에서 환경을 입력하면 시스템 환경 변수 편집 메뉴가 나오는데 그것을 클릭한다.

 

2) 하단의 환경 변수 클릭

 

3) 상단의 사용자 변수에 있는 새로 만들기를 누른다.

 

 

4) 변수 이름을 만들고 openAI의 api key를 변수 값에 입력한다.

 

5) 확인을 누르고 사용자 변수 목록에 OPENAI_API_KEY 등록 여부 확인

 

 

5. OpenAI API 테스트를 위한 라이브러리 설치

1) conda 환경에 openai 가상환경 설치

conda create -n openai python=3.11

 

 

2) 생성한 가상환경으로 들어가서 pandas, numpy, jupyter notebook 6버전 설치

conda activate openai
conda install pandas numpy notebook=6

 

 

3) openai 라이브러리 설치

pip install openai

 

6. jupyter notebook 실행 후 openai api 테스트

1) jupyter notebook 실행

jupyter notebook

 

2) openai API 테스트를 위한 코드를 아래와 같이 작성하고 실행한다.

openai의 api 를 이용하기 위해서는 위에서 발급받은 api key가 필요한데 컴퓨터의 환경변수에 이미 저장했기 때문에 

os를 임포트 한 후 os.environ['OPENAI_API_KEY'] 로 불러와서 사용하면 된다. 

import os
from openai import OpenAI

client = OpenAI()

# 윈도우 환경변수에 등록했던 OPENAI_API_KEY를 불러와 사용
client.api_key = os.environ['OPENAI_API_KEY']

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "Python에 대해 알려주세요"},
    ],
)
print(response.choices[0].message.content)

 

발급 받고 저장한 api key가 정상적으로 작동해 결과가 출력된 것을 볼 수 있다.