Challenge/Inflearn

[Do It LLM] 챌린지 기록 1주차: GPT API 시작

graph-dev 2025. 9. 24. 23:16
728x90

 

AI 공부하는 학생

 

오픈 AI의 API를 활용하여 LLM을 사용한 프로그램을 만듭니다.

 

https://platform.openai.com/

 

최근 홈페이지가 리뉴얼 되면서, 아래 화면과 같이 변경되었습니다.

리뉴얼 후 오픈AI platform

 

이후, 빌딩을 시작하고, 조직명에 개인(Personal)을 입력한 후, 조직을 생성했습니다. 이후 API Key 이름도 설정해두었습니다. 

 

초기에는 My Test Key, Default project라고 설정되어 있는데, 이건 내 마음대로 바꿀 수 있습니다.

조직 설정 후 API Key 이름 설정

 

이후에 나오는 API Key는 Copy버튼으로 따로 보관해둡니다. 이후 웹페이지에서는 다시 확인할 수 없습니다.

API Key 저장 및 활용 예시 코드

 

Python으로 만드는 예시 코드는 다음과 같습니다. 샘플 코드입니다.

from openai import OpenAI

client = OpenAI(
  api_key="sk-proj-***"
)

response = client.responses.create(
  model="gpt-5-nano",
  input="write a haiku about ai",
  store=True,
)

print(response.output_text);

 

sk-pro**로 시작하는 단어에 해당하는 값으로, 앞에서 복사해둔 API KEY 값을 넣으면 됩니다. 이후 $5 API 크레딧을 구매해주고, 사용 요금도 제한해주는 것이 좋겠습니다.

 

아, 부가세 포함 $5.5 였습니다.

 

이제 오픈 AI의 API 키로 질의응답을 해보겠습니다. 교재에 나온 내용을 활용해보았습니다. 다만, 교재에 나온 GPT-4o 버전보다는 최신 모델인 GPT-5 버전을 활용해보겠습니다.

 

gpt_llm_test.py 이름으로 내부를 작성합니다. 위의 예시 코드를 활용하되, openai 라이브러리를 활용합니다.

 

먼저 이 openai 라이브러리를 설치합니다. doit 이라는 이름으로 가상환경을 설정한 상태라는 점에 유의합니다.

 

이제 만들어준 python 파일을 실행합니다.

 

교재에 있는 코드, 실행되지 않는다

 

그새 변경되었는지 에러가 납니다.

 

그새 messages 라는 하이퍼파라미터가 사라진 것 같습니다. 그냥 input으로 바꿔보겠습니다.

 

openai.BadRequestError: Error code: 400 - {'error': {'message': "Unsupported parameter: 'temperature' is not supported with this model.", 'type': 'invalid_request_error', 'param': 'temperature', 'code': None}}

 

이제 GPT-5는 temperature도 지원을 안합니다.

 

제거해주겠습니다.

print(response.choices[0].message.content)
AttributeError: 'Response' object has no attribute 'choices'​
 
여기서 choices도 없어졌습니다. 최신 예시 코드대로 실행해보겠습니다.
 
 
print(response.output_text)
최종 코드

 

 

"2020년 올림픽 양궁 혼성 단체전에서 우승팀이 누구인가요?"

 
 
 

답변은 대한민국으로 잘 나왔고, 우승 선수도 김제덕과 안산으로 잘 나타났습니다.

 

이제 API 키를 관리하기 위해 python-dotenv 라는 모듈을 설치합니다. pip 명령어로 설치했고, 교재에 나온것처럼 .env 파일에 API 키를 입력해서, 보안상 문제를 해결했습니다. 이 .env 파일에 있는 값을 python-dotenv 모듈이 처리합니다.

.env

 

이 상태에서 코드를 아래와 같이 변경했습니다.

변경된 코드

 

이제 다시 실행해보는데, 주의할 점이 있습니다.

 

 

교재처럼 github에는 이 .env 파일이 올라가지 않도록, gitignore 파일에 추가해줘야합니다. 저는 깃허브와 연동하지 않아서 그대로 사용했습니다.

 

기껏 .env로 가려둔것을 깃 원격 레포지토리에 업로드하면 무용지물이겠죠?

 

결과는 다음과 같습니다. 

실행결과

 

기존 코드는 gpt_llm_test.py 이고, dotenv를 사용한 코드는 gpt_llm_test2.py 입니다. 두 파일 모두 에러없이 결과가 잘 출력된 것을 확인했습니다.

 

'Challenge > Inflearn' 카테고리의 다른 글

[클로드코드] 챌린지 기록 1주차  (0) 2025.09.24