파이썬에서 모든 구성 요소를 직접 연결하지 않고 LLM 앱 또는 AI 에이전트를 구축하고 싶다면 Flowise는 시각적 캔버스를 제공합니다. Flowise는 노드를 드래그하고 연결하여 작동하는 AI 워크플로우를 API 엔드포인트와 함께 얻을 수 있는 오픈소스 로우코드 도구입니다. 이 가이드에서는 Flowise가 무엇인지, chatflow와 agentflow가 어떻게 다른지, Flowise를 배포하는 방법, 그리고 예측 엔드포인트와 Flow가 호출하는 API를 테스트하는 방법을 설명합니다. LangGraph에 대한 저희 설명을 읽어보셨다면, Flowise는 스펙트럼의 반대편에 있습니다. 코드 우선 방식 대신 시각 우선 방식입니다. 소스 코드는 GitHub의 프로젝트 README에서 확인할 수 있습니다.
Flowise란 무엇인가
Flowise는 AI 에이전트 및 LLM 워크플로우 구축을 위한 오픈소스 생성형 AI 개발 플랫폼입니다. Apache 2.0 라이선스 하에 출시되었으므로 로컬에서 실행하거나, 자체 호스팅하거나, 포크할 수 있습니다.

핵심 아이디어는 노드 기반 캔버스입니다. 각 노드는 채팅 모델, 벡터 저장소, 문서 로더, 메모리 모듈, 검색기, 도구와 같은 빌딩 블록입니다. 이들을 캔버스에 드래그하고 서로 연결하면, 연결이 데이터 흐름 방식을 정의합니다. Flow가 완성되면 Flowise는 이를 모든 앱에서 호출할 수 있는 REST API로 노출합니다.
내부적으로 Flowise는 LangChain 및 LlamaIndex와 같은 프레임워크의 구성 요소를 연결합니다. 따라서 이 중 하나라도 사용해 본 적이 있다면 체인, 에이전트, 벡터 저장소, 쿼리 엔진과 같은 추상화가 익숙하게 느껴질 것입니다. 차이점은 클래스를 가져오고 생성자를 호출하는 대신 클릭하고 연결하여 조립한다는 것입니다. 이것이 Flowise가 추구하는 방식입니다. 일부 세밀한 제어는 포기하지만 속도와 팀 전체가 이해할 수 있는 공유 시각적 모델을 얻을 수 있습니다.
Chatflow, Agentflow 및 Assistant
Flowise는 세 가지 빌더 유형을 제공하며, 올바른 유형을 선택하는 것이 중요합니다.
| 빌더 유형 | 최적 사용처 | 범위 |
|---|---|---|
| 어시스턴트 | 초보자; 지시를 따르고 도구를 사용하며 업로드된 파일에 대해 RAG를 수행하는 채팅 어시스턴트 | 가장 좁고, 가장 가이드가 잘 된 |
| 챗플로우 | 단일 에이전트 시스템, 챗봇, 간단한 LLM 플로우; 그래프 RAG 및 재순위자 지원 | 단일 에이전트 |
| 에이전트플로우 | 분기, 루핑 및 라우팅을 통한 다중 에이전트 시스템 및 복잡한 오케스트레이션 | 가장 광범위함; 챗플로우 및 어시스턴트의 상위 개념 |
챗플로우(chatflow)는 Flowise의 고전적인 Flow입니다. 질문을 받고, 컨텍스트를 검색하고, 모델을 호출하고, 답변을 반환하는 하나의 논리적 파이프라인을 구축합니다. 단일 에이전트 챗봇 및 RAG를 잘 처리합니다.
에이전트플로우(agentflow)는 더 큰 캔버스입니다. Flowise는 이를 챗플로우 및 어시스턴트의 상위 개념으로 봅니다. 여기서는 다중 에이전트 시스템을 구축하고, 분기 간 라우팅을 하며, 루프를 만들고, 더 복잡한 워크플로우 오케스트레이션을 실행합니다. 여러 에이전트가 서로 작업을 전달하는 디자인이라면 에이전트플로우가 원하는 레이어입니다.
어시스턴트(assistant)는 가장 가이드가 잘 된 옵션입니다. 지시를 주고, 도구를 연결하고, 검색할 파일을 지정합니다. 그래프 구조에 대해 생각할 필요 없이 유용한 것을 가장 빠르게 얻을 수 있는 방법입니다.
캔버스에서 Flow가 어떻게 구성되는가
Flowise에서 빌드하는 과정은 다음과 같습니다. 챗플로우를 시작한 다음 왼쪽 패널에서 노드를 추가합니다.
- 채팅 모델 노드를 드롭하고 공급자(OpenAI, Anthropic, 로컬 모델 등)를 선택합니다.
- 검색이 필요한 경우 문서 로더와 벡터 저장소를 추가합니다.
- Flow가 대화를 기억하도록 메모리 노드를 추가합니다.
- 컨텍스트가 모델로 흐르도록 출력을 입력에 연결합니다.
- 저장한 다음 채팅 패널을 열어 실시간으로 테스트합니다.
시각적 편집기는 표현식, 사용자 지정 코드 노드, 분기, 루핑 및 라우팅 로직을 지원합니다. 따라서 제한되지 않습니다. 특정 경우에 노드가 없는 경우 작은 사용자 지정 함수 노드를 작성하고 나머지는 시각적으로 유지할 수 있습니다.
Flowise 배포 및 REST 예측 엔드포인트
Flowise는 기본적으로 포트 3000에서 Node 앱으로 실행됩니다. 가장 빠른 시작 방법은 npm입니다.
npm install -g flowise
npx flowise start
# open http://localhost:3000
반복 가능한 배포를 위해 Docker를 사용하십시오.
docker run -d --name flowise -p 3000:3000 flowiseai/flowise
Flowise는 자체 호스팅 및 에어갭 배포도 지원하며, 이는 데이터가 네트워크를 벗어날 수 없는 경우에 중요합니다.
Flow가 저장되면 Flowise는 이를 REST API로 변환합니다. 공식 예측 문서에는 전체 요청 형식이 설명되어 있습니다. 모든 챗플로우 및 에이전트플로우는 자체 예측 엔드포인트를 가집니다.
POST /api/v1/prediction/{id}
{id}는 Flow의 ID입니다. 최소한 question 필드가 포함된 JSON 본문을 보내면 Flow의 응답을 받습니다. 최소 호출은 다음과 같습니다.
curl -X POST http://localhost:3000/api/v1/prediction/<flow-id> \
-H "Content-Type: application/json" \
-d '{"question": "What are your store hours?"}'
요청 본문은 질문 외에도 더 많은 것을 지원합니다. 토큰을 스트리밍하기 위해 streaming을 전달하고, 요청별로 Flow 설정을 변경하기 위해 overrideConfig를 전달하고, 이전 대화를 시드하기 위해 history를 전달하고, 이미지 또는 오디오를 위해 uploads를 전달할 수 있습니다. 스트리밍이 켜져 있으면 Flowise는 start, token, metadata와 같은 이벤트를 내보낸 다음 최종 end 이벤트를 내보냅니다. Flowise는 또한 이 엔드포인트를 래핑하는 공식 Python 및 TypeScript SDK를 제공합니다.
이 단일 엔드포인트는 Flowise와 나머지 스택 간의 계약입니다. 프론트엔드, 백엔드, 다른 서비스 모두 이 엔드포인트를 통해 Flow와 통신합니다. 이것이 바로 신중하게 테스트할 가치가 있는 이유입니다.
로우코드가 적합할 때와 코드 우선 방식이 유리할 때
Flowise는 속도, 공유 시각적 모델, 빠른 반복을 원할 때 적합합니다. 프로토타입, 내부 챗봇, 문서 세트에 대한 RAG 어시스턴트, 데모 등이 모두 빠르게 구현됩니다. 팀의 비엔지니어들도 캔버스를 읽고 에이전트가 무엇을 하는지 이해할 수 있는데, 이는 파이썬 파일로는 이해하기 어렵습니다.
엄격한 제어가 필요할 때 코드 우선 프레임워크가 유리합니다. Git에서 전체 차등으로 에이전트 로직을 버전 관리하거나, 각 단계에 대한 밀도 높은 단위 테스트를 작성하거나, 특이한 상태 머신을 구축하는 경우 LangGraph 또는 Google Agent Development Kit와 같은 라이브러리가 더 많은 여유를 제공합니다. 에이전트가 사용자 지정 도구 호출에 의존하는 경우 OpenAI Agents SDK에도 동일하게 적용됩니다. 많은 팀이 두 가지를 모두 사용합니다. Flowise에서 프로토타입을 만든 다음 요구 사항이 안정되면 검증된 설계를 코드로 포팅합니다.
솔직히 말해서 이것은 이분법적인 문제가 아닙니다. Flowise는 API, CLI 및 SDK 액세스, 그리고 트레이싱, 평가, Human-in-the-loop 기능을 갖추고 있어 장난감보다 훨씬 더 확장될 수 있습니다. 그러나 로직이 실제 소프트웨어와 더 많이 닮을수록 코드 우선 스택이 더 많은 이점을 제공합니다.
예측 엔드포인트 및 Flow가 호출하는 API 테스트
Flowise로 구축된 에이전트는 그 뒤에 있는 API만큼만 신뢰할 수 있습니다. Flow는 LLM API를 호출하며, 일반적으로 외부 도구 또는 REST API도 호출합니다. 이러한 부분은 프로덕션에서 실패할 수 있으며, Apidog에서 정확히 테스트할 수 있습니다.
예측 엔드포인트 자체부터 시작하십시오. POST /api/v1/prediction/{id}를 다른 REST 엔드포인트와 동일하게 취급하십시오. Apidog에서 URL을 설정하고, question 페이로드를 보내고, 응답 형태와 주요 필드를 확인하는 API 어설션을 작성하십시오. 이를 자동화된 테스트로 실행하여 계약을 위반하는 Flow 변경이 앱에서 문제를 일으키기 전에 감지될 수 있도록 하십시오.
다음으로 Flow가 의존하는 기본 API를 테스트하십시오. LLM 공급자 및 모든 도구 엔드포인트를 직접 호출할 수 있습니다. 토큰을 소모하거나 속도 제한에 걸리지 않고 LLM에 대해 개발하고 싶다면, 미리 준비된 실제와 같은 응답을 반환하는 모의 API에 Flow를 연결하십시오. 동일한 방법이 불안정한 타사 도구 API에도 적용됩니다. 이를 모의하고, Flow가 형태를 처리하는지 확인하며, 테스트 스위트를 결정론적으로 유지하십시오. 자세한 내용은 AI 에이전트 테스트 하네스 가이드에 나와 있습니다.
Apidog는 지루하지만 중요한 부분도 처리합니다. 환경별로 공급자 키를 저장하므로 개발 Flow는 테스트 키를 사용하고 프로덕션은 코드 변경 없이 실제 키를 사용합니다. Apidog를 다운로드하여 설정하는 데 몇 분밖에 걸리지 않습니다.
자주 묻는 질문
Flowise는 무료이며 오픈소스인가요?
네. Flowise는 Apache 2.0 라이선스 하에 오픈소스이며, npm 또는 Docker로 자체 호스팅하여 무료로 실행할 수 있습니다. 인프라 관리를 원치 않는 경우 호스팅된 클라우드 옵션도 있습니다. 비공개 또는 에어갭 설정의 경우, 자체 호스팅 방식을 통해 모든 것을 네트워크 내부에 유지할 수 있습니다.
Flowise는 LangChain을 사용하나요?
Flowise는 LangChain과 LlamaIndex의 구성 요소를 모두 연결합니다. 캔버스에 있는 노드들은 해당 프레임워크의 친숙한 개념들(체인, 에이전트, 벡터 저장소, 검색기, 쿼리 엔진)에 매핑됩니다. 직접 접착 코드를 작성할 필요 없이 동일한 빌딩 블록을 얻을 수 있습니다.
챗플로우와 에이전트플로우의 차이점은 무엇인가요?
챗플로우는 단일 에이전트 시스템, 챗봇 및 더 간단한 LLM 파이프라인을 위해 구축되었습니다. 에이전트플로우는 상위 개념으로, 분기, 루핑 및 라우팅을 통한 다중 에이전트 시스템 및 복잡한 오케스트레이션을 처리합니다. 간단한 어시스턴트에는 챗플로우로 시작하고, 여러 에이전트가 조율해야 할 때는 에이전트플로우로 전환하십시오.
Flowise Flow의 API를 어떻게 테스트하나요?
question이 포함된 JSON 본문과 함께 예측 엔드포인트 POST /api/v1/prediction/{id}를 호출합니다. 이는 curl, 공식 SDK 또는 전용 도구를 사용하여 수행할 수 있습니다. Apidog에서는 요청을 보내고, 응답을 확인하고, Flow가 호출하는 LLM 및 도구 API를 모의하고, 이 모든 것을 CI에서 실행합니다. LLM 엔드포인트에 특정한 인증 및 스트리밍 세부 정보는 Apidog로 ChatGPT API 테스트에 대한 저희 가이드를 참조하십시오.
마무리
Flowise는 LLM 앱 및 AI 에이전트로 가는 로우코드 경로입니다. 노드 캔버스에서 구축하고, 챗플로우, 에이전트플로우, 어시스턴트 중에서 선택하며, 오케스트레이션을 직접 작성하지 않고 REST 예측 엔드포인트를 배포합니다. 프로토타입 및 팀이 읽을 수 있는 Flow에 강력하게 적합하며, 깊은 제어가 필요한 경우에는 여전히 코드 우선 프레임워크가 우세합니다. 어떤 경로를 택하든, Flow는 호출하는 API에 따라 성패가 갈립니다. Apidog에서 해당 예측 엔드포인트를 테스트하고 그 뒤에 있는 LLM 및 도구 API를 모의하면, 에이전트는 캔버스에서처럼 프로덕션에서도 동일하게 작동할 것입니다.
