ai/chatGPT
chatGPT-api 예제 코드
도비의 양말을 찾아서
2023. 3. 26. 20:03
api 발급
- https://platform.openai.com/account/api-keys
- 해외결제 되는 카드를 먼저 등록해야 생성됨
- https://platform.openai.com/account/billing/limits
- 한달 사용 금액 설정을 같이 해주는 것 권장. 토큰별로 결제를 하기에 자칫 비용이 많이 발생할수 있음.
환경 세팅
conda create -n gpt python=3.9
conda activate gpt
pip install openai
예제 코드
import openai
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-m", "--model", default="turbo", type=str)
args = parser.parse_args()
openai.api_key = "" # 긱지 개인 키 입력
def davinci_model_run():
print("text-davinci-003")
prompt = input("질문의 내용을 입력하세요 : ")
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
temperature=0.9,
max_tokens=2000,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.6,
)
generated_text = response.choices[0].text
print("답변 :", generated_text)
def turbo_model_run():
# 모델 - GPT 3.5 Turbo 선택
model = "gpt-3.5-turbo"
print("gpt-3.5-turbo api")
# 질문 작성하기
query = input("질문의 내용을 입력하세요 : ")
# 메시지 설정하기
messages = [
{"role": "system", "content": "You are a helpful assistant."}, # chatGPT에게 원하는
{"role": "user", "content": query}
]
# ChatGPT API 호출하기
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=1,
top_p=1,
n=1,
stream=False,
stop=None,
presence_penalty=0,
frequency_penalty=0,
)
answer = response['choices'][0]['message']['content']
print("답변 : " + answer)
def main():
if args.model == "turbo":
turbo_model_run()
else:
davinci_model_run()
if __name__ == '__main__':
main()