보고서 생성 워크플로우 만들기
에이전트 > 워크플로우에서 보고서 생성에 활용할 워크플로우를 생성합니다.
보고서 생성 시에 필수값인 주제 워크플로우, 목차 워크플로우, 작성 워크플로우 생성 및 배포합니다.
주제 워크플로우 생성
1.1 워크플로우 생성 버튼 클릭
워크플로우 생성 버튼을 클릭하여 새로운 워크플로우를 만듭니다.

1.2 정보 입력
제목: 워크플로우의 이름을 입력합니다. 예시: "보고서 생성 - 주제 생성"
상세 설명: 워크플로우의 특징이나 목적을 간단히 메모합니다.
관리 그룹: 워크플로우의 편집 권한을 가질 관리 그룹을 지정합니다.

1.3 워크플로우 목록에서 확인
생성한 워크플로우는 워크플로우 목록에서 확인할 수 있습니다. 목록에서 해당 워크플로우를 더블 클릭하여 상세 페이지로 이동합니다. (워크플로우 목록에는 생성된 워크플로우가 ID, 이름, 생성 날짜와 함께 표시됩니다.)

2. 워크플로우 편집
2.1 리비전 정보 설정
리비전 정보 탭을 클릭합니다.
도커 이미지와 인스턴스 타입, 복제본을 선택합니다. 이는 워크플로우가 실행될 환경을 결정합니다. (리비전 정보 탭에서 도커 이미지와 인스턴스 타입을 선택할 수 있습니다. 이 설정은 워크플로우의 실행 환경을 정의합니다.)
도커 이미지 :
llmops-workflow-api:latest
인스턴스 타입:
smicro (1 CPU Core, 1 Gb Memory)
복제본:
1

2.2 세부 설정(1)
하단의 Flowise Step 추가 버튼 클릭 후 'Chatflow 2.2.3'을 선택합니다.

Flowise 창에서 '+' 버튼을 클릭하여 노드를 드래그하여 배치합니다. 각 노드의 세부 설정을 조정합니다. 이번엔 노드 구성에 대해서 설명합니다.

Mnc Inference Embeddings: 사용할 Serving을 선택합니다.
이 예시에서는
bge-m3
을 적용하였습니다.
DeepSearfing: Weaviate Host와 Weaviate Index를 선택합니다.
이 예시에서는
[MNC QA] 보고서 DB
,MNC_QA_REPORT
를 적용하였습니다.
MNC Merge Retriever: Vector Store Retrievers와 Embeddings 노드를 연결해주고 Output값을 선택합니다.
이 예시에서는
Text
를 적용하였습니다.
Prompt Template(1): Template를 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
아래 종류의 보고서를 작성하기 위해 사용자가 임의로 주제를 선정하였습니다.
참고 자료를 바탕으로 사용자가 선정한 주제를 바탕으로 topics 5개를 답변으로 제공하세요
### 참고 자료:
{context}
###사용자가 선정한 주제 ###
{question}
###답변###
Prompt Template(2): Format Promt Values 버튼을 클릭하여 값을 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
+ 버튼을 클릭하여 key name 값을
context
과question
을 입력하고 체크 버튼을 클릭합니다.
입력한 keyname의 📝버튼을 클릭하여 각각의 variable을 선택해줍니다.
context는
MNCMergeRetriver_0
을 선택해줍니다.
question은
question
을 선택해줍니다.
아래와 같이 모두 입력 및 선택해줍니다.
ChatMNC: 사용할 LLM(Large Language Model)과 Max Token, Temperature을 선택합니다. 이 모델은 워크플로우에서 텍스트 생성에 사용됩니다.
이 예시에서는
Qwen2.5-72B-Instruct,
Max Token 1024
,Temperature 0.9
를 적용하였습니다.
Custom List Output Parser: Length를 입력하고 Autofix를 활성화해줍니다.
이 예시에서는
5
를 적용하였습니다.
LLM Chain: Language Model과 Prompt, Output Parser 노드를 연결합니다.
2.3 세부설정(2)
하단의 Python 단계 추가 버튼을 선택합니다.

Python 창을 활성화하여 코드를 입력합니다.

아래의 코드를 입력해줍니다. flowise output parser에서 리턴하는 'json'키를 자동으로 'text'키로 변환하여 보고서 생성 시 올바르게 반영할 수 있도록 하기 위해서입니다.
async def run(data: dict) -> dict:
# Your custom processing logic here
data['text'] = data['json'] # 보고서 생성 로직에서 'text'키를 사용, flowise output parser는 'json'키를 리턴
return data
2.4 저장
모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

목차 워크플로우 생성
1.1 워크플로우 생성 버튼 클릭
워크플로우 생성 버튼을 클릭하여 새로운 워크플로우를 만듭니다.

1.2 정보 입력
제목: 워크플로우의 이름을 입력합니다. 예시: "보고서 생성 - 목차생성"
상세 설명: 워크플로우의 특징이나 목적을 간단히 메모합니다.
관리 그룹: 워크플로우의 편집 권한을 가질 관리 그룹을 지정합니다.

1.3 워크플로우 목록에서 확인
생성한 워크플로우는 워크플로우 목록에서 확인할 수 있습니다. 목록에서 해당 워크플로우를 더블 클릭하여 상세 페이지로 이동합니다. (워크플로우 목록에는 생성된 워크플로우가 ID, 이름, 생성 날짜와 함께 표시됩니다.)

2. 워크플로우 편집
2.1 리비전 정보 설정
리비전 정보 탭을 클릭합니다.
도커 이미지와 인스턴스 타입, 복제본을 선택합니다. 이는 워크플로우가 실행될 환경을 결정합니다. (리비전 정보 탭에서 도커 이미지와 인스턴스 타입을 선택할 수 있습니다. 이 설정은 워크플로우의 실행 환경을 정의합니다.)
도커 이미지 :
llmops-workflow-api:latest
인스턴스 타입:
smicro (1 CPU Core, 1 Gb Memory)
복제본:
1

2.2 세부 설정(1)
하단의 Flowise Step 추가 버튼 클릭 후 'Chatflow 2.2.3'을 선택합니다.

Flowise 창에서 '+' 버튼을 클릭하여 노드를 드래그하여 배치합니다. 각 노드의 세부 설정을 조정합니다. 이번엔 노드 구성에 대해서 설명합니다.

Mnc Inference Embeddings: 사용할 Serving을 선택합니다.
이 예시에서는
bge-m3
을 적용하였습니다.
DeepSearfing: Weaviate Host와 Weaviate Index를 선택합니다.
이 예시에서는
[MNC QA] 보고서 DB
,MNC_QA_REPORT
를 적용하였습니다.
MNC Merge Retriever: Vector Store Retrievers와 Embeddings 노드를 연결해주고 Output값을 선택합니다.
이 예시에서는
Text
를 적용하였습니다.
Prompt Template(1): Template를 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
아래 규칙을 반드시 지키면서 답변을 JSON 형태로 출력하세요.
- 보고서 제목(title)은 한 줄로 작성해야 합니다.
- 목차(indices)는 최소 1개 이상 포함해야 하며, 최대 20개까지만 출력할 수 있습니다.
- LLM이 생성한 목차가 20개를 초과하면 상위 20개까지만 사용됩니다.
- 각 목차는 "index" (목차 제목)과 "description" (설명 리스트)을 반드시 포함해야 하며, description은 최소 1개 이상이어야 합니다.
- 전체 답변은 JSON 형식으로 감싸서 출력해야 하며, 형식 오류 없이 정확한 JSON 구조를 유지해주세요.
다음 보고서 주제와 참고 자료를 바탕으로 보고서 목차를 작성해주세요.
제목, 목차, 그리고 목차별 관련 내용을 포함해야 합니다.
### 보고서 주제 ###
{question}
### 참고 자료 ###
{context}
출력 형식:
- JSON 안에 "title" 필드와, "indices" 배열을 반드시 포함
- "indices" 배열 안에는 각 목차별 구조가 들어가며, 각 목차는 다음 필드로 구성됩니다:
- "index": 목차 제목 (문자열)
- "description": 해당 목차에 대한 설명 (문자열 배열, 최소 1개 이상)
Prompt Template(2): Format Promt Values 버튼을 클릭하여 값을 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
+ 버튼을 클릭하여 key name 값을
context
과question
을 입력하고 체크 버튼을 클릭합니다.
입력한 keyname의 📝버튼을 클릭하여 각각의 variable을 선택해줍니다.
context는
MNCMergeRetriver_0
을 선택해줍니다.
question은
question
을 선택해줍니다.
아래와 같이 모두 입력 및 선택해줍니다.
ChatMNC: 사용할 LLM(Large Language Model)과 Max Token, Temperature을 선택합니다.
ChatMNC: 사용할 LLM(Large Language Model)과 Max Token, Temperature을 선택합니다. 이 모델은 워크플로우에서 텍스트 생성에 사용됩니다.
이 예시에서는
Qwen2.5-72B-Instruct,
Max Token 2048
,Temperature 0.9
를 적용하였습니다.
Advanced Structured Output Parser: Autofix를 활성화하고 Example JSON을 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
z.object({
// 보고서 제목 (문자열)
title: z.string(),
// 목차 배열 (최소 1개, 최대 20개까지 허용)
indices: z
.array(
z.object({
// 목차 이름
index: z.string(),
// 목차별 부연 설명 (최소 1개 이상의 설명)
description: z.array(z.string()).min(1),
})
)
.min(1)
.max(20),
})
LLM Chain: Language Model과 Prompt 노드를 연결합니다.
2.3 세부설정(2)
하단의 Python 단계 추가 버튼을 선택합니다.

Python 창을 활성화하여 코드를 입력합니다.

아래의 코드를 입력해줍니다. flowise output parser에서 리턴하는 'json'키를 자동으로 'text'키로 변환하여 보고서 생성 시 올바르게 반영할 수 있도록 하기 위해서입니다.
async def run(data: dict) -> dict:
# Your custom processing logic here
data['text'] = data['json'] # 보고서 생성 로직에서 'text'키를 사용, flowise output parser는 'json'키를 리턴
return data
2.4 저장
모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

최종 작성 워크플로우 생성
1.1 워크플로우 생성 버튼 클릭
워크플로우 생성 버튼을 클릭하여 새로운 워크플로우를 만듭니다.

1.2 정보 입력
제목: 워크플로우의 이름을 입력합니다. 예시: "보고서 생성 - 최종생성"
상세 설명: 워크플로우의 특징이나 목적을 간단히 메모합니다.
관리 그룹: 워크플로우의 편집 권한을 가질 관리 그룹을 지정합니다.

1.3 워크플로우 목록에서 확인
생성한 워크플로우는 워크플로우 목록에서 확인할 수 있습니다. 목록에서 해당 워크플로우를 더블 클릭하여 상세 페이지로 이동합니다. (워크플로우 목록에는 생성된 워크플로우가 ID, 이름, 생성 날짜와 함께 표시됩니다.)

2. 워크플로우 편집
2.1 리비전 정보 설정
리비전 정보 탭을 클릭합니다.
도커 이미지와 인스턴스 타입, 복제본을 선택합니다. 이는 워크플로우가 실행될 환경을 결정합니다. (리비전 정보 탭에서 도커 이미지와 인스턴스 타입을 선택할 수 있습니다. 이 설정은 워크플로우의 실행 환경을 정의합니다.)
도커 이미지 :
llmops-workflow-api:latest
인스턴스 타입:
smicro (1 CPU Core, 1 Gb Memory)
복제본:
1

2.2 세부 설정
하단의 Flowise Step 추가 버튼 클릭 후 'Chatflow 2.2.3'을 선택합니다.

Flowise 창에서 '+' 버튼을 클릭하여 노드를 드래그하여 배치합니다. 각 노드의 세부 설정을 조정합니다. 이번엔 노드 구성에 대해서 설명합니다.

Mnc Inference Embeddings: Serving을 선택합니다.
이 예시에서는
bge-m3
를 적용하였습니다.
DeepSearfing: Weaviate Host와 Weaviate Index를 선택합니다.
이 예시에서는
[MNC QA] 보고서 DB
,MNC_QA_REPORT
를 적용하였습니다.
ChatMNC: 사용할 Serving과 Max Token, Temperature을 선택합니다. 이 모델은 워크플로우에서 텍스트 생성에 사용됩니다.
이 예시에서는
Qwen2.5-72B-Instruct,
Max Token 4000
,Temperature 0.9
를 적용하였습니다.
Prompt Template: Template를 입력합니다.
이 예시에서는 아래 값을 적용하였습니다.
다음 정보(참고 자료, 보고서 정보)를 활용하여, 마크다운(Markdown) 형태의 보고서 내용을 작성해야 합니다.
해당 보고서의 특정 "목차" 내용만 작성하되, 아래 지침을 반드시 준수해주세요.
### 보고서 전체 목차
{table_of_contents}
1.**분량 관련 주의사항**
-제공된 '글자 수' 또는 '전체 보고서 분량'을 참고하여 적절한 분량으로 작성합니다.
-하지만 최종 결과물에는 글자 수나 분량 등의 숫자를 절대 표시하지 않습니다.
2.**마크다운 구성**
-제목(Heading), 부제목(Subheading), 목록(Bullet/Numbered list), 코드 블록(Code block), 표(Table) 등을 적절히 활용하여 가독성을 높입니다.
-논리적 흐름을 유지하며 전문적이고 깊이 있는 내용을 작성해주세요.
3.**각 목차별 작성 방식**
-현재 작성할 목차: 전체 {num_of_index}개 목차 중 {index_sequence}번째.
-목차 정보: {question}.
-이 목차가 **첫 번째**라면 보고서 제목을 작성하고, 보고서 전체 방향성을 제시해주세요. 또한 전체 구조를 간략히 설명합니다.
-이 목차가 **마지막**이라면 보고서 전반 내용을 요약하고 결론을 포함합니다.
-이 목차가 **중간**이라면 별도의 요약이나 결론 없이, 핵심 내용만 알차게 구성합니다.
-목차가 단 하나인 경우, 전체 방향성과 결론을 모두 포함해 작성해주세요.
-다른 목차(이미 작성된 내용)와 중복되지 않도록 주의해주세요.
4.**추가 주의사항**
-"글자 수", "페이지 수" 등 구체적인 숫자는 결과물에 절대 기재하지 않습니다.
-참고 자료나 보고서 정보의 출처(제공된 텍스트)도 공개하지 않습니다. (내부 정보로만 활용)
---
<|im_start|>system
### 참고 자료
{context}
### 작성 분량 지침
**글자 수**: {word_count}자 내외 (결과물에는 직접 표시 금지)
<|im_end|>
<|im_start|>assistant
### 출력
Output:
MNC Unified RAG Chain: Max Context Character를 입력하고 Return Source Documents를 활성화합니다.
이 예시에서는
7000
을 입력하였습니다.
2.3 저장
모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

Last updated
Was this helpful?