n8n 활용해서 나만의 로컬 RAG 모델 만들기 (부제 : 나만의 오픈북 챗봇)

소개

시도하고자 했던 것과 그 이유를 알려주세요.

  • n8n 을 활용해서 나만의 로컬 RAG 모델 만들기

  • 최신 법령 정보 (정부에서 공고한 법령, 변경된 고시 등) 의 경우 기존 모델들에게 반영이 안되는 경우가 많음

  • 웹에 그대로 업로드를 하기에는 보안에 신경쓰이는 개인정보들을 바탕으로 모델들과 대화하고 싶은 경우

어떤 도구를 사용했고, 어떻게 활용하셨나요?

  • n8n 을 로컬에 설치하고, 로컬에서 각 AI 모델들을 불러와서 RAG 모델을 구성

기계의 프로세스를 보여주는 흐름도

** n8n 로컬에 설치하기

https://herojoon-dev.tistory.com/248

*** docker 설치에서 좀 막힐 수 있지만, gpt 한테 물어보면 왠만한거는 해결해 주기는 합니다.

  • (1) 채팅 모드 와 (2) 파일 업로드 및 DB 구축 하는 두가지 큰 줄기로 구성

  • (1) 채팅 모드 - ai 에이전트에서 구글 제미니 모델 + 심플 메모리 결합 (채팅 히스토리 기록)

  • (2) 파일 업로드 및 DB 구축 - Supabase Vector 를 통해서 DB 가 저장되는 디스크를 만들고, 업로드한 파일을 openAI 모델로 임베팅해서 업로드된 파일을 AI 모델이 확인할 수 있도록 벡터화 하여 저장

*** Supabase Vector 설치 및 활용 방법

https://www.gpters.org/nocode/post/create-chatbot-n8n-create-efWD8L8dCetwryc

(1) 채팅 모드 설정

  • 챗트리거 → ai agent → chat model 은 구글 gemini 로 설정

  • 메모리 설정 → 채팅 히스토리를 참조해서 답변 할 수 있도록 설정

  • Answer questions 설정 (특정 키워드 나 주제에 대해서 DB 를 참조하도록 설정)

→ 저는 화장품 법령에 대해서 DB 를 참조하도록 설정하였습니다.

  • 챗 모드 활성화

한국어 텍스트가있는 검은 색 화면

→ 아직 db 학습이 안되 었다면 정확한 정보가 제공 불가

(2) DB 구축

  • on form submission 활용

→ 아래 처럼 파일 업로드 할 수 있는 창이 로컬에서 오픈 됩니다. (원하는 파일 선택하여 업로드)

  • 파일을 업로드하면 → supabase 에서 아래처럼 임베딩을 하여 AI 가 확인할 수 있는 DB 를 만들어 줍니다

컴퓨터 화면의 노래 목록

→ 이후에 화장품 법령과 관련된 것을 물어보면 DB 를 참조하여 답변하게 됩니다.

화면에 한국어 텍스트가있는 앱의 스크린 샷

결과와 배운 점

배운 점과 나만의 꿀팁을 알려주세요.

  • 모든 과정을 무료로 하기 위해서 임베딩 모델을 gemini 로 해보았으나, 계속 [] 만 출력해서 성능이 떨어지는 것을 발견 → open ai 모델로 변경하니 한번에 해결

과정 중에 어떤 시행착오를 겪었나요?

  • Supabase vector 설치하고 gemini 로 임베딩 하는 과정 중 계속 오류가 발생하여, supabase 설정 오류로 오인하여 계속 설정을 변경 해봄 → log 를 열어보니, gemini 가 db 를 제대로 쪼개지 못하고 [] (공백) 형태로만 전달하는 것을 발견 → open ai 모델로 변경하였 더니 바로 임베딩을 제대로 해줘서 해결

앞으로의 계획이 있다면 들려주세요.

  • 나만의 RAG 모델을 좀 더 고도화

  • GPT 나 Claude 에 연결해서 활용 (근데 이건 그냥 파일 업로드해서 물어보는게 더 편할 듯 하네요^^;)

7
5개의 답글

👉 이 게시글도 읽어보세요