본문 바로가기
부자/자동화 블로그

자동화 블로그 2편 - ChatGPT로 블로그 글 자동 생성기 만들기

by hhhello 2024. 5. 26.

포스팅 완전 자동화를 목표로

지난 편에서는 글을 포스팅할 플랫폼을 선정했다. 또, 어떤 것부터 자동화할 지 생각한 결과 주제 선정과 글의 내용을 도와주는 것을 자동화 하기로 했다. 하지만 현실적으로 생각했을때 그걸 자동화 한다고 얻을 수 있는 이점보다는 시간이 더 오래걸릴 것 같았다.

그래서 전략을 바꿨다. 아예 블로그 주제 선정부터 내용 작성, 마지막으로 포스팅까지 완전 자동화를 목표로 할것이다. 뉴스나 최근 이슈되는 주제로 글을 쓰기 보다는 안정적이고 AI가 쓴 글인지 아닌지 잘 판단하지 못하는 주제를 선정하기로 결정했다. 자기계발이나 고민이 생겼을 때 해결책, 진로 설정하는 방법, 철학에 관한 이야기. 객관적인 사실보다 이런 추상적이고 직관적인 일들을 오히려 AI가 사람처럼 잘 대답하는 것 같았기에 이런 결정을 내렸다.

ChatGPT로 블로그 글을 생성해보자

우선 AI가 가장 잘 하는 글 작성영역 부터 만들어보기로 했다.

AI는 최근 출시된 OpenAI의 GPT-4o를 사용할 것이고 Python 프로그래밍 언어를 사용하여 개발할 것이다.
일단 첫 번째로 원하는 주제를 입력하면 그에 맞는 블로그 글을 작성해주는 기능을 만들것이다.

OpenAI의 GPT-4o를 사용

우선 OpenAI의 사이트에 접속하여 카드를 등록 한 뒤 AI를 사용하기 위한 Secret Key를 발급해주었다. 자세한 방법은 설명하지 않겠다. 구체적인 것은 다른 블로그나 독스에서 찾아보아라.

이제 본격적으로 블로그 글 생성기를 제작할 것이다.

OpenAI의 Python SDK를 사용하여 개발했는데 이 부분도 이미 구현 방법이 다 나와있기 때문에 구체적인 것은 설명하지 않겠다.

아래는 Python으로 구현한 블로그 글 생성기이다. 주제를 리스트형식으로 담으면 GPT-4o 모델이 내가 지정한 프롬프트에 따라 블로그 글을 생성해준다.

from gpt import writeContent

if __name__ == "__main__":
    titles = [
        '원하는 목표 이루는 방법',
        '마음이 불안할때 해결법 10가지'
    ]
    for (idx, title) in enumerate(titles):
        md = writeContent(title=title)
        print(md)
# gpt.py
from openai import OpenAI
from util.config import gptKey

def writeContent(title):

  print('generating markdown content...')
  
  client = OpenAI(api_key=gptKey)

  prompt = f"""1. {title}을 주제로 3000자로 작성
2. 사람이 쓴 블로그 글처럼 자연스럽게 작성
3. 예시도 넣고, 충분히 구체적으로 작성
4. 그 전체 내용을 마크다운 형식으로 변환
"""

  response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
      {"role": "user", "content": prompt},
    ]
  )
  md = response.choices[0].message.content

  return md

실행 결과는 아래와 같다. 프롬프트에서 3천자 이상으로 작성해달라고 요청했는데 이걸 확인하기 위해서 글자수세기 사이트에서 직접 글자 수를 세어봤다. 그러니까 정말로 3000자 정도로 나왔다.

자동화 블로그 성공

GPT-3.5정도 수준에서는 이 정도 길이와 글 수준이 아니었으나 GPT-4o를 쓰니 꽤나 사람이 쓴 글인 것처럼 높은 수준으로 작성해주는 것을 알 수 있다.

티스토리에서는 마크다운 형식으로도 업로드할 수 있기에 프롬프트에서 마크다운 형식으로 반환해달라고 요청했다. 그러니까 정말 GPT-4o가 마크다운 형식으로 반환해주는 것을 알 수 있다.

아직은 그냥 주제 리스트를 만들어 API요청을 하는 수준에 그치지만 추후 더 개선시켜볼 것이다. 100%자동화까지 한번 도전해보자.

함께 읽으면 좋은 글

자동화 블로그 3편 - ChatGPT 자동화 블로그를 포기하다

중학생이 책 100권 읽고 생긴 변화

 

중학생이 책 100권 읽고 생긴 변화

나는 지금 고등학생이다. 그리고 이 일은 중학생때 있었던 일이다.그리고 지금부터 중학생 시절 독서에 미쳐 책을 100권 읽은 이야기를 시작해보려한다.학교 앞 서점 이야기우리 학교 앞에는 서

hhhello.tistory.com