Spaces:
Running
Running
A newer version of the Gradio SDK is available: 6.11.0
μμ΄μ νΈ μν€ν μ²
κ°μ
νλ‘μ νΈλ μΈ κ°μ UI μ§μ μ κ³Ό νλμ κ³΅μ© μ±ν λ°νμμΌλ‘ ꡬμ±λ©λλ€.
app.pyapp_gradio.pyapp_gradio_messenger.pymegumin_agent/
κ° UI κ³μΈ΅μ κ°μ μ±ν μλΉμ€ ν¬νΌλ₯Ό νΈμΆνκ³ , μ±ν μλΉμ€λ κ²μ, μμ΄μ νΈ μ€ν, μ€νΈλ¦¬λ°, μΈμ μν κ΄λ¦¬λ₯Ό λ΄λΉν©λλ€.
λ°νμ νλ¦
megumin_agent/bootstrap.pyκ° νκ²½ λ³μλ₯Ό λΆλ¬μ€κ³ λ‘컬 λλ μ격 λ°μ΄ν° νμΌμ μ€λΉν©λλ€.megumin_agent/retrieval.pyκ° νλ₯΄μλ/μ¬μ€ κ²μμ νμν FAISS μΈλ±μ€μ λ©νλ°μ΄ν°λ₯Ό λ‘λν©λλ€.megumin_agent/agent.pyκ° ADK μμ΄μ νΈλ₯Ό ꡬμ±νκ³ κ²μ κΈ°λ° λꡬλ₯Ό μ°κ²°ν©λλ€.megumin_agent/chat.pyκ° μ±ν μλΉμ€λ₯Ό λ§λ€κ³ λΆλΆ μλ΅ μ€νΈλ¦¬λ°κ³Ό μΈμ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬ν©λλ€.- UI λͺ¨λμ΄ νλ©΄μ λ λλ§νκ³ μ¬μ©μ λ©μμ§λ₯Ό
stream_chat()μΌλ‘ μ λ¬ν©λλ€.
λͺ¨λλ³ μ€λͺ
megumin_agent/bootstrap.py
.envλ₯Ό λ‘λν©λλ€.- νμ μ λ‘컬
adk-python/srcκ²½λ‘λ₯Ό μ€λΉν©λλ€. - κ°λ₯νλ©΄ Hugging Faceμμ λ°μ΄ν°μ μμ°μ λ΄λ €λ°μ΅λλ€.
- μ격 μμ°μ μ¬μ©ν μ μμΌλ©΄ λ‘컬 μ²λ¦¬ λ°μ΄ν°λ‘ ν΄λ°±ν©λλ€.
megumin_agent/retrieval.py
- QA JSON μμ€μ FAISS μΈλ±μ€λ₯Ό λ‘λν©λλ€.
- νλ₯΄μλν λ°μ΄ν°μ μ¬μ€ν λ°μ΄ν°μ λν΄ κ²μμ μνν©λλ€.
- ν둬ννΈ κ΅¬μ±μ μ¬μ©ν κ°κ²°ν κ²μ κ²°κ³Όλ₯Ό λ°νν©λλ€.
megumin_agent/agent.py
- λ©κ΅¬λ° νλ₯΄μλ ν둬ννΈμ κ²μ λꡬλ₯Ό μ μν©λλ€.
- νλ₯΄μλ κ²μκ³Ό μ¬μ€ κ²μμ νλμ μμ΄μ νΈ νλ¦μΌλ‘ ν©μΉ©λλ€.
- λ©ν°ν΄ λνμ νμν μμ½ μνλ₯Ό κ΄λ¦¬ν©λλ€.
megumin_agent/chat.py
- κ³΅μ© λ¬λμ λ©λͺ¨λ¦¬ κΈ°λ° μΈμ μλΉμ€λ₯Ό μμ±ν©λλ€.
stream_chat()μΌλ‘ SSE μ€νμΌμ λΆλΆ μλ΅μ μ 곡ν©λλ€.- μ΅κ·Ό ν΄ μνμ μμ½ μ 보λ₯Ό μ μ§ν΄ νμ λνλ₯Ό μ§μν©λλ€.
app_gradio.py
- κΈ°μ‘΄ λ€μ€ ν¨λ ꡬμ±μ λ©μΈ μ±ν UIμ λλ€.
- 첫 μμ² μμ μ μ±ν μλΉμ€λ₯Ό μ§μ° μ΄κΈ°νν©λλ€.
- μ΄μμ€ν΄νΈμ λΆλΆ μλ΅μ νλ©΄μ μ±ν μμμ μ€νΈλ¦¬λ°ν©λλ€.
app_gradio_messenger.py
- λμΌν κ³΅μ© μ±ν μλΉμ€ κ³μΈ΅ μμ λ©μ μ ν UIλ₯Ό μ¬λ¦° νμΌμ λλ€.
- μ’μΈ‘κ³Ό μ°μΈ‘ μΉν°λ Gradio
Column(scale=3)κ³ΌColumn(scale=7)μΌλ‘3:7λΉμ¨μ μ μ§ν©λλ€. - λ°μ€ν¬ν± λ©μ μ λ μ΄μμμ μλμ μΌλ‘ κ³ μ λμ΄λ₯Ό μ¬μ©ν©λλ€.
- μ°μΈ‘ μΉν°λ
μλ¨ ν€λ,λ©μμ§ νμ μμ,μ λ ₯ μμμ μΈ ννΈλ‘ λλλ©°, κ³ μ 3ν gridλ‘ λ°°μΉλ©λλ€. μλ¨ ν€λμμ λ ₯ μμμ λͺ μμ μΈ ν½μ λμ΄λ₯Ό μ¬μ©ν©λλ€.- λ©μμ§ λ·°ν¬νΈλ
calc(...)λ‘ λ¨λ λμ΄λ§ μ¬μ©ν©λλ€. - μλ°ν μ΄λ―Έμ§λ μΈλΆ μ μ₯μ λμ νλ‘μ νΈ λ΄λΆ
source_fileν΄λμ λ‘컬 μ΄λ―Έμ§ νμΌμ Gradio νμΌ λΌμ°νΈλ‘ μλΉν©λλ€. - μ°μ μ μΌλ‘
megumin_profileμ΄λ¦μpng,jpg,jpeg,webpνμΌμ μ°Ύκ³ , μμΌλ©΄ κ°μ ν΄λμ 첫 λ²μ§Έ μ΄λ―Έμ§ νμΌμ μ¬μ©ν©λλ€. - fallback SVGλ λ‘컬 μ΄λ―Έμ§ λ‘λ μ€ν¨ μμλ§ νμλλ©°,
source_fileν΄λλ λ©μ μ λ¨λ μ€νκ³Όapp.pyκ²½μ μ€ν λͺ¨λμμallowed_pathsλ‘ λͺ μμ μΌλ‘ λ ΈμΆν©λλ€. - Gradio μλ stretch λνΌκ° μΈλ‘ νμ₯μ λ€μ μ λ°ν μ μμΌλ―λ‘ μ΄ νμΌμμλ
gr.Blocks(fill_height=True)λ₯Ό μ¬μ©νμ§ μμ΅λλ€.
app.py
- Hugging Face Spaces μ§μ μ μ λλ€.
MEGUMIN_UIκ°μ λ°λΌ κΈ°λ³Έ UIμ λ©μ μ UI μ€ νλλ₯Ό μ νν©λλ€.
μΈμ λͺ¨λΈ
- νμ¬ μΈμ μ μ₯μλ λ©λͺ¨λ¦¬ κΈ°λ°μ λλ€.
- μ± νλ‘μΈμ€κ° μ΄μ μλ λμ λν μ°μμ±μ΄ μ μ§λ©λλ€.
- μ΅κ·Ό λ©μμ§λ μ§μ 보쑴νκ³ , μ€λλ λ§₯λ½μ μμ½ μνλ‘ μΆμ½ν©λλ€.
λ©μ μ λ μ΄μμ μ μ§λ³΄μ κ·μΉ
app_gradio_messenger.pyλ λ·°ν¬νΈλ₯Ό κ½ μ±μ°λ flex μ€νμ΄ μλλΌ κ³ μ λμ΄ λ μ΄μμμΌλ‘ λ€λ£Ήλλ€.- λ©μ μ ν¨λ λμ΄κ° λ°λλ©΄ CSS λ³μμ μ΄ λ¬Έμλ₯Ό ν¨κ» μμ ν©λλ€.
- μ’μ° λΉμ¨μ΄ λ°λλ©΄ Gradio
scaleκ°κ³Ό README λ©λͺ¨λ₯Ό ν¨κ» μμ ν©λλ€. - νΉλ³ν μ΄μ μ λΈλΌμ°μ κ²μ¦ μμ΄ λ΄λΆ λνΌμ μ€μ²©λ κ³ μ
min-height체μΈμ λ€μ λμ νμ§ μμ΅λλ€.