플레이스순위를 알고싶을 땐, n8n의 ai agent 챗봇을 만들어보자

소개

여러가지 자동화도구에서 n8n의 ai agent노드를 사용해보았습니다.

보통 노드는 하나의 기능을 하는 데, 이메일을 가져온다거나, 구글시트에 행을 추가한다거나 하죠.

n8n에서 가장 돋보이는 기능을 하는 ai agent노드는 메가노드라고 할 정도로 여러가지 기능이 탑재되어 있습니다. 특히 LLM에 검색(retrieve), 메모리(memory), 도구(tool) 를 하나의 노드에 장착할 수 있습니다.
이번 사례에서는 ai agent노드에서 특히, 도구호출하는 방법을 알아보겠습니다.

진행 방법

일단, 간단한 워크플로우를 보시죠.

한국 웹 사이트의 스크린 샷

이 사진에 모든 내용이 담겨있어요.
간단한 챗봇을 구현한 건데, 백엔드로 ai agent가 돌아가는 모습니다.

저는 LLM은 gemini모델을 사용하고, 도구를 2가지로 세팅했어요. 하나는 url을 주면 그 내용을 스크랩하는 것이고, 또 하나는 네이버플레이스순위를 체크해주는 것이죠. 2개 모두 제가 서버를 만들어서 동작하는 것입니다.
간단한 서버를 만들어서 ai agent가 호출하고 그 결과를 바탕으로 대화를 생성해주면 좋겠다는 생각에서 사례를 시작하게 되었습니다.

tool을 만듭니다. 둘다 서버호출을 할 거라서 HTTP Request Tool을 선택합니다.

Python3 Python3 Python3 Python3 Python3

일반적인 HTTP Request 처럼 세팅합니다. curl을 적용해서 가져온다거나, 직접 입력해서.
tool을 호출할 때 가장 중요한 게 있어요. tool은 누가 호출할까요? 바로 LLM이 호출하게 되는 데요. 그 판단을 하기위해서 tool이 뭘 하는 지를 자세하게 써줘야해요. Description부분에. 왜냐하면, 이내용을 보고 LLM이 그 tool을 호출하기 때문이죠. 그 과정은 이렇습니다.

채팅에 url이 올라오고 그 내용을 알려달라고 하면?
LLM이 어? url의 내용을 알려달라고? 그럼 scrapper도구를 호출해서 내용을 받아와야겠다?

라고 한다는 거죠. (제미나이야? 내 말이 맞지?)

다음은 채팅결과입니다.

url의 내용을 문의할 때,

플레이스순위를 알려달라고 할 때,

채팅 url입니다. 언제 닫을 지 모르겠지만, 한번 테스트해봐주세요.
플레이스순위를 체크할 때는 네이버플레이스 업체주소와 검색키워드를 채팅창에 입력하시고 대화를 진행하시면 됩니다. https://n8n.automationpro.online/webhook/c90a9846-b9ab-41a9-8a4a-ceca5b7aa718/chat

결과와 배운 점

ai agent를 많이 해본 건 아니지만, 원하는 도구를 세팅하고 그걸 호출한다는 것은 참 매력적인 것 같아요.
마치 점점 더 자연어를 잘 알아듣는 똑똑한 친구가 태어났어요.

도움 받은 글 (옵션)

15기문과생도 n8n

15기 n8n에이전트

https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/

https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/tools-agent/

4
5개의 답글

👉 이 게시글도 읽어보세요