n8n 으로 만든 RAG 챗봇을 claude 를 이용해 웹 프로그램으로 코딩해 보기

소개

n8n 으로 RAG 챗봇을 만들었는데 n8n 을 사용할 수 없게 되는 상황에서 생각을 전환했더니...

진행 방법

n8n 으로 구현하여서 상황별로 사용할 수 있도록 RAG 챗봇을 만들었습니다.

그런데 회사에서 n8n 을 사용할 수 없다고 하네요. 다른 방안을 찾아야 하는 순간 Claude 로 코딩을 해보면 어떨까 라는 생각을 하게 되었습니다.

이왕 만든거 활용해 보자라고 생각해서 n8n 워크플로우를 복사해서 Claude 가 이해하고 프로그래밍이 가능한지 확인

아래는 n8n 으로 만든 챗봇이야. 그런데 n8n 을 사용할 수 없게 되었어. 그래서 이것을 다른 프로그램으로 만들고 싶어. 어떤 것으로 만들면 좋을까? ---

Claude 답변



n8n으로 만든 챗봇을 다른 프로그램으로 대체하고 싶으신 상황이군요. 제공해주신 코드를 분석해보니 이 챗봇은 다음과 같은 기능을 가지고 있습니다:

  1. OpenAI 모델(gpt-4o-mini)을 사용한 AI 에이전트

  2. Supabase 벡터 스토어를 활용한 RAG(Retrieval Augmented Generation) 시스템

  3. PDF 문서 처리 및 임베딩 기능

  4. 웹훅을 통한 채팅 트리거

이를 대체할 수 있는 몇 가지 좋은 옵션을 알려드리겠습니다:

1. LangChain + 플라스크/FastAPI

장점:

  • n8n 워크플로우와 유사한 구성요소들을 직접 코드로 구현 가능

  • LangChain 프레임워크는 RAG, 벡터 스토어 연동, 문서 처리 등 필요한 기능을 모두 지원

  • 완전한 커스터마이징 가능

python

# 기본 구조 예시 (FastAPI 사용)
from fastapi import FastAPI
from langchain.chat_models import ChatOpenAI
from langchain.memory import ConversationBufferWindowMemory
from langchain.vectorstores import SupabaseVectorStore
from langchain.embeddings.openai import OpenAIEmbeddings
# 나머지 필요한 임포트...

app = FastAPI()

@app.post("/chat")
async def chat(message: str):
    # 챗봇 로직 구현
    # ...

2. Flowise

장점:

  • n8n과 유사한 노드 기반 시각적 인터페이스

  • LangChain 기반으로 동작하며 OpenAI, Supabase 등 지원

  • 설치 및 사용이 비교적 간단

3. Langflow

장점:

  • n8n과 유사한 플로우 기반 UI

  • LangChain 컴포넌트들을 시각적으로 연결 가능

  • OpenAI, 벡터 스토어 등 필요한 기능 지원

4. Streamlit + LangChain

장점:

  • 빠른 프로토타이핑과 배포

  • 사용자 인터페이스 구축이 매우 간단

  • LangChain과 통합하여 RAG 시스템 구축 가능

python

# 기본 구조 예시
import streamlit as st
from langchain.chat_models import ChatOpenAI
# 나머지 필요한 임포트...

st.title("RAG 챗봇")

user_input = st.text_input("질문을 입력하세요")
if user_input:
    # 챗봇 로직 구현
    # ...

5. Chainlit

장점:

  • LangChain과 직접 통합된 UI 프레임워크

  • 채팅 인터페이스 특화

  • 파일 업로드와 같은 필요한 기능 내장

추천 옵션

현재 구현에 가장 가까운 대체 솔루션은 Flowise 또는 Langflow입니다. 이들은 n8n과 유사한 시각적 인터페이스를 제공하면서도 LangChain 기반으로 OpenAI와 Supabase 연동이 가능합니다.

보다 커스터마이징이 필요하다면 FastAPI + LangChain 조합을 추천드립니다. 이는 완전한 제어가 가능하지만 직접 코딩이 필요합니다.

간단히 시작하고 싶다면 Streamlit + LangChain이 가장 빠른 솔루션이 될 수 있습니다.

어떤 방향으로 진행하고 싶으신지 알려주시면 더 상세한 안내를 드릴 수 있습니다.


현재 환경에 실행할 수 있는 LangChaing 으로 만들기 위해 환경 확인하고 만들어 줄 것을 요청

중요한점 : Claude Desktop App 을 사용중이고 File System 에 대한 MCP 설정인 상태그러면 네가 프로그램을 만들어줘. 프로그램은 chatbot 폴더를 만들어서 생성해줘.

만들어 준 프로그램으로 실행하는 과정에서 몇 번의 오류 발생하였으나 에러 메시지를 보여 주고 수정할 것을 요청함.

Sypabase 를 사용하는데 계속 문제가 발생하니 자기 마음대로 Chorma 벡터 데이터베이스로 전환이제 Supabase 관련 문제를 해결하기 위해 다양한 전략을 시도해 보았지만, 계속 호환성 문제가 발생하고 있습니다. 이런 경우에는 Supabase 대신 로컬 벡터 스토어를 사용하여 개발을 계속하는 것이 좋을 수 있습니다.

로컬 Chroma 벡터 데이터베이스를 사용하도록 코드를 수정하겠습니다:

마침내 문제 없이 동작하는 RAG Chat Bot 프로그램 개발 완료

결과와 배운 점

n8n 으로 설계를 하고 이를 바탕으로 프로그래밍을 할 수 있었다라는 점이 흥미로운 경험이었습니다.

그리고 Claude 를 통한 프로그램 개발을 하면서 Vibe Coding 에 대하여 체험할 수 있었네요.
그냥 생각이 나면 무조건 실행해 보는게 배울게 많은 것 같습니다.

도움 받은 글 (옵션)

챗봇 만들기 : https://www.youtube.com/watch?v=Fk5pQ0fQkJ0&t=457s

3
4개의 답글

👉 이 게시글도 읽어보세요