Data Source 노드

Data Source 노드는 외부 데이터를 가져오는 역할을 합니다. API 호출, 데이터베이스 조회, 파일 읽기 등을 수행할 수 있습니다.


📋 Data Source 노드 목록

노드 설명 사용 예시
VectorDB AI 참조 문서 조회 RAG, 문서 검색
Http 요청 REST API 호출 날씨, 뉴스, 외부 데이터

VectorDB

AI가 참조할 데이터를 추가해주세요

✨ 주요 기능

  • ✅ 문서를 업로드하고 벡터 DB에 저장
  • ✅ 질문과 관련된 문서 자동 검색
  • 프롬프트 자동 완성 (RAG 구현 최적화)

🔧 설정 방법

설정 항목 설명 예시
files 참조할 문서 파일 목록 PDF, TXT, MD 등

📋 지원 파일 형식

  • ✅ PDF
  • ✅ TXT
  • ✅ Markdown (.md)

🎯 사용 방법

  1. 문서 업로드

    • VectorDB 노드 클릭
    • "파일 추가" 버튼
    • 문서 업로드 (최대 10MB)
  2. 자동 벡터화

    • 업로드된 문서가 자동으로 벡터화됨
    • 의미 기반 검색 가능
  3. 검색 및 프롬프트 생성

    • 이전 노드의 입력(질문)을 바탕으로 관련 문서를 검색합니다.
    • 중요: 검색된 문서 내용과 사용자의 질문을 결합하여 완성된 프롬프트 텍스트를 생성합니다.

📝 결과 데이터 구조

이 노드는 단순한 문서 내용만 반환하는 것이 아니라, LLM에게 바로 보낼 수 있는 프롬프트 형식의 텍스트를 반환합니다 ({{result}}).

구성 요소:

  1. 검색된 관련 문서 조각들 ([context])
  2. 사용자 질문 ([질의])

예시 ({{result}} 값):

[context]: 
유사도: 0.8123
(참조 문서 내용 1...)
==========
유사도: 0.7654
(참조 문서 내용 2...)

---

[질의]: 사용자가 입력한 질문

💡 사용 예시

문서 기반 Q&A 챗봇

[텍스트 입력] → [VectorDB] → [ChatGPT] → [챗봇 응답]
  1. 사용자 질문 입력
  2. VectorDB가 관련 문서 찾아서 프롬프트 구성
  3. ChatGPT는 별도 프롬프트 작성 없이 ``만 입력받아 답변 생성

ChatGPT 설정 예시:

prompt: {{result}}
(system prompt에는 역할만 지정하면 됩니다)

Http 요청

JSON Body를 포함한 HTTP 요청을 보냅니다

✨ 주요 기능

  • ✅ REST API 호출
  • ✅ GET, POST, PUT, DELETE 지원
  • ✅ 커스텀 헤더 설정
  • ✅ JSON Body 전송

🔧 필수 설정

설정 항목 설명 예시
url* 요청할 API 주소 https://api.example.com/data
method* HTTP 메소드 GET, POST, PUT, DELETE
headers* HTTP 헤더 {'Content-Type': 'application/json'}
body* 요청 Body (JSON) {{result}}

📡 GET 요청 예시

날씨 API 호출

URL: https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY
Method: GET
Headers: {'Content-Type': 'application/json'}
Body: (비워두기)

📡 POST 요청 예시

외부 AI API 호출

URL: https://api.example.com/generate
Method: POST
Headers: {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer YOUR_TOKEN'
}
Body: {
  "prompt": "{{result}}",
  "max_tokens": 100
}

📝 결과 데이터

다음 노드에서 {{result}}로 API 응답에 접근 가능

예시: {{result}} → API 응답 텍스트 (JSON String 등)

💡 사용 예시 1: 날씨 기반 추천

[클릭] → [Http 요청] → [ChatGPT] → [Telegram]
  1. Http 요청으로 날씨 API 호출
  2. ChatGPT가 날씨 기반 옷차림 추천
  3. Telegram으로 전송

💡 사용 예시 2: 뉴스 요약

[클릭] → [Http 요청] → [ChatGPT] → [Slack]
  1. 뉴스 API에서 최신 뉴스 가져오기
  2. ChatGPT가 3줄 요약
  3. Slack으로 전송

🎯 실전 팁

API 키 보안 관리

  • ❌ URL에 직접 노출: ?api_key=123456
  • ✅ 헤더로 전송: {'Authorization': 'Bearer 123456'}

동적 URL 생성

https://api.example.com/user/{{result}}

🆚 VectorDB vs Http 요청

항목 VectorDB Http 요청
용도 문서 검색 (RAG) API 호출
데이터 내부 문서 외부 API
결과물 완성된 프롬프트 API 응답 원본
사용 예시 Q&A, 매뉴얼 검색 날씨, 뉴스, 연동

🔗 다른 노드와 연결하기

VectorDB + AI Generation

[질문] → [VectorDB] → [ChatGPT] → [응답]

VectorDB가 이미 프롬프트를 만들어주므로, AI 노드에서는 {{result}}를 그대로 사용하면 됩니다.

Http 요청 + AI Generation

[시작] → [Http 요청] → [Claude] → [Slack]

API에서 받은 데이터를 AI가 분석합니다.


🎯 다음 단계


❓ 자주 묻는 질문

Q: VectorDB에 몇 개의 파일을 업로드할 수 있나요? A: 현재는 파일당 10MB, 총 100MB까지 업로드 가능합니다.

Q: Http 요청이 타임아웃되면 어떻게 되나요? A: 30초 후 자동으로 실패 처리되며, 워크플로우가 중단됩니다.

results matching ""

    No results matching ""