저는 블로그에 글을 작성한 후, 해당 글을 검토해주는 자동화 봇을 만들려고 합니다.
제 글이 작성이 완료되면 Webhook을 통해 n8n에 알리고 작성한 블로그 글의 주소를 기반으로 HTML 정보를 가져온 후, 해당 정보를 ChatGPT 에게 제공하여 다듬어줍니다. 다듬어준 글을 Discord 방에 전송해서 글 작성을 도와주는 LLM 자동화 봇을 만드려고 합니다.
기본적으로 Webhook을 통해 데이터를 전달할 수 있지만, n8n을 좀 더 활용하기 위해 블로그 글을 HTTP 통신으로 직접 읽는 번거로운 작업을 추가했습니다.
n8n을 다운로드하기 위한 사이트는 다음 링크에서 확인할 수 있습니다.
https://github.com/n8n-io/self-hosted-ai-starter-kit
n8n 설치를 위해 준비해야 할 도구는 다음과 같습니다.
[ 필요한 도구 ]
본 글에서는 Windows 환경에서의 설치 과정을 안내합니다.
https://github.com/n8n-io/self-hosted-ai-starter-kit?tab=readme-ov-file#for-everyone-else 에 있는 내용 기반으로 다운로드를 받았습니다.
git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit
docker compose --profile cpu up
(docker compose --profile cpu up 이 과정에서 소요되는 시간은 약 10분 정도입니다.)
완료되면 아래와 같이 'success' 메시지가 출력됩니다.
ollama-pull-llama 과정이 시간이 오래 걸리므로 잠시 휴식을 취하셔도 좋습니다.
그러고 n8n 쪽 PORT 를 보면 5678 로 설정되어있습니다. 이 포트 주소를 통해 localhost에 접속합니다.
접속을 하면 아래와 같은 아이디 설정하는 부분이 나옵니다.
짠~! 이제 로컬 설정이 완료되었습니다!
이걸 이용해서 자동화 Flow 를 해보려고 합니다.
저는 자동화 Flow 를 제가 작성한 글을 이용해서 더 개선할 수 있는 부분있으면 개선해서 Discord 에 내용을 첨언해주는 것을 이용하려고 합니다.
우선 이를 개선하기 위해 OpenAI API LLM 모델을 사용할 것입니다.
옆에 있는 + 를 눌러서 Data transformation 를 클릭합니다.
우선 테스트를 위해 일반 텍스트를 가져옵니다. Code 를 클릭합니다.
테스트를 위해서 "TEST TEST" 값을 넣을 것입니다.
위에 Test step 을 누르면 옆에 잘 나오는 것이 보일 것입니다.
자 이제 연결해 줍시다.
이번에는 이 내용을 기반으로 AI에게 작성 품질을 검토하도록 하는 기능을 추가할 것입니다.
+ 를 누르고 Advanced AI 를 클릭합니다.
Basic LLM Chain 을 클릭합니다.
아래와 같은 형식으로 내용을 정리해서 알려줍니다.
설정을 완료하면 이제 Model 을 넣어줘야합니다.
저는 OpenAI 로 이용할 예정이니 OpenAI Chat Model 로 정의합니다.
API Key 설정이랑 같이 합니다.
https://platform.openai.com/settings/profile?tab=api-keys 여기 들어가면 설정할 수 있습니다.
이제 Discord와 연결하기 위해 Discord 노드를 검색합니다.
Send a message 로 정리된 내용을 보내도록 합시다.
아래와 같이 처리했습니다.
결과가 잘 나옵니다~!
일단 기본 구조를 작성했습니다. 이제 진짜로 블로그를 작성하면 이걸 호출해서 블로그 내용 기반으로 내용을 전달하도록 해봅시다.
이제 Webhook 이라는 것을 만듭니다.
웹훅 요청을 해서, board_name 과 board_id 를 받아서 특정 게시글을 지정할 것입니다.
이거를 이용합니다~!
그러면 이제 이렇게 WorkFlow 가 정의 됩니다.
이제 블로그로 글을 쓰면 제 IP 를 이용해서 직접 웹훅을 호출합니다.
완성~!~!