OpenAI API설정
1. API KEY 설정
Playground를 사용하기 위해서는 OpenAI API키가 필요.
OpenAI에서 API KEY 발급을 위해서는 최소 5$의 과금이 필요하며, VISA카드가 요구됨.
Add payment details 클릭 후 카드 등록
credit balance에 최소금액 5$ 추가
Create new secret key클릭
Name과 프로젝트 설정후 Secret Key 발급. -> 발급한 Secret Key는 안전한 곧 에 저장해둔다.
2. Python 설치

환경변수 추가해야 할 수 있음.

3. 가상환경(Virtual Environment) 생성 및 활성화
python -m venv pal_env
pal_env\Scripts\activate
4. 라이브러리 설치
pip install openai python-dotenv
5. VsCode 설정
Pyhton 확장 프로그램 설치
Python
pal_env가상환경 연결
Ctrl+Shift+P 누른 후 Python:Select Interpreter검색
pal_env가상환경 선택
6. 환경변수 설정
.env파일 생성
api_key를 보관할 저장소
프로젝트에서 사용할 api키 등록
OPENAI_API_KEY="your-api-key"
7. 테스트스크립트 생성


8. 테스트 파일생성 후 붙여넣기
### main.py
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": "당신은 챗봇입니다. 사용자의 질문에 대해 친절하게 응답해주세요"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "오늘의 날씨에 대해서 알려줘"
}
]
}
],
response_format={
"type": "text"
},
temperature=0.7,
max_completion_tokens=4096,
stop=["stop"],
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
9. API_KEY 설정
### main.py
import os
from dotenv import load_dotenv
from openai import OpenAI
# .env 파일 로드
load_dotenv()
# 환경 변수에서 API 키 가져오기
api_key = os.getenv("OPENAI_API_KEY")
client = OpenAI(api_key=api_key)
### 아래는 그대로 ###
....
print(response) #응답 전체 출력
print(response.choices[0].message.content) #응답내용 출력
실행
python main.py
출력결과
ChatCompletion
(id='chatcmpl-AzCkwdb0lcJ91XqQbby40t8Jup7xU',
choices=[
Choice(
finish_reason='stop',
index=0,
logprobs=None,
message=ChatCompletionMessage(
content='죄송하지만, 실시간 날씨 정보를 제공할 수는 없습니다. 하지만 주변의 날씨 앱이나 웹사이트를 통해 현재 날씨를 확인하실 수 있습니다. 도움이 필요하신 다른 사항이 있다면 말씀해 주세요!',
refusal=None,
role='assistant',
audio=None,
function_call=None,
tool_calls=None))],
created=1739150406,
model='gpt-4o-2024-08-06',
object='chat.completion',
service_tier='default',
system_fingerprint='fp_50cad350e4',
usage=CompletionUsage(
completion_tokens=49,
prompt_tokens=39,
total_tokens=88,
completion_tokens_details=CompletionTokensDetails(
accepted_prediction_tokens=0,
audio_tokens=0,
reasoning_tokens=0,
rejected_prediction_tokens=0),
prompt_tokens_details=PromptTokensDetails(audio_tokens=0, cached_tokens=0)))
Last updated