Tracker/logstash

ChatGPT developer API (macOS)

keemnh 2025. 5. 1. 15:00

 

terminal 열고 다음과 같이 입력 

< 파이썬으로 GPT 쓰는 방식 vs. curl로 API 호출하는 방식 >

 

선택1. 파이썬으로 GPT 쓰는 방식

 

1) 파이썬용 OpenAI 라이브러리 설치 

pip install openai
  • 실험 자동화하고 싶을 때 (프롬프트 여러 개 돌리기, 반복 테스트)
  • 응답을 파일로 저장하거나 후처리 하고 싶을 때
  • 여러 모델 비교, 토큰 분석, 파라미터 튜닝 실험하고 싶을 때
  • 웹앱, 봇, 리서치 툴 등 만들 때
  • 사용량 로그 기록하거나 조건 분기 처리하고 싶을 때

즉, 복잡한 실험 / 반복 실행 / 결과 정리 → 무조건 파이썬이 훨씬 편리.

 

 

2) API키를 환경변수로 설정 (코드에 직접 넣는 것을 방지하기 위함)

export [키 이름]='사용자의 API키'

ex) openAPI_key, gptkey, banana,..

 

 

 

3) 잘 저장됐는지 확인

echo $[키 이름]

 

 

 

4) 파이썬 코드에서 키 불러와서 호출

import openai
import os

openai.api_key = os.getenv("키 이름")

response = openai.ChatCompletion.create(
    model="gpt-4-turbo-2024-04-09",
    messages=[
        {"role": "system", "content": "넌 분석가야."},
        {"role": "user", "content": "AI가 인간에게 미치는 부정적인 영향은?"}
    ]
)

print(response['choices'][0]['message']['content'])

 

- 말투나 설정 지정하는 부분: {"role": "system", "content": "넌 분석가야."}

- 실제 질문하는 부분: {"role": "user", "content": "AI가 인간에게 미치는 부정적인 영향은?"}

-  GPT 응답 본문: response['choices'][0]['message']['content'] 

 

 

 

선택2. curl로 API 호출하는 방식

 

curl

터미널에서 HTTP 요청을 보내는 명령어

- 웹 서버에 접속해서 데이터를 가져오거나 보내는 기능을 가지고 있음

- GPT한테 질문을 터미널로 보내고, GPT의 응답을 JSON으로 되돌려주는 구조

- GPT API도 HTTP 기반이라 curl로 호출할 수 있음

- 응답은 JSON(JavaScript Object Notation) 구조

 

  • 그냥 질문 하나 던져보고 결과 확인해보고 싶을 때
  • 코드 없이 API 호출이 어떤 느낌인지 체험할 때

→ 한마디로 즉석 실험, 빠른 테스트, 공부용엔 curl이 직관적이고 빠름

 

 

1) API키를 환경변수로 설정 (코드에 직접 넣는 것을 방지하기 위함)

export [키 이름]='사용자의 API키'

ex) openAPI_key, gptkey, banana,..

 

 

 

2) 잘 저장됐는지 확인

echo $[키 이름]

 

 

3) curl 명령어로 요청

curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer $gptkey" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4-turbo-2024-04-09",
    "messages": [
      {"role": "system", "content": "넌 감정 없는 분석가야."},
      {"role": "user", "content": "인공지능의 부작용에 대해 말해줘."}
    ],
    "temperature": 0.3
  }'

-d '...' 이 안에 있는 데이터는 GPT 서버로 전달되는 JSON 구조

그 JSON 안의 "content": "..." 이게 사용자의질문 내용, 즉 GPT한테 보내는 입력 프롬프트

 

 

 

+) 응답 텍스트만 깔끔하게 보기

 

- jq 설치 (한 번만 하면 됨)

brew install jq

 

- 텍스트 복사

curl ... (위에 내용) ... | jq -r '.choices[0].message.content'

 

 

 

brew란?

- Mac의 패키지 관리자

- Homebrew라는 프로그램이고,

- 맥OS에서 필요한 도구(jq, git, python 등)를 설치할 때 쓰는 명령어 툴

-  쉘(Shell) 환경에서 돌아가는 CLI 명령어 도구(Command Line Interface)

 

 

 

+) Postman

코딩 안 하고 API 실험·테스트·자동화까지 할 수 있게 해주는 도구

 

  1. 코드 없이 API 요청 가능 -> curl이나 Python 안 써도 됨. GUI로 입력만 하면 끝.
  2. 파라미터 실험이 빠름 -> 모델 종류, system prompt, temperature, max_tokens… 전부 GUI로 실험 가능.
  3. 응답 확인과 저장이 쉬움 -> JSON 응답을 바로 파싱해서 보여주고, 이전 요청/응답 자동 저장돼서 비교 실험에 유리함.
  4. API 키 보안 설정 쉬움 -> 환경변수처럼 {{api_key}}로 변수 설정 가능.
  5. 팀 협업 / 문서화 / 자동화 가능 나중에 GPT 실험 흐름 공유할 때도 깔끔하게 정리해서 쓸 수 있음.