# RAG 워크플로우 만들기

**RAG 워크플로우 동영상 \[**[**바로가기**](https://youtu.be/8pcMvop_L80)**]**

### 1. 워크플로우 생성

#### 1.1 워크플로우 생성 버튼 클릭

* **워크플로우 생성** 버튼을 클릭하여 새로운 워크플로우를 시작합니다.\
  (화면 상단에 있는 "워크플로우 생성" 버튼을 클릭하면 새로운 워크플로우를 만들 수 있습니다.)

<figure><img src="/files/yneu38mHUwmE6WPDR2XO" alt=""><figcaption></figcaption></figure>

#### 1.2 정보 입력

* **제목**: 워크플로우의 이름을 입력합니다. 예: "RAG 워크플로우 테스트".
* **상세 설명**: 워크플로우의 특징이나 목적을 간단히 메모합니다. 예: "이 워크플로우는 RAG 모델을 사용하여 문서 검색 및 응답 생성을 테스트합니다."
* **관리 그룹**: 워크플로우의 편집 권한을 가질 관리 그룹을 지정합니다.\
  (제목, 상세 설명, 관리 그룹을 입력하는 필드가 표시됩니다. 각 필드에 적절한 정보를 입력하세요.)

<figure><img src="/files/ZGL5NaXt3FG2UE9m3prV" alt=""><figcaption></figcaption></figure>

#### 1.3 워크플로우 목록에서 확인

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

<figure><img src="/files/9lqekIFU3nqD0qa4P9CX" alt=""><figcaption></figcaption></figure>

***

### 2. 워크플로우 편집

#### 2.1 리비전 정보 설정

* **리비전 정보** 탭을 클릭합니다.
* **도커 이미지**, **인스턴스 타입**, **복제본** 등을 설정합니다. 이는 워크플로우가 실행될 환경을 결정합니다.
  * **도커 이미지**: 워크플로우 실행에 필요한 환경과 라이브러리가 포함된 컨테이너 이미지를 선택합니다.
  * **인스턴스 타입**: 워크플로우 실행에 할당할 컴퓨팅 리소스(CPU, 메모리)를 선택합니다.
  * **복제본**: 워크플로우를 실행할 인스턴스의 개수를 설정합니다. 복제본 수를 늘리면 병렬 처리 및 부하 분산이 가능합니다.
  * **GPU 할당량** (선택사항): GPU가 필요한 워크플로우의 경우 GPU 리소스를 할당할 수 있습니다.
  * **최대 큐 크기** (선택사항): 동시에 대기할 수 있는 최대 요청 수를 설정합니다.
  * **최대 동시 실행 수** (선택사항): 동시에 실행할 수 있는 최대 워크플로우 인스턴스 수를 제한합니다.
  * **환경 변수** (선택사항): 워크플로우 실행 시 필요한 환경 변수를 키-값 쌍으로 설정할 수 있습니다.

<figure><img src="/files/32o9rUcxwynf4QlI35q7" alt="워크플로우 리비전 정보 설정 화면"><figcaption><p>워크플로우 리비전 정보 설정 화면</p></figcaption></figure>

#### 2.2 세부 설정

* **Flowise Step 추가 버튼**을 클릭합니다.

<figure><img src="/files/gJFZAeQP1egqPbhCAPrY" alt=""><figcaption></figcaption></figure>

* 드롭박스 중에서 **Chatflow 2.2.3**을 클릭합니다.

<figure><img src="/files/lNCwevrJOdWr0SQIu9kj" alt=""><figcaption></figcaption></figure>

* **Flowise 창**에서 세부 설정을 조정합니다. 다양한 노드가 구성되어 있으며, 아래 화면은 Default 생성시 보여지는 노드에 대해서 설명합니다.
  * **ChatMNC**: 사용할 LLM(Large Language Model)을 선택합니다. 이 모델은 워크플로우에서 텍스트 생성에 사용됩니다.
  * **Mnc Inference Embedding**: 사용할 임베딩 모델을 선택합니다. 이 모델은 문서의 의미를 벡터로 변환하는 데 사용됩니다.
  * **DeepSearfing**: 사용할 벡터 데이터베이스(DB)를 선택합니다. 이 DB는 문서 검색에 사용됩니다.\
    (Flowise 창에서 ChatMNC, Mnc Inference Embedding, DeepSearfing을 설정할 수 있습니다. 각 옵션을 선택하여 워크플로우를 구성하세요.)
    * 주의) 사용할 벡터 DB 생성과 문서 적재가 된 상태여야 RAG 워크플로우가 정상동작합니다. [방법은 벡터 DB문서 적재 튜토리얼을 참고해주세요.](https://github.com/mindsandcompany/genos-docs/blob/main/basic-tutorials/broken-reference/README.md)

<figure><img src="/files/lK0V8vo4QiwfDMdSvTHb" alt=""><figcaption></figcaption></figure>

#### 2.3 저장

* 모든 설정을 마친 후 **저장** 버튼을 눌러 워크플로우를 저장합니다.\
  (화면 하단에 있는 "저장" 버튼을 클릭하여 워크플로우 설정을 저장합니다.)

<figure><img src="/files/XWexAKGJ2Rynk8lmdVMF" alt=""><figcaption></figcaption></figure>

***

### 3. 워크플로우 배포

#### 3.1 배포 버튼 클릭

* **배포** 버튼을 눌러 워크플로우를 배포합니다. 배포가 완료되면 워크플로우가 실행 가능한 상태가 됩니다.\
  ("배포" 버튼을 클릭하면 워크플로우가 배포되어 실행 준비가 완료됩니다.)

<figure><img src="/files/vrtSQKxVNEys6IAZj1cw" alt=""><figcaption></figcaption></figure>

***

### 4. 워크플로우 테스트

#### 4.1 테스트 버튼 클릭

* **테스트** 버튼을 눌러 워크플로우를 테스트합니다.\
  ("테스트" 버튼을 클릭하면 워크플로우 테스트 창이 열립니다.)

<figure><img src="/files/gWGjUFoITBEE6ETw7QjK" alt=""><figcaption></figcaption></figure>

#### 4.2 질문 입력

* 테스트 창에 질문을 입력하여 워크플로우의 응답을 확인합니다. 예: "전압과 전류의 관계는 무엇인가요?"\
  (테스트 창에 질문을 입력하고 "실행" 버튼을 클릭하여 워크플로우의 응답을 확인하세요.)

<figure><img src="/files/iexRm3LoOcCDIBngZf64" alt=""><figcaption></figcaption></figure>

#### 4.3 응답 확인

* 워크플로우가 입력된 질문에 대해 적절한 응답을 생성하는지 확인합니다. 응답이 정확하지 않은 경우, 설정을 다시 확인하고 필요한 조정을 합니다.\
  (워크플로우가 생성한 응답이 화면에 표시됩니다. 응답의 정확성을 확인하세요.)

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://genos-docs.gitbook.io/default/v1.8.5/basic-tutorials/guides/workflow/openapi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
