- 미션 : 나만의 네이버 블로그 컨텐츠 생성하기
- 목표 : Python과 OPENAI Chat Completions API를 활용하여 자동으로 글을 생성하기
- 결론 : 블로그 글 작성은 실패!!
- 과정 :
1. 주제 선정
원래 하고 싶었던 주제는 ‘세일즈’였지만, 이제까지 chatGPT의 ‘세일즈’ 관련 대화가 만족스럽지 못했음.
내가 잘 알지 못하는 분야 중에서 정하자.
주제 - 화재보험 손해사정
2. 컨텐츠 구상하기
잘 알지 못하는 분야라 무엇에 대해 써야 될지 모르겠음. 그래서 chatGPT한테 물어봄.
이런.. 외부 링크는 못보는구나.. 웹파일럿인가 뭔가가 있었는데.. 거기에 대해서 한참 물어보다가 시간이 너무 길어져서 포기. 다른 질문으로 바꿈
오호.. 그럴듯하게 제목들을 뽑아줬음. 그런데 제목이 확 끌리는 게 없네. 다시 질문.
약간 더 있어 보임. 내친김에 글도 한번 작성해보자.
3. Python 스크립트 작성하기
자.. 이젠 Grimoire 한테 가보자.
기본적인 것은 이렇고... 그럼 제대로 한번 만들어 보자.
openai 라이브러리 설치했고, API Key 받았음.
그런데 내가 예상했던 결과가 안나오네. 원래 의도랑 다름.
이 프로그램은 화재보험 손해사정에 대해 알기 쉽게 설명해주는 블로그 글을 자동으로 작성해주는 프로그램입니다. 화재보험 손해사정 전문가이면서 블로그 글을 잘 쓰는 파워블로거의 역할을 하여, 중학생도 이해할 수 있게 글을 작성합니다.
어떤 주제를 선택하시겠습니까?
1. 화재보험의 기초
2. 화재보험 가입 시 주의사항
3. 화재보험금 청구 절차
4. 화재 발생 시 대처 방법
5. 화재보험과 손해사정의 이해
6. 화재보험금 정산 과정 설명
7. 화재보험료 계산 방법
8. 화재보험 가입자의 권리
9. 화재보험 가입 전 필독 사항
10. 화재보험금 미지급 사례 분석
11. 소방시설과 화재보험 할인
12. 화재보험 가입 조건
13. 화재보험과 법률적 측면
14. 화재보험 정책 변화와 영향
15. 화재보험 사기 예방법
16. 화재보험 소송 사례 분석
17. 화재보험 업계의 최신 트렌드
18. 화재보험과 재난 대비
19. 화재보험 가입 후 관리 팁
20. 화재보험 FAQ
번호를 입력하세요: 1
제안된 제목: 화재보험 손해사정: 화재보험의 기초
이 제목이 마음에 드십니까? (Y/N): Y
블로그 글 작성 중...
불만1. 토픽을 프로그램 실행 후 인터넷에서 검색해서 찾은 후 보여줘야 하는데, 자기가 먼저 만들어 버렸음.
불만2. N 이라고 해도 똑같은 제목을 반복해서 보여줌.
그래도 에러를 수정하면서 블로그 글 작성까지는 해보자.
에러 5번 정도 수정.. 수정.. 수정.. 수정.. 수정.. (주로 openai 버젼 등등의 에러….. 너무 많아서 못올림)
Grimoire가 보내준 마지막 코드!!
import openai
# OpenAI API 키 설정
openai.api_key = 'API 키'
def introduction():
print("이 프로그램은 화재보험 손해사정에 대해 알기 쉽게 설명해주는 블로그 글을 자동으로 작성해주는 프로그램입니다. "
"화재보험 손해사정 전문가이면서 블로그 글을 잘 쓰는 파워블로거의 역할을 하여, 중학생도 이해할 수 있게 글을 작성합니다.")
def choose_topic():
topics = [
"화재보험의 기초", "화재보험 가입 시 주의사항", "화재보험금 청구 절차", "화재 발생 시 대처 방법",
"화재보험과 손해사정의 이해", "화재보험금 정산 과정 설명", "화재보험료 계산 방법", "화재보험 가입자의 권리",
"화재보험 가입 전 필독 사항", "화재보험금 미지급 사례 분석", "소방시설과 화재보험 할인", "화재보험 가입 조건",
"화재보험과 법률적 측면", "화재보험 정책 변화와 영향", "화재보험 사기 예방법", "화재보험 소송 사례 분석",
"화재보험 업계의 최신 트렌드", "화재보험과 재난 대비", "화재보험 가입 후 관리 팁", "화재보험 FAQ"
]
print("어떤 주제를 선택하시겠습니까?")
for i, topic in enumerate(topics, start=1):
print(f"{i}. {topic}")
choice = int(input("번호를 입력하세요: ")) - 1
return topics[choice]
def modify_title(topic):
modified_topic = f"화재보험 손해사정: {topic}"
print(f"제안된 제목: {modified_topic}")
user_approval = input("이 제목이 마음에 드십니까? (Y/N): ")
return modified_topic if user_approval.upper() == 'Y' else None
def generate_blog_post(topic):
prompt = f"설명: {topic}에 대한 블로그 글을 작성해주세요. 중학생도 이해할 수 있도록 쉽게 설명해야 합니다. " \
"중간에 삽입할 사진에 대한 설명도 포함해주세요. 마지막에는 손해사정회사에 연락하도록 유도하는 문구를 추가해주세요."
try:
response = openai.Completion.create(
engine="gpt-3.5-turbo", # 모델 이름을 최신 모델로 업데이트
prompt=prompt,
temperature=0.7,
max_tokens=1500,
n=1,
stop=None
)
return response['choices'][0]['text']
except Exception as e:
print(f"API 호출 중 오류가 발생했습니다: {e}")
return ""
def main():
introduction()
topic = choose_topic()
title = None
while title is None:
title = modify_title(topic)
print("블로그 글 작성 중...")
blog_post = generate_blog_post(title)
print(blog_post)
if __name__ == "__main__":
main()
마지막 결과
결국 원하는 결과를 못얻었......
회고. 처음부터 너무 무리하게 프로그램을 만들려고 했나???