반응형
ㅇ OpenAI 가입하고, API key를 발급받는다.
- 아래 사이트에서 +Create new secret key를 눌러서 키 발급 받음
: https://platform.openai.com/api-keys
ㅇ openAI 에서 API 사용 레퍼런스를 제공한다. 기본적인 text를 만들어 본다
- chat API 사용 : https://platform.openai.com/docs/api-reference/chat/create
ㅇ 모델 선택은 아래 URL에서 정보를 참고하여 선택한다.
- 모델 설정 정보: https://platform.openai.com/docs/models
- 저는 GPT4 유료버전을 사용하고 있어서 "model": "gpt-4-0125-preview", 을 선택
ㅇ 가입을 해도 크레딧이 없으면 코드가 실행되지 않으니, 아래 billing에서 5$ ~ 10$ 정도만 충전하여 우선 사용해본다
- https://platform.openai.com/account/billing/overview
- (주의) 크레딧을 많이 사용할 수 있으니, "max_tokens":50 정도로 설정사여 테스트 개발 할때는 작게 사용
<방식 1 코드>
ㅇ requests 라이브러리를 사용하여 직접 HTTP POST 요청
import requests def get_gpt4_chat_response(prompt_text): api_key = "발급 받은 키" # 여기에 OpenAI API 키를 입력하세요. headers = { "Authorization": f"Bearer {api_key}" } data = { "model": "gpt-4-0125-preview", # 모델 이름을 선택하세요. "messages": [{"role": "user", "content": prompt_text}], "max_tokens":50, # 테스트 개발 할때는 작게 설정 #"n":2, } response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=data) if response.status_code == 200: return response.json()["choices"][0]["message"]["content"].strip() else: # 오류 처리 return f"Error: {response.text}" # 예제 사용 prompt = "이순신 장군은 노량해전에서 어떤 전술을 사용하였는가?" response_text = get_gpt4_chat_response(prompt) print(response_text) |
ㅇ API 응답 샘플
이순신 장군은 노량 해전(1598년)에서 주로 핵심적인 전술로 '학익진(鶴翼陣)'을 사용했습니다. 학익진은 마치 날개를 편 학처럼 배를 배열하여 적에 대응하는 전술로, 이 전
<방식 2 코드>
ㅇ openai 라이브러리의 client.chat.completions.create 메서드 사용
from openai import OpenAI client = OpenAI(api_key = " "발급 받은 키") # 여기에 OpenAI API 키를 입력하세요. " completion = client.chat.completions.create( model="gpt-4-0125-preview", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt}, #role 필드 : ['system', 'assistant', 'user', 'function'] 중 하나 ], temperature=0.7, max_tokens=50, n=2, stop=None ) prompt = "이순신 장군은 노량 해전에서 어떤 전술을 사용하였는가?" response_text = completion.choices[0].message.content print(response_text) |
ㅇ API 응답 샘플
이순신 장군은 1598년 노량 해전에서 주력 전술로 '학익진(鶴翼陣)'을 사용하
반응형