Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available: 6.11.0
metadata
title: Megumin RAG Chat
emoji: ๐ฅ
colorFrom: red
colorTo: yellow
sdk: gradio
sdk_version: 6.10.0
app_file: app.py
pinned: false
Megumin RAG Chat
๋ฉ๊ตฌ๋ฐ๊ณผ ์ง์ ๋ํํ๋ ์ฒดํํ ์บ๋ฆญํฐ ์ฑ๋ด์
๋๋ค.
๋ฉ๊ตฌ๋ฐ์ ๋งํฌ์ ๊ฐ์ ์ , ๊ทธ๋ฆฌ๊ณ ์ฝ๋
ธ์ค๋ฐ ์ค์ ์ ๋ณด๋ฅผ ํจ๊ป ์ฐธ๊ณ ํด ๋ต๋ณํฉ๋๋ค.
๋ฐ๋ก ์จ๋ณด๊ธฐ
์ด๋ฐ ์ง๋ฌธ์ผ๋ก ์์ํด๋ณด์ธ์.
- ๋ฉ๊ตฌ๋ฐ, ์นด์ฆ๋ง ์จ๋ฅผ ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น?
- ํญ๋ ฌ๋ง๋ฒ์ ๊ฐ๋ฅด์ณ ์ค ์ฌ๋์ ๋๊ตฌ์ธ๊ฐ์?
- ์์ฟ ์์ ์ธ์ดํฌ๋ฆฌ๋ ๋ธ๋ ์ดํฌ ์คํ ์ด ๋ฌด์์ธ์ง ์ค๋ช ํด ์ฃผ์ธ์.
- ํ๋ง์กฑ๋ค์ด ์๊ธฐ์๊ฐ๋ฅผ ํ ๋ฒ ๋ค๋ ค์ฃผ์๊ฒ ์ต๋๊น?
์ฒซ ์ ์ ์ ๋ฉ๊ตฌ๋ฐ์ด ๋จผ์ ์ธ์ฟ๋ง์ ๊ฑด๋ค๊ณ , ๋ต๋ณ์ ADK SSE ์คํธ๋ฆฌ๋ฐ์ผ๋ก ์ ์ง์ ์ผ๋ก ํ์๋ฉ๋๋ค.
์ด Space์ ํน์ง
- ๋ฉ๊ตฌ๋ฐ ํ๋ฅด์๋ ๊ธฐ๋ฐ ๋ํ
- ์ค์ RAG + ์คํ์ผ RAG ๋์ ์ฌ์ฉ
- question ์ธ๋ฑ์ค์ question+answer ์ธ๋ฑ์ค๋ฅผ ํจ๊ป ์กฐํํ๋ FAISS ๊ฒ์
- ์ฒซ ์ง๋ฌธ ์ lazy init
์๋น์ค ์ค๋น ์ค...,๋ต๋ณ ์์ฑ ์ค...์ํ ํ์- ๊ท์น ๊ธฐ๋ฐ ์์ ์ํ ๋ฐฐ์ง
ssr_mode=False๋ก ์ด๊ธฐ ๋ ๋ ๋ถ๋ด ์ํ- ๋ชจ๋ฐ์ผ์์๋ ์ ๋ชฉ, ์ต์ ์ค๋ช , ์ด๋ฏธ์ง, ์ฑํ ์ฐฝ๋ง ๋ณด์ด๋ ๋จ์ํ ๋ ์ด์์
์คํ
python app_gradio.py
๋ฉ์ ์ ํ UI:
python app_gradio_messenger.py
Hugging Face Spaces ์ง์ ์ :
python app.py
UI ์ ํ:
MEGUMIN_UI=messenger
๋ฉ์ ์ ๋ ์ด์์ ๋ฉ๋ชจ
app_gradio_messenger.py๋ ๋ฐ์คํฌํฑ ํ๊ฒฝ์์ Gradio ๋ํผ๊ฐ ์ธ๋ก๋ก ๋์ด๋๋ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ๊ณ ์ ๋์ด ๋ฉ์ ์ ๋ ์ด์์์ ์ฌ์ฉํฉ๋๋ค.
- ์ข์ธก๊ณผ ์ฐ์ธก ์นํฐ๋ Gradio
Column(scale=3)๊ณผColumn(scale=7)๋ก3:7๋น์จ์ ์ฌ์ฉํฉ๋๋ค. - ๋ฉ์ ์ ํจ๋ ๋์ด๋ ๋ทฐํฌํธ ์์กด flex ํ์ฅ์ด ์๋๋ผ CSS ๋ณ์๋ก ๊ณ ์ ํฉ๋๋ค.
- ์ฐ์ธก ์นํฐ๋ ์ธ ๊ฐ์ ๊ณ ์ ์ญํ ์ ๊ฐ๋ 3ํ grid๋ก ๋๋ฉ๋๋ค.
์๋จ ํค๋ = 96px,์ ๋ ฅ ์์ญ = 176px,๋ฉ์์ง ํ์ ์์ญ = ๋๋จธ์ง ๋์ด - ๋ฉ์ ์ UI์์๋
gr.Blocks(fill_height=True)๋ฅผ ์๋์ ์ผ๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค. Gradio์ ์๋ stretch ๋ํผ๊ฐ ๊ณ ์ ๋์ด ๋์์ ๋ค์ ๊นจ๋จ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. - ํ๋กํ ์ด๋ฏธ์ง๋ ์ธ๋ถ URL ๋์ ํ๋ก์ ํธ ๋ด๋ถ
source_fileํด๋์ ๋ก์ปฌ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ์ฐ์ ์์๋
megumin_profile.png,megumin_profile.jpg,megumin_profile.jpeg,megumin_profile.webp์ด๋ฉฐ, ์์ผ๋ฉด ๊ฐ์ ํด๋์ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง ํ์ผ์ ์ฌ์ฉํฉ๋๋ค. - ๊ธฐ๋ณธ SVG๋ ์ด๋ฏธ์ง ๋ก๋ ์คํจ ์์๋ง ๋ณด์ด๋ฉฐ,
source_fileํด๋๋ ๋ฉ์ ์ ๋จ๋ ์คํ๊ณผapp.py๊ฒฝ์ ์คํ ๋ชจ๋์์allowed_paths๋ก ๋ช ์์ ์ผ๋ก ์๋นํฉ๋๋ค. - ์ดํ ๋ฉ์ ์ ๋ ์ด์์์ ๋ณ๊ฒฝํ๋ฉด
app_gradio_messenger.py์docs/agent-architecture.md๋ฅผ ํจ๊ป ์์ ํฉ๋๋ค.
Hugging Face ๊ตฌ์ฑ
์ฑ repo:
app.pyapp_gradio.pymegumin_agent/scripts/docs/requirements.txtREADME.md
dataset repo:
megumin_qa_dataset.jsonmegumin_questions.faissmegumin_question_answer.faissmegumin_questions_meta.jsonnamuwiki_qa.jsonnamuwiki_questions.faissnamuwiki_question_answer.faissnamuwiki_questions_meta.json
ํ์ Secret:
GOOGLE_API_KEYHF_TOKEN