PYTHON/GPT

GPT 기본 코드 공유

죠으니 2024. 2. 29. 15:40

 

설치

openai를 설치하지 않은 상태라면 설치하고 코드 실행하시기 바랍니다. 

(pip install openai로 하면 AttributeError 등의 오류가 뜰 수 있다. 오류 뜨면 uninstall하고 특정 버전(0.28.1)으로 재설치하기)

pip install openai==0.28.1

 

 

 

기본 코드

# -*- coding: utf-8 -*-
import pandas as pd
import openai
import os
import time
import fitz

openai.api_key = 'GPT API키'



def get_completion(prompt,model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=[{"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": prompt},
        {"role": "assistant", "content": "gildong"},
        {"role": "user", "content": "what's your name?"}],
        temperature=1
    )
    return response.choices[0].message["content"]


##################################################################################################################################################################
prompt='I wonder your name.'
response = get_completion(prompt)
print(response)

 

[ Role ]

- system : 역할이나 상황을 설정

   ex, 너는 친절한 은행원이야, 너는 건설회사 직원이야

- user : 질문을 하는 역할

   ex, 예금 종류에 대해 설명해줘

- assistant : 이전 대화를 저장하고 답변에 영향을 줌. 첫번째 답변을 받아서 질문하고 싶을 때 이전 답변을 assistant에 저장하고 그다음 user가 또 질문하는 방식으로 함. 위에 코드가 해당 예시가 됨 

   ex, 예금방법에 따라보통예금·당좌예금·별단예금·정기예금·정기적금·통지예금과 각종 부금 등이 있습니다.

 

[Temperature]

- 높게 할수록 답변이 다양하게 나온다

- 낮게 할수록 일관성 있는 답변을 받을 수 있다