RAG 워크플로우 만들기 (Agentflow 3.0.0)
이 페이지에서는 Agentflow 3.0.0 버전 기반으로 RAG (Retrieval-Augmented Generation) 워크플로우를 구성하는 방법에 대해 설명합니다.
2. 워크플로우 편집
2.1 리비전 정보 설정
리비전 정보 탭을 클릭합니다.
도커 이미지와 인스턴스 타입, 복제본을 선택합니다. 이는 워크플로우가 실행될 환경을 결정합니다. (리비전 정보 탭에서 도커 이미지와 인스턴스 타입을 선택할 수 있습니다. 이 설정은 워크플로우의 실행 환경을 정의합니다.)
도커 이미지 :
llmops-workflow-api:latest
인스턴스 타입:
micro (0.2 CPU Core, 500 Mb Memory)
복제본:
1
2.2 Flow 생성
Flowise Step 추가 버튼을 클릭합니다.
드롭박스 중에서 Agentflow 3.0.0을 클릭합니다.
Flowise 창에서 세부 설정을 조정합니다.
각 노드와 Flow State에 대한 설명은 여기서 확인할 수 있습니다.
(참고) 현재 Retriever 노드는 사용할 수 없음
2.3 세부 설정
Flowise 창의 캔버스에서 세부 설정을 조정합니다. 이번엔 멀티턴 노드 구성에 대해서 설명합니다.
전체 워크플로우:
Start 노드와 LLM 노드를 가져온 다음, 두 노드를 연결해줍니다.
Start노드의 오른쪽에 마우스 hover시 나오는 화살표를 끌어 LLM 노드 왼편에 붙여줍니다.
2.3.1 Start 노드

워크플로우의 진입점이 되는 노드입니다.
Input Type : Chat Input
Ephemeral Memory : 비활성화
Flow State
Key : current_date
Value : None
2.3.2 Tool Node : CurrentDateTime(이 도구는 별도의 파라미터 설정이 필요하지 않습니다)

현재 시간을 불러오는 Tool Node 입니다
Tool Input Arguments
CurrentDateTime은 파라미터를 받지 않는 도구입니다. 실행 시점의 현재 시간을 자동으로 반환합니다.
Update Flow State
Start 노드에서 선언해준 current_date 의 값을, 현재 노드(’Get datetime’ Tool 노드)의 결과값으로 받습니다. 동적 변수인
{{ output }}
을 Value에 작성합니다.
(참고)
{{ output }}
변수는 현재 노드의 결과값을 받는 변수입니다.
2.3.3 Custom Function Node

Input Variables
Variable Name:
current_date
Variable Value:
{{ $flow.state.current_date }}
← Flow State에서 데이터 읽기
Javascript Function: JSON 파싱하여 원하는 형식으로 변환합니다.
Update Flow State: 가공된 결과를 다시 저장합니다.
2.3.4 Agent Node
** 언급되지 않은 기능 및 노드는 디폴트 상태로 진행합니다 **
Model : ChatMnc
Parameters
Serving : Qwen2.5-72B-Instruct
Max Tokens : 512
Temperature : 0.9
Streaming : 활성화 (파란색 토글)
나머지 parameter들은 디폴트 상태로 진행합니다.
Messages
System 메세지로 역할 지정과 함께
{{ $flow.state.current_date }}
를 이용할 것을 지침으로 제공합니다.
You are a GenOS Agent, an advanced reasoning assistant with various tool capabilities. Knowledge cutoff: 2025-01 Current date: {{ $flow.state.current_date }}
Knowledge(Vector Embeddings)
Vector Store : DeepSearfing
Weaviate Host : 사용할 벡터 데이터베이스(DB)를 선택합니다. 이 모델은 문서의 의미를 벡터로 변환하는 데 사용됩니다. 이번 예시에서는 ‘부산시 RAG [2차]’를 이용했습니다.
Embedding Model : Mnc Interface Embeddings
사용할 임베딩 모델을 선택합니다. 이 모델은 문서의 의미를 벡터로 변환하는 데 사용됩니다.
Knowledg Name : 해당 DB를 식별할 이름을 지어줍니다.
Describe Knowledge : 에이전트가 언제 이 지식 소스를 활용해야 하는지 결정하는 가이드를 작성해줍니다
Return Source Documents : 활성화
Memory
Enable Memory : 활성화
Memory Type : All messages로 설정해줍니다.
Return Response As : Assistant Message
4. 워크플로우 테스트
4.2 질문 입력
테스트 창에 질문을 입력하여 워크플로우의 응답을 확인합니다.
(테스트 창에 질문을 입력하고 "실행" 버튼을 클릭하여 워크플로우의 응답을 확인하세요.)

질문을 입력하면, 결과창이 나옵니다. 결과창의 우측 상단의 확대 아이콘을 누르면 전체 화면으로 코드를 볼 수 있습니다.
4.3 응답 확인
워크플로우가 입력된 질문에 대해 적절한 응답을 생성하는지 확인합니다.
응답이 정확하지 않은 경우, 설정을 다시 확인하고 필요한 조정을 합니다.
(워크플로우가 생성한 응답이 화면에 표시됩니다. 응답의 정확성을 확인하세요.)
아래는 이번 예시의 결과 코드 화면입니다.


각 노드(빨간색 박스)와 그에 따른 결과인 output, 그리고 state (파란색 박스)가 정상적으로 진행되는 것을 확인할 수 있습니다.

마찬가지로 agent 노드에서도 정상적으로 tool call이 진행되며 결과가 출력되는 것을 확인할 수 있습니다 .
Last updated
Was this helpful?