보고서 생성 워크플로우 만들기

  • 에이전트 > 워크플로우에서 보고서 생성에 활용할 워크플로우를 생성합니다.

  • 보고서 생성 시에 필수값인 주제 워크플로우, 목차 워크플로우, 작성 워크플로우 생성 및 배포합니다.

주제 워크플로우 생성

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 값을 contextquestion을 입력하고 체크 버튼을 클릭합니다.

      • 입력한 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 저장

모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

2.5 배포


목차 워크플로우 생성

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 값을 contextquestion을 입력하고 체크 버튼을 클릭합니다.

      • 입력한 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 저장

모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

2.5 배포


최종 작성 워크플로우 생성

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 저장

모든 설정을 마친 후 리비전 상세 섹션에 있는 저장 버튼을 클릭하여 워크플로우 설정을 저장합니다.

2.4 배포

Last updated

Was this helpful?