본문 바로가기
자동포스팅

OpenAI 활용하여 자동포스팅에 활용해볼까

by 마자동 2023. 6. 14.
반응형
import openai

openai.api_key = 'YOUR_API_KEY'

def chat_with_model(message):
    response = openai.Completion.create(
        engine='text-davinci-003',  # 사용할 엔진 선택
        prompt=message,
        max_tokens=50,  # 출력 텍스트의 최대 길이
        n=1,  # 생성할 텍스트의 수
        stop=None,  # 생성을 멈추는 토큰
        temperature=0.7,  # 다양성 조절
        timeout=10  # API 호출 제한 시간
    )
    return response.choices[0].text.strip()

user_message = input("사용자: ")
while user_message.lower() != "끝":
    response = chat_with_model(user_message)
    print("모델: " + response)
    user_message = input("사용자: ")

드OpenAI를 활용하는 기본 예제입니다. 

해당 예제를 활용하여 자동포스팅의 글을 한층 더 퀄리티 있게 만들어주지 않을까 하는 생각에 한번 활용해보려고 하는데요. 기본 메소드에 있는 옵션이 뭘 뜻하는지 한번 정리해놓고자 합니다. 저도 계속 까먹는 중이라..

engine

text-davinci-003 이 현재 활용가능한 무료 엔진입니다. 수정 X

prompt

내가 ai에게 질문할 사항을 입력합니다.  예) 한국인 평균 나이는?

max_tokens

내가 한 질문에 대한 대답의 텍스트 길이를 정해줍니다. 50이면 50자에 맞춰서 대답합니다. 영문자 1자가 한글 1자가 아니니 한글의 경우 더 짧아질 수 있겠죠.

stop

NONE으로 지정하면 대화형 AI는 중단없이 마지막까지 진행합니다. 만약 stop의 매개변수를 지정하면 지정한 매개변수를 입력받으면 AI는 대답을 종료합니다. 보통 NONE으로 두거나 입력하지 않는 것이 디폴트 값입니다. 

n

AI가 해당 질문에 대해 대답할 유형을 선택합니다. n=1이라면 1가지 답변만 내놓을 것이며 5라면 5가지 답변을 내놓을 것입니다. n의 숫자가 높으면 높을수록 응답속도와 비용이 올라가는 것은 당연하겠죠

temperature

temperature는 AI의 답변의 다양성을 조절하는 매개변수입니다. 0부터 2까지 지정할 수 있지만 보통 0.2 ~ 1.0 사이의 값을 입력하면 유의미한 답변을 얻을 수 있다고 합니다.

temperature의 값은 여러번의 테스트를 진행하고 본인이 가장 원하는 유형의 값을 도출하는 값을 넣어주면 되겠습니다.  보통 값이 낮으면 일관성이고 예측가능한 답변을 하고, 높을수록 다양하고 변칙적인 답변을 합니다. 

timeout

말 그대로 특정 초 동안 response를 기다리는 시간입니다. 해당 매개변수에 지정한 초가 지나면 타임아웃되며 종료됩니다. 

반응형

댓글