회원가입

n8n을 활용한 LLM 자동화 봇 개발 가이드

Beany 2024-09-11

ChatGPT 요약

이 블로그에서는 n8n을 사용하여 LLM 자동화 봇을 개발하는 방법을 소개하고 있습니다. 글 작성이 완료되면 Webhook을 통해 n8n에 알리고 HTML 정보를 가져와 ChatGPT로 다듬어 Discord로 전송하는 과정을 안내하고 있습니다. n8n 설치 방법과 LLM 모델을 이용한 Discord로의 알림 설정 방법에 대한 내용을 상세히 다루고 있습니다. 이를 활용하여 자동화 Flow를 구축하는 방법을 설명하고 있습니다.

n8n을 활용한 LLM 자동화 봇 개발 가이드


저는 블로그에 글을 작성한 후, 해당 글을 검토해주는 자동화 봇을 만들려고 합니다.

제 글이 작성이 완료되면 Webhook을 통해 n8n에 알리고 작성한 블로그 글의 주소를 기반으로 HTML 정보를 가져온 후, 해당 정보를 ChatGPT 에게 제공하여 다듬어줍니다. 다듬어준 글을 Discord 방에 전송해서 글 작성을 도와주는 LLM 자동화 봇을 만드려고 합니다.

기본적으로 Webhook을 통해 데이터를 전달할 수 있지만, n8n을 좀 더 활용하기 위해 블로그 글을 HTTP 통신으로 직접 읽는 번거로운 작업을 추가했습니다.

 

n8n 가이드


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에 접속합니다.

접속을 하면 아래와 같은 아이디 설정하는 부분이 나옵니다.

http://localhost:5678/setup

 

짠~! 이제 로컬 설정이 완료되었습니다!

 

이걸 이용해서 자동화 Flow 를 해보려고 합니다.

 

 

블로그 글 작성 완료 시, 개선점 LLM 이용하여 Discord로 알리기


저는 자동화 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 를 이용해서 직접 웹훅을 호출합니다.

 

완성~!~!

0 0
블로그 일기
제 블로그의 고도화 과정을 설명합니다. 이는 코드 리팩토링과 추가된 기능들에 대해 기록하기 위한 게시판입니다. 어떤 기능이 추가되었는지, 무엇이 개선되었는지 등 고도화되는 과정을 자세히 다룰 예정입니다.
Yesterday: 456
Today: 100