우선 아래사이트로 가서 결재하고 API 키 라는걸 받아와야 해요

https://platform.openai.com/

 

1️⃣ OpenAI API 키 받기 (무료 가능)

GPT-4o-mini는 OpenAI의 API로 제공되므로, OpenAI 계정만 있으면 무료로 사용 가능해요.

🔹 API 키 발급 방법

  1. 👉 https://platform.openai.com/ 접속
  2. 로그인 또는 회원가입
  3. 오른쪽 상단 프로필 사진 클릭 → "View API Keys"
  4. "Create new secret key" 버튼 클릭
  5. 키 생성되면 복사! (sk-... 로 시작)

⚠️ 이 키는 한 번만 보여지니 꼭 안전한 곳에 복사해두세요!
무료 티어로도 일정량의 사용이 가능해요. (보통 매월 $5~$10 상당의 크레딧 제공)

 

 

그리고 파이썬으로 LLM과 연동하는 부분은 다음과 같아요

import os
import openai
from dotenv import load_dotenv

# .env 파일 로드
load_dotenv()

# 환경변수 가져오기
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
OPENAI_DEFAULT_MODEL = os.getenv('OPENAI_DEFAULT_MODEL')
openai.api_key = OPENAI_API_KEY

print(OPENAI_API_KEY)
print(OPENAI_DEFAULT_MODEL)
 
# 표준적인 Chat completion mode
import openai
res = openai.chat.completions.create(
 model="gpt-4o-mini",
 messages=[{"role": "user", "content": "다음을 일본어로 번역하세요: 안녕하세요? 오늘 날씨가 참 좋네요!"}],
 temperature=0.5,
 max_tokens=256,
 top_p=1,
 frequency_penalty=0,
 presence_penalty=0
)

 

1 os 모듈하고 openai 모듈을 import 해야해요 이건 파이썬 기초

 

2. os.getenv() 로 시스템 환경변수에서 오픈AI키와 모델을 가져왔어요

- 환경변수에 적용하는 부분은 따로 설명 할 께요 

 

3. print 한 부분은 다 아시죠 변수 잘 가져왔는 지 테스트하려고 출력해본 거에요

 

4. res = openai.chat.completions.create(  

요 부분이 중요하죠 

으픈AI객체를 불러와서 사용하는 방법이에요 

그런데 버전이 올라가면서 객체 사용하는 방법이 변해서 챗지피티한테 물어보는데 자꾸 에러나더라고요

 

5.

🧩 파라미터 설명

파라미터의미사용 예시 및 팁
model 사용할 GPT 모델 이름 예: "gpt-4o-mini", "gpt-3.5-turbo", "gpt-4" 등
messages 대화 이력 (채팅 기록) 리스트 형식으로 구성: 각 메시지는 role(user, assistant, system)과 content 포함
temperature 창의성 조절 (0~2 사이) 낮을수록 예측 가능한 결과, 높을수록 창의적이고 다양한 결과
→ 0.5면 균형 잡힌 출력
max_tokens 응답의 최대 길이 출력되는 단어 조각(token) 수 제한 (256이면 대략 한글 기준 180~200자 정도)
top_p 확률 기반 필터링 (nucleus sampling) 1이면 전체 후보를 고려, 0.9면 상위 90% 확률에 해당하는 후보만 고려
frequency_penalty 반복 억제 정도 (-2.0 ~ 2.0) 높일수록 같은 문장이 반복되지 않게 조절
presence_penalty 새로운 주제 유도 (-2.0 ~ 2.0) 높일수록 새로운 단어나 주제를 사용하려고 함

 

🧪 예시로 보는 차이

temperature=0.2 # 매우 보수적이고 정답에 가까운 답변 temperature=1.0 # 더 자유롭고 창의적인 표현 가능
frequency_penalty=1.5 # 같은 말을 자꾸 반복하는 걸 방지 presence_penalty=1.2 # 좀 더 다양한 주제를 시도하도록 유도

📝 팁

  • temperature랑 top_p는 보통 하나만 조절하면 충분합니다.
  • 너무 짧은 응답을 피하려면 max_tokens를 좀 넉넉히 (예: 512 이상) 주는 것도 좋아요.
  • 자주 반복되는 말이 있다면 frequency_penalty를 1 이상으로 조정해 보세요.

6.  print(res.choices[0].message.content)   

그리고 요렇게 출력해봅니다

그럼 실행창에서 LLM에서 가져온 결과를 출력해줘요

[0] 은 파이썬에서 배열가져올 때 0 부터 가져오는 거라 첫번째 값인데요 

여러개면 0,1,2 이렇게 가져오면 되요 

 

print 는  실행화면에서 출력하는거고요

파이썬에서는 스트림릿이나 그라지오를 사용해서 UI(사용자 대화화면) 으로 출력해 볼 수 있어요 

 

'생성형AI프로그래밍' 카테고리의 다른 글

AI 에이전트란 ?  (1) 2025.04.19
파인튜닝 개념  (0) 2025.04.19
VectorDB 와 청크(Chunk) 에 대하여  (0) 2025.04.19
RAG 에 대해서  (0) 2025.04.19
생성형AI 개발자는 무얼하는 사람인가요  (0) 2025.04.16

+ Recent posts