콘텐츠로 이동

Langflow - 비주얼 AI 에이전트 및 RAG 빌더 치트시트

Langflow - 비주얼 AI 에이전트 및 RAG 빌더 치트시트

Langflow는 LLM 애플리케이션을 위한 오픈 소스 Python 기반 비주얼 빌더입니다. 캔버스에 컴포넌트를 드래그하여 배선하고, 라이브 플레이그라운드에서 테스트한 후, 모든 흐름을 API 또는 MCP 끝점으로 노출합니다. 모델에 구애받지 않으며(OpenAI, Anthropic, Ollama를 통한 로컬 모델 등) LangChain 생태계를 기반으로 합니다.

설치

방법명령어
uv (권장)uv pip install langflow
pippip install langflow
설치 후 실행langflow run (또는 python -m langflow run)
uvx (설치 없음)uvx langflow run
Dockerdocker run -it --rm -p 7860:7860 langflowai/langflow:latest
데스크톱 앱공식 사이트에서 다운로드 (macOS/Windows)

Python 3.10–3.13 필요. langflow runhttp://localhost:7860을 엽니다.

서버 실행

명령어설명
langflow run127.0.0.1:7860에서 UI + API 시작
langflow run --host 0.0.0.0 --port 7860모든 인터페이스에 바인드 / 사용자 정의 포트
langflow run --env-file .env파일에서 환경 변수 로드
langflow run --dev개발자/핫 리로드 모드
langflow --help전체 CLI 참조
langflow api-key프로그래밍 방식 액세스용 API 키 생성
langflow migration데이터베이스 마이그레이션 실행

핵심 개념

용어의미
Flow연결된 컴포넌트 그래프 = 하나의 앱/파이프라인
Component노드 (모델, 프롬프트, 리트리버, 도구, 에이전트, I/O)
Port / Edge컴포넌트 간 타입 지정 입력/출력 연결
Playground내장 채팅/실행 패널로 흐름 인터랙티브 테스트
Project여러 흐름을 그룹화하는 작업 공간
Global Variables흐름 간 재사용 가능한 저장된 비밀 (API 키)

구성 요소

카테고리예시
입력/출력Chat Input, Chat Output, Text Input
모델OpenAI, Anthropic, Google, Ollama, Groq, HuggingFace
프롬프트Prompt template, system message
데이터 / RAGFile loader, URL, Split Text, Vector Store (Chroma, Qdrant, Astra, pgvector), Embeddings
에이전트도구 호출이 있는 에이전트 컴포넌트
도구Web search, Python REPL, API request, MCP tools
논리Conditional router, loop, pass-through

일반적인 RAG 흐름

File / URL  →  Split Text  →  Embeddings  →  Vector Store (ingest)
Chat Input  →  Vector Store (search)  →  Prompt  →  Model  →  Chat Output

캔버스에 구축하고, Playground를 열고, 질문을 하면 Langflow가 엔드 투 엔드로 그래프를 실행합니다.

코드에서 흐름 사용

모든 흐름에는 자동 생성 API가 있습니다. UI에서 API(또는 Share → API access)를 클릭하여 스니펫을 복사합니다:

import requests

url = "http://localhost:7860/api/v1/run/<FLOW_ID>"
payload = {"input_value": "What is in my docs?", "output_type": "chat", "input_type": "chat"}
headers = {"x-api-key": "<YOUR_API_KEY>", "Content-Type": "application/json"}

resp = requests.post(url, json=payload, headers=headers)
print(resp.json())
# curl과 동일한 호출
curl -X POST "http://localhost:7860/api/v1/run/<FLOW_ID>" \
  -H "x-api-key: <YOUR_API_KEY>" -H "Content-Type: application/json" \
  -d '{"input_value":"hello","output_type":"chat","input_type":"chat"}'

MCP 통합

기능방법
흐름을 MCP 도구로 노출각 프로젝트는 MCP 서버를 제공하고, MCP 클라이언트(Claude Desktop, Cursor)를 가리킵니다
외부 MCP 도구 소비MCP Tools 컴포넌트를 추가하고 서버 URL/명령을 연결합니다

환경 및 설정

변수용도
LANGFLOW_HOST / LANGFLOW_PORT바인드 주소 및 포트
LANGFLOW_DATABASE_URL기본 SQLite 대신 Postgres 사용
LANGFLOW_AUTO_LOGIN=false로그인 필요 (다중 사용자)
LANGFLOW_SUPERUSER / LANGFLOW_SUPERUSER_PASSWORD시드 관리자 계정
LANGFLOW_SECRET_KEY저장된 자격 증명 암호화 키
OPENAI_API_KEY, ANTHROPIC_API_KEY, …공급자 키 (또는 Global Variables로 설정)

가져오기 / 내보내기

작업방법
흐름 내보내기Flow 메뉴 → Export.json
흐름 가져오기New → Import .json
버전 제어내보낸 흐름 JSON을 repo에 커밋

일반적인 워크플로우

# Postgres + 인증을 사용하여 팀을 위해 시작
LANGFLOW_DATABASE_URL=postgresql://user:pass@db:5432/langflow \
LANGFLOW_AUTO_LOGIN=false \
langflow run --host 0.0.0.0 --port 7860

# 임시 로컬 시험, 설치 없음
uvx langflow run

Langflow vs Dify vs n8n

측면LangflowDifyn8n
포커스LangChain 스타일 흐름 및 에이전트LLMOps 앱 플랫폼 (RAG, 프롬프트)일반 자동화 + AI 노드
스타일비주얼 캔버스앱 + 워크플로우 스튜디오워크플로우 자동화
끝점API + MCPAPI + 채팅 앱웹훅/자동화
최적 용도에이전트/RAG 그래프 프로토타이핑LLM 앱 배송, 운영500+ 서비스 간 접착제

자료