Conversational Retrieval QA Chain
Conversational Retrieval QA Chain ๋ ธ๋๋ ์ด์ ๋ํ ๋งฅ๋ฝ์ ์ ์งํ๋ฉด์, ๋ฒกํฐ ๊ฒ์ ๊ธฐ๋ฐ ๋ฌธ์๋ก๋ถํฐ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ํํ๊ณ ์์ฐ์ค๋ฌ์ด ์ง์์๋ต์ ์์ฑํ๋ ๋ ธ๋์ ๋๋ค. ์ง๋ฌธ์ด ์ ๋งคํ๊ฑฐ๋ ๋งฅ๋ฝ์ ์์กดํ๋ ๊ฒฝ์ฐ์๋, ์ด์ ๋ํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ง๋ฌธ์ ์ฌ๊ตฌ์ฑํ๊ณ ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ต๋ณํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
๋ํ ํ๋ฆ ์์์ ๋ถ์์ ํ ์ง๋ฌธ์ ๋ช ํํ ๋จ์ผ ์ง๋ฌธ์ผ๋ก ์ฌ์์ฑ
๋ฒกํฐ ๊ฒ์(Retriever)์ ํตํด ๊ด๋ จ ๋ฌธ์ ์ปจํ ์คํธ ์๋ ๊ฒ์
๊ฒ์๋ ๋ฌธ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ๊ณ ์์ฐ์ค๋ฌ์ด ๋ต๋ณ ์์ฑ
๊ณผ๊ฑฐ ๋ํ์ ์ง๋ฌธ์ ์ฐ๊ณ๋ฅผ ๊ณ ๋ คํ QA์ ์ต์ ํ


์
๋ ฅ๊ฐ (Inputs)
Chat Model
๋ฌธ์ฅ ์์ฑ ๋ฐ ์ฌ์์ฑ์ ์ฌ์ฉํ ์ธ์ด ๋ชจ๋ธ
ํ์
Vector Store Retriever
๋ฌธ์ ๊ธฐ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ. ์ ์ฌํ ๋ฌธ์๋ฅผ ๋ฒกํฐ ๊ธฐ๋ฐ์ผ๋ก ์ฐพ์ ์ ๊ณต
ํ์
Memory
์ด์ ๋ํ๋ฅผ ์ ์ฅํ๊ณ ์ด์ด๋ฐ๋ ๊ตฌ์ฑ ์์
์ ํ
Input Moderation
์ ํด ์ฝํ ์ธ ํํฐ๋ง ๊ธฐ๋ฅ
์ ํ
Return Source Documents
์๋ต์ ์ฐธ์กฐ๋ ๋ฌธ์ ์๋ฌธ์ ํจ๊ป ๋ฐํํ ์ง ์ฌ๋ถ (๊ธฐ๋ณธ๊ฐ: ๋นํ์ฑํ)
์ ํ
ํ๋ผ๋ฏธํฐ (Parameters)
Rephrase Prompt
์ด์ ๋ํ ๋งฅ๋ฝ์ ๊ธฐ๋ฐ์ผ๋ก ๋ถ์์ ํ ์ง๋ฌธ์ ๋จ๋ ์ง๋ฌธ์ผ๋ก ์ฌ์์ฑํ๋ ํ๋กฌํํธ
Response Prompt
๊ฒ์๋ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ข ์๋ต์ ์์ฑํ๋ ํ๋กฌํํธ
Rephrase Prompt ์์
Response Prompt ์์
์ถ๋ ฅ๊ฐ (Outputs)
ConversationalRetrievalQAChain
์ง๋ฌธ ์ฌ์์ฑ ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ ์๋ต ๊ฐ์ฒด
ํ์ฉ ์์
๋ฌธ์ ๊ธฐ๋ฐ ์๋ด ์ฑ๋ด
๊ณผ๊ฑฐ ๋ํ์์ "๊ทธ๊ฑด ์ด๋์ ์์ด?" ๊ฐ์ ์ง๋ฌธ์๋ ์ ํํ ๋ฌธ์๋ฅผ ๊ฒ์ํ์ฌ ๋ต๋ณ
์ฌ๋ด ๋ฐ์ดํฐ Q&A ์์คํ
์ ์ฑ ๋ฌธ์, ์ธ์ฌ ๋งค๋ด์ผ ๋ฑ์์ ๊ด๋ จ ๋ด์ฉ์ ์๋ ๊ฒ์ํ์ฌ ์๋ต ์์ฑ
RAG ๊ธฐ๋ฐ ๋ํํ ์ด์์คํดํธ
๊ฒ์๋ ์ปจํ ์คํธ์ ๋ฐ๋ผ ์ ํํ ์ ๋ณด ์ ๊ณต ๋ฐ ์ถ์ฒ ๋ฐํ ๊ฐ๋ฅ
์ฌ์ฉ ํ
๋ฒกํฐ ์คํ ์ด๋
In-Memory,Redis,Weaviate๋ฑ ๋ค์ํ ์ ํ๊ณผ ์ฐ๊ฒฐ ๊ฐ๋ฅMemory ์ค์ ์ follow-up ์ง๋ฌธ์ ๋ ์์ฐ์ค๋ฝ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
Return Source Documents๋ฅผ ํ์ฑํํ๋ฉด ์ถ์ฒ ํฌ๋ช ์ฑ ํ๋ณด์ ์ ๋ฆฌํจ
์ฃผ์์ฌํญ
Rephrase Prompt์๋{chat_history}์{question}๋ณ์๊ฐ ๋ฐ๋์ ํฌํจ๋์ด์ผ ํฉ๋๋ค.Response Prompt์๋{context}๋ณ์๊ฐ ๋ฐ๋์ ํฌํจ๋์ด์ผ ํ๋ฉฐ, ์ด๋ฅผ ๋๋ฝํ๋ฉด ์ ์ ์๋ต์ด ๋ถ๊ฐํฉ๋๋ค.๋ฌธ์ ๋ฒกํฐํ ํ์ง์ด ๋ฎ์ ๊ฒฝ์ฐ ์ ํํ ๋ต๋ณ์ ์ป๊ธฐ ์ด๋ ต์ต๋๋ค.
Conversational Retrieval QA Chain์ WindyFlo์์ RAG(Retrieval-Augmented Generation) ๊ธฐ๋ฐ ์ง์์๋ต์ ๊ตฌํํ ์ ์๋ ํต์ฌ ๋ ธ๋์ ๋๋ค. ๋ฌธ์ ๊ฒ์๊ณผ ๋ํ์ ์ฐ๊ฒฐ์ด ์ค์ํ ์ฑ๋ด ์๋น์ค์ ์ต์ ํ๋ ๊ตฌ์ฑ์ ๋๋ค.
Last updated