오픈 AI의 API를 활용하여 LLM을 사용한 프로그램을 만듭니다.
최근 홈페이지가 리뉴얼 되면서, 아래 화면과 같이 변경되었습니다.
이후, 빌딩을 시작하고, 조직명에 개인(Personal)을 입력한 후, 조직을 생성했습니다. 이후 API Key 이름도 설정해두었습니다.
초기에는 My Test Key, Default project라고 설정되어 있는데, 이건 내 마음대로 바꿀 수 있습니다.
이후에 나오는 API Key는 Copy버튼으로 따로 보관해둡니다. 이후 웹페이지에서는 다시 확인할 수 없습니다.
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도 지원을 안합니다.
제거해주겠습니다.

AttributeError: 'Response' object has no attribute 'choices'

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

답변은 대한민국으로 잘 나왔고, 우승 선수도 김제덕과 안산으로 잘 나타났습니다.
이제 API 키를 관리하기 위해 python-dotenv 라는 모듈을 설치합니다. pip 명령어로 설치했고, 교재에 나온것처럼 .env 파일에 API 키를 입력해서, 보안상 문제를 해결했습니다. 이 .env 파일에 있는 값을 python-dotenv 모듈이 처리합니다.
이 상태에서 코드를 아래와 같이 변경했습니다.
이제 다시 실행해보는데, 주의할 점이 있습니다.

교재처럼 github에는 이 .env 파일이 올라가지 않도록, gitignore 파일에 추가해줘야합니다. 저는 깃허브와 연동하지 않아서 그대로 사용했습니다.
기껏 .env로 가려둔것을 깃 원격 레포지토리에 업로드하면 무용지물이겠죠?
결과는 다음과 같습니다.
기존 코드는 gpt_llm_test.py 이고, dotenv를 사용한 코드는 gpt_llm_test2.py 입니다. 두 파일 모두 에러없이 결과가 잘 출력된 것을 확인했습니다.

'Challenge > Inflearn' 카테고리의 다른 글
[클로드코드] 챌린지 기록 1주차 (0) | 2025.09.24 |
---|