FAQ가 있는 RAG 워크플로우 만들기 (Agentflow 3.0.0)
FAQ 기반 RAG 워크플로우 동영상 [바로가기]
이 섹션에서는 FAQ가 있는 RAG 워크플로우 제작 방법을 소개합니다.
기본 워크플로우 생성은 RAG 워크플로우 만들기를 참고해주세요.
FAQ vector DB 추가 방법은 FAQ 벡터 DB 추가 파트를 참고해주세요.
Agentflow3 버전에서의 RAG는 다음의 링크를 기본 RAG 워크플로우 제작방식 참고해주세요.
1. 워크플로우 구성 예시
agentflow(3.0.0) 버전에서의 FAQ 워크플로우 구성 예시 입니다.

기능은 다음과 같습니다.
RAG 워크플로우에 FAQ DB를 추가하여 질문에 알맞는 문서를 찾아 답변할 수 있습니다.
두 문서에서 찾을 수 없는 일반 질의에는 답변할 수 없음을 출력합니다.
1.1 State 정의

이 예시에서는
start노드에서faq_answer와rag_answerkey를 정의했습니다.
1.2 Agent (FAQ) 정의

Model파트 : 서빙 가능한 모델과 파라미터를 설정해줍니다. 여기서는ChatMnc를 사용했습니다.Messages파트 : FAQ 문서 답변 분류를 위한 프롬프트 메시지를 작성합니다.Knowledge파트: VectorDB와 Embedding Model을 설정해줍니다. 여기서는Deepsearfing,Mnc Inference Embeddings을 사용했습니다.Knowledge Name과Describe Knowledge도 작성한 후, 참고한 내용을 함께 확인할 수 있도록Return Source Documents를 활성화합니다.flow state파트 :{{output}}을faq_answer에 저장합니다.
프롬프트 예시는 아래와 같습니다.
1.3 Custom Function
Custom FunctionCustom Function 노드를 사용해 Threshold function을 만들어줍니다.

이 예시에서는,
변수
agent_output값{{agentAgentflow_0}}을 사용했습니다.faq_answer를 이번 노드의{{output}}으로 업데이트 했습니다.
임계값을 사용해 FAQ 답변 출력과 해당하지 않는 답변을 분기할 수 있도록 합니다. 임계값은 수정할 수 있습니다. 코드 예시는 아래와 같습니다.
1.4 Custom Function2
Custom Function2Custom Function노드를 사용해 Parse answer를 만들어줍니다.
통과한 FAQ 답변을 user에게 출력할 수 있는 형태로 정제합니다.
같은 질문을 할 경우, 캐시해 바로 출력할 수 있도록 합니다.
faq_answer의{{output}}을 업데이트 해줍니다.
코드 예시는 아래와 같습니다.
1.5 Condition & Direct Reply
Condition & Direct ReplyFAQ에 해당하는 값과 아닌 값을 분기합니다.

FAQ 답변은 reply (FAQ) 노드에서 출력 됩니다.

1.6 Agent (RAG) 정의
Agent (RAG) 정의기본 형식은 Agent (FAQ) 와 동일합니다.

프롬프트 예시는 다음과 같습니다.
2. 출력 확인
출력이 잘 되는지 확인합니다.
2.1 FAQ 답변

2.2 RAG 답변


2.3 General 답변

Last updated
Was this helpful?