AI기술에 대해서
AI기술의 발전과 함께 AI를 정말 다양한 분야에서 활용할 수 있도록 많은 개발자들이 힘쓰고 있습니다.
유튜브를 보다가 티스토리 블로그를 운영하는 제게 꽤 흥미를 끌만한 영상을 발견하였습니다.
프로그래밍 개발자들이라면 아마 한 번쯤 유튜브에서 이름을 들어보셨을 만한데 참신하고 다양한 주제로 코딩을 소개해주는 빵형의 개발도상국이라는 채널에 티스토리 블로그 자동글쓰기 매크로에 관한 영상이 올라왔습니다.
제가 직접 따라 해보면서 느낀건데 작업환경이나 지원 api의 업데이트등에 따라서 다를수도 있으며 영상을 따라해보면서 어려웠던 점이나 막혔던 부분을 검색하며 찾아냈는데 이러한 부분들을 공유하면 좋을 거 같아서 블로그에 글을 작성했습니다.
인공지능 모델 소개 및 활용방법
노션 AI(Notion AI)
노션 AI란, 노션에서 제공하는 인공지능 기술을 말합니다. 노션은 현재 전 세계적으로 많은 사용자들에게 사랑받고 있는 작업 관리 및 협업 도구로, 노션을 활용한 메모 및 스케줄 관리등 국내에서도 사용자가 꾸준히 증가하고 있습니다.
노션에서 제공하는 노션 AI의 대표적인 기능 중 하나는 문서 자동 요약 기능입니다. 노션은 사용자가 작성한 글의 핵심 내용을 추출하여 간략하게 요약해 줍니다. 이 기능을 통해 사용자는 긴 문서를 읽지 않아도 중요한 내용을 파악할 수 있습니다.
다른 활용 방법으로는 ai를 활용한 블로그 주제추천에 관한 글이나 기사 작성하기가 가능합니다.
노션 AI는 현재도 계속해서 개발 중이며, 앞으로 더 많은 기능이 추가될 예정입니다. 노션은 사용자들의 요구에 맞추어 계속해서 발전하고 있으며, 이에 따라 노션 AI도 더욱 발전할 것으로 기대됩니다.
이번 주제에서 노션 AI를 활용한 블로그 글 작성을 도움받을 예정입니다.
DALL-E
DALL-E는 OpenAI에서 개발한 인공지능 모델로, 이미지 생성 및 편집에 사용되는 모델입니다. DALL-E는 GPT-3 모델의 발전 버전으로, 입력된 문장을 해석하여 해당 문장에 해당하는 이미지를 생성하는 기능을 제공합니다.
DALL-E는 인공지능이 이전에 생성한 이미지를 참조하여, 새로운 이미지를 생성합니다. 예를 들어, "강아지 모양의 삼각형"이라는 문장을 입력하면, DALL-E는 이전에 생성한 "강아지"와 "삼각형" 이미지를 참조하여, 이 두 이미지를 합성하여 새로운 "강아지 모양의 삼각형" 이미지를 생성합니다.
DALL-E는 사람이 생각하기 어려운 상상력을 구현할 수 있습니다. 예를 들어, "나무 모양의 구름"이라는 문장을 입력하면, DALL-E는 나무와 구름의 이미지를 참조하여, 이를 합성하여 "나무 모양의 구름"이라는 새로운 이미지를 생성합니다.
DALL-E는 또한 이미지를 편집하는 기능도 제공합니다. 예를 들어, "빨간색 신발을 파란색으로 바꿔주세요"라는 요청을 입력하면, DALL-E는 이미지에서 신발 부분을 인식하여, 빨간색을 파란색으로 변경한 새로운 이미지를 생성합니다.
DALL-E는 아직까지도 연구 개발 단계에 있지만, 이미지 생성 및 편집 분야에서 큰 관심을 받고 있습니다. DALL-E의 기술은 다양한 분야에서 응용될 수 있을 것으로 예상되며, 미래에는 더욱 발전한 버전의 DALL-E가 나올 것으로 기대됩니다.
이번 주제에서는 DALL-E를 활용하여 티스토리 블로그에 게시될 글의 메인 이미지를 생성할 때 사용합니다.
구성파일 및 과정 설명
티스토리 블로그 글 자동 업로드 과정
티스토리 블로그에 글을 자동으로 올리기 위해 활용한 AI기술을 먼저 소개해드리겠습니다 Notion AI와 Openai의 Dall-e 총 2가지의 AI기술을 활용하여 먼저 Notion AI를 통해서 블로그 게시물의 제목, 본문을 생성하고 Dall-e를 사용하여 게시물에 첨부될 이미지를 생성합니다. 그리고 생성된 소스들을 티스토리 API를 통하여 티스토리 블로그에 자동으로 글을 생성할 수 있습니다.
파이썬 파일 다운받기
파이썬 언어를 활용하여 블로그 자동글쓰기를 진행할 예정입니다.
편리하게 사용할 수 있도록 프로젝트로 제작하여 업로드해 주신 kairess님의 깃허브 페이지로 이동하시면 다운로드하실 수 있습니다.
파이썬 설정파일 API key 등록
# Notion
NOTION_TOKEN = ''
NOTION_SPACE_ID = ''
# Tistory
BLOG_URL = 'blog url'
CLIENT_ID = ''
CLIENT_SECRET = ''
ACCESS_TOKEN = ''
# OpenAI
OPENAI_API_KEY = ''
다운로드한 파이썬 파일 중 configt.py항목을 살펴보면 위와 같은 코드가 나와있습니다.
각 변수에 해당하는 notion의 token과 openai의 토근 그리고 티스토리 api의 값을 넣어줘야 합니다.
Notion token, space id얻기
노션(Notion)을 사용하려면 가입을 먼저 해야 하는데 구글계정만 있으면 간편 로그인이 가능해서 어려운 회원가입 과정 없이 구글계정을 통한 로그인을 추천드립니다.
Notion token
Notion token값은 크롬 브라우저의 개발자도구를 통해서 쉽게 얻으실 수 있습니다.
노션에 접속한 뒤 F12 버튼을 누르면 개발자도구탭이 활성화됩니다.
개발자도구에서 Application 탭으로 이동해 주세요.
Storage항목에서 Cookies항목을 펼쳐서 https://www.notion.so 를 선택해 주세요
여러 쿠키 항목 중에 사진에 표시된 token_v2의 value값을 저장해 주세요.
이 value의 값이 Notion token변수에 들어갈 값이 됩니다.
space id
space id는 환경의 문제인지 영상에서 설명된 방법으로는 확인이 안돼서 다른 방법으로 해당값을 얻었습니다. 저와 같은 문제를 겪는 사람도 있는 거 같아서 따라 하시면 도움 되실 거 같습니다.
또 notion의 space id는 2~3개월 주기로 변하는 거 같아서 잘되던 코드가 작동되지 않는다면 space id가 변경되었는지 확인해 보세요.
노션(Notion) 웹사이트의 좌측상단에 "설정과 멤버"탭을 클릭해 주세요.
아까와 마찬가지로 F12버튼을 눌러서 크롬의 개발자도구를 열어줍니다.
이번에는 Network탭으로 변경한 뒤에 Filter는 "Fetch/XHR"로 변경해 주세요.
사진의 화면처럼 깨끗하지 않고 지저분한 내용들이 있다면 빨간 원버튼 우측에 있는 아이콘을 누르면 스캔된 정보가 초기화됩니다.
빨간 원 버튼을 클릭하여 네트워크 캡처를 시작해 줍니다.
개발자도구가 활성화되어있는 상태에서 "멤버"탭으로 이동했다가 다시 "설정"탭으로 돌아온 뒤 노션의 설정탭에서 "워크스페이스의 모든 콘텐츠 내보내기"를 클릭해 줍니다.
빨간 버튼을 한 번 더 눌러줍니다.
그러면 버튼의 색이 사라지면서 네트워크 캡처가 종료됩니다.
네트워크 name항목 중에 enqueueTask를 찾아주세요.
우측에 payload탭으로 이동한 뒤 spaceId값을 확인 후 복사해 둡니다.
복사해 두었던 Notion token과 space id를 config.py파일에 붙여 넣어줍니다.
OpenAI apk 얻기
OpenAi는 지난번에 업로드했던 Chatgpt 사용방법에 관한 글을 보고 사용해 본 경험이 있다면 계정이 있으실 겁니다.
사이트가 로그인 후 OpenAIAPI 페이지로 이동해 주세요.
우측상단 프로필을 클릭한뒤 'View API keys'를 클릭해 주세요.
Create new secret key 버튼을 클릭하면 SECRET KEY가 생성됩니다.
이때 팝업으로 복사가능한 api key를 알려주는데 이후에는 다시 api키를 확인하기 어려우니 잘 복사해 둡시다.
만일 키를 잃어버렸을 경우에는 그냥 지우고 새롭게 키를 생성하시면 됩니다.
복사해 두었던 Openai key를 config.py파일에 붙여 넣어줍니다.
티스토리 api키 얻기
카카오계정을 사용하면 간편 가입으로 티스토리 블로그를 생성할 수 있습니다.
블로그 생성에 관한 내용은 따로 설명할 게 없으니 생략하겠습니다.
App ID(CLIENT_ID)와 Secret Key(CLIENT_SECRET) 발급
티스토리 계정에 로그인한 뒤 티스토리 api 등록사이트로 이동해 주세요
적당한 서비스명을 정해준 뒤 서비스 URL에 https 방식으로 본인의 블로그주소를 적어주세요.
CallBack란에는 http방식으로 이미지와 동일하게 http://tistory.com을 입력해 주시면 됩니다.
api를 등록한 뒤 상단 메뉴의 "앱 관리"로 이동한 뒤, 최근 생성한 api의 설정 버튼을 클릭해 주세요.
발급된 App ID(CLIENT_ID)와 Secret Key(CLIENT_SECRET)를 복사해 주세요.
ACCESS_TOKEN 발급
Acesstoken발급은 Tistory깃허브 페이지를 참고하였습니다.
https://www.tistory.com/oauth/authorize?
cliend_id=[App ID(CLIENT_ID)]
&redirect_url=http://tistory.com
&response_type=code
$state=123
티스토리 ACCESS_TOKEN을 얻기 위한 방법은 tistory깃허브 페이지에 자세히 나와있습니다.
먼저 위의 코드를 전체 복사하여 [] 안에 있는 App id를 변경한 뒤 대괄호는 제거해 주세요.
https://www.tistory.com/oauth/authorize?client_id=5c406c674e670fe2315b0b86534cac0c&redirect_uri=http://tistory.com&response_type=code&state=123
이제 url형태로 줄 바꿈을 제거한 뒤 웹페이지에 붙여 넣어주세요.
티스토리 api기능 사용을 위해 "허가하기"버튼을 클릭해 주세요.
이후에 티스토리 홈으로 리다이렉션이 완료되시면 인증 요청까지 완료되었습니다.
이때 티스토리 홈으로 이동된 뒤의 주소도 복사해 주세요
https://www.tistory.com/?code=Authentication code&state=1234
주소를 확인해 보면 Authentication code라고 표기해 둔 부분에 여러분들은 긴 문자열이 나와있을 텐데 code=부터 %state= 전까지 코드의 내용이 나오는데 이 부분에 해당하는 게 바로 Authentication code값입니다.
이제 해당 코드를 사용하여
https://www.tistory.com/oauth/access_token?
client_id=[App ID(CLIENT_ID)]
&client_secret=[Secret Key]
&redirect_uri=http://tistory.com
&code=[Authentication code]
&grant_type=authorization_code
위의 코드에서 아까 api를 생성한 뒤 복사해 둔 App id와 secret key와 방금 url로 확인한 Authentication code를 [] 안에 넣고 []는 제거해 주세요.
https://www.tistory.com/oauth/access_token?client_id=[App ID(CLIENT_ID)]&client_secret=[Secret Key]&redirect_uri=http://tistory.com&code=[Authentication code]&grant_type=authorization_code
아까처럼 마찬가지로 줄 바꿈을 제거하여 url링크로 만들어줍니다.
url을 웹페이지에 붙여 넣기 전에 F12 버튼을 클릭하여 개발자도구를 실행하여 Network탭으로 바꿔주세요.
Network가 안 보인다면 >> 버튼을 눌러서 선택가능합니다.
Network창이 활성화된 상태에서 url을 붙여 넣어주세요
웹페이지는 에러가 표기되지만 네트워크탭을 확인해 보면 access_token에서 Response탭을 확인해 주세요.
그러면 access_token=값이 출력되는데 해당하는 값을 복사해 주세요.
복사해 두었던 값들을 config.py파일에 붙여 넣어줍니다.
티스토리 블로그 AI 자동포스트
config.py 파이썬 파일 설정도 모두 마쳤고 이제 bot.py파일을 열어 파이썬코드를 사용할 차례입니다.
라이브러리 설치
해당 코드를 사용하기 위해서 필요한 라이브러리를 설치해야 합니다.
설치 방법은 주석으로 나와있으니 각 명령어를 터미널에 붙여 넣어 설치해 주시면 됩니다.
코드상에서 디테일한 설정이 가능하지만 블로그 글을 작성하기 위해 바꿔야 할 것은 별로 없습니다.
TOPIC 변수에 들어가는 문자열이 Notion ai를 통해서 작성되는 블로그 글의 주제를 나타냅니다. 어떤 내용으로 글을 작성할 건지 주제를 정하여 입력해 주세요.
블로그 게시물까지는 생성이 되는데 이미지 생성 부분에서 에러가 나서 확인해 보니 파이썬 환경변수의 문제 때문인지 이미지파일이 저장되는 /imgs 폴더를 절대경로로 지정해 주어 오류가 발생하지 않도록 하였습니다.
다른 설정은 건드릴필요 없으며 이제 파이썬 파일을 실행해 보도록 하겠습니다.
노션 ai를 통해 블로그 글쓰기 주제를 생성 후 주제에 맞는 이미지를 dell-e ai를 통해 생성해준다음 티스토리 api를 통해서 포스팅을 완료하였습니다.
AI를 통해 게시된 게시물
ai를 통해 생성한 이미지를 업로드해 주고 각 목차와 제목에 맞는 내용을 AI가 작성해 주었습니다.
게시물 내용도 부실하지 않고 꽤 괜찮았습니다.
티스토리 블로그 게시물 자동화 팁
특정 주제에 관한 키워드를 자동으로 생성할수 있게 TOPIC에 항목을 넣는데, 노션에서 ai를 통한 글쓰기를 할때 확인해보면 주제자체를 추천받을수도 있습니다. 실제 노션에서 ai를 통해 사용하는 값을 TOPIC에 넣어서 값을 전달하면 논문이나 신문의 기사 내용도 작성가능합니다.
한번의 과정을 통해 노션ai로 글을 쓴뒤에 "이어쓰기"로 내용을 설정하면 더 긴 글을 작성할 수도 있습니다.
단 너무 단시간에 많은 게시물을 올릴경우 저품질 위험이 있으니 일정시간을 정해두고 사용하시는게 바람직 합니다.
네이버 블로그 자동 포스트
국내에서 티스토리만큼 또 많이 사용하는 블로그 중 하나가 네이버 블로그인데 그럼 네이버 블로그에는 이 방법을 사용해서 자동으로 글 쓰는 방법이 있을까요??
네이버 블로그의 경우 API를 통해 글을 작성할 수 없습니다 네이버 블로그 API사용을 중단하였습니다.
기계적으로 유사한 내용의 글을 대량 발행하는 등 네이버 이용약관과 게시물 운영 정책을 위반하는 행위를 네이버 측에서 확인하였기에 중단한다고 밝혔습니다.