우선 아래사이트로 가서 결재하고 API 키 라는걸 받아와야 해요
1️⃣ OpenAI API 키 받기 (무료 가능)
GPT-4o-mini는 OpenAI의 API로 제공되므로, OpenAI 계정만 있으면 무료로 사용 가능해요.
🔹 API 키 발급 방법
- 👉 https://platform.openai.com/ 접속
- 로그인 또는 회원가입
- 오른쪽 상단 프로필 사진 클릭 → "View API Keys"
- "Create new secret key" 버튼 클릭
- 키 생성되면 복사! (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 |