jasonkang
@jasonkang
Students
16,654
Reviews
1,231
Course Rating
4.9
Posts
Q&A
PDF ํ์
์๋ ํ์ธ์! ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. ํ์ผ ์์ ์ฌ์ง์ด ์๋ ๊ฒฝ์ฐ์๋, ๊ฒฝํ์ ๋น์ฉ์ด ๋ฐ์ํ๊ธด ํ์ง๋ง Upstage์ Document API๋ฅผ ํ์ฉํ๋๊ฒ ๊ฐ์ฅ ์ข์ ์ ํ์ ๋๋ค. ๋ค๋ฅธ ๋์์ด ์์ ์๋ ์๋๋ฐ ์ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์ง ์์์ต๋๋ค. ๋ค๋ง Upstage์ Document API๋ ์ฌ์ง์ ๋ถ์ํด์ฃผ์ง๋ ์๊ณ , ์๋ ๋ฐฉ์์ผ๋ก ์งํํ์ ์ผ ํฉ๋๋ค. pdf ํ์ผ์ ๋ถ์ํด์ ์ฌ์ง์ ์์น๋ฅผ ์๋ ค์ฃผ๋๋ฐ์(์ขํ ํฌํจ), ํด๋น ์์ญ์ ์ฝ๋๋ก ์๋ผ์ ๋ณ๋๋ก ์ฌ์ง ํ์ผ๋ก ์ ์ฅํ ๋ค์์ ์ฌ์ง ์ธ์์ด ๊ฐ๋ฅํ AI๋ฅผ ํ์ฉํด์ ์ฌ์ง์ ์ค๋ช ์ ์์ฑํ๊ณ ์ฌ์ง์ ์ค๋ช ์ ์๋ฒ ๋ฉํ๋ ๋ฐฉ์์ ๋๋ค ์ ๊ฐ ์๋ํด๋ดค๋ ๋ฐฉ๋ฒ๋ค ์ค์์๋ ๊ฐ์ฅ ํจ๊ณผ๊ฐ ์ข์์ต๋๋ค.
- 0
- 1
- 10
Q&A
๋ฌธ์ ์ ์ฒ๋ฆฌ ๊ณ ๋ฏผ
์๋ ํ์ธ์, ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. RAG์ ํต์ฌ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ ๋ฌํ๋๋ ์ธ๋ฐ์, ์ง๋ฌธํ์ ๋ด์ฉ์ ๋ต๋ณ์ ๋๋ ค๋ณด์๋ฉด๋งํฌ๋ค์ด ํ์์ผ๋ก ๊ฐ๋ค๋ฉด ์ ์งํ๋ ํธ์ด ์ข์ต๋๋ค. 1.2 , 1.2.1 ๊ณผ ๊ฐ์ ๊ตฌ๋ถ์ด ๋ฌธ์์ ํ์์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ๋จ๊ฒจ๋๋ ํธ์ด ์ข์ต๋๋ค. ์๋์ฒ๋ผ ์์ ํด์ฃผ์๋ฉด ๋ ์ข์ต๋๋ค ## 1.2 ํ๋ฉด ์ค๋ช ### 1.2.1 ๊ฐ์ - ์ด ํ๋ฉด์ ์ฌ์ฉ์๊ฐ ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ฉด์ ๋๋ค. ### 1.2.2 ํ๋ฉด ์์น ์๋จ ๋ฉ๋ด > ์ ๋ฌด ๊ด๋ฆฌ > ์ฒ๋ฆฌ ํ๋ฉด ### 1.2.3 ์ฒ๋ฆฌ ์ ์ฐจ 1) ํญ๋ชฉ ์ ํ 2) ์ ์ฅ ๋ฒํผ ํด๋ฆญ ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ์์ผ๋ก ๊ฐ๋ฅํ์๋ค๋ฉด ๋ ์ข์ต๋๋ค ## 1.2 ํ๋ฉด ์ค๋ช ### 1.2.1 ๊ฐ์ - ์ด ํ๋ฉด์ ์ฌ์ฉ์๊ฐ ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ฉด์ ๋๋ค. ## 1.2 ํ๋ฉด ์ค๋ช ### 1.2.2 ํ๋ฉด ์์น ์๋จ ๋ฉ๋ด > ์ ๋ฌด ๊ด๋ฆฌ > ์ฒ๋ฆฌ ํ๋ฉด ## 1.2 ํ๋ฉด ์ค๋ช ### 1.2.3 ์ฒ๋ฆฌ ์ ์ฐจ 1) ํญ๋ชฉ ์ ํ 2) ์ ์ฅ ๋ฒํผ ํด๋ฆญ 1.2.2์ 1.2.3์ 1.2์ ๋ด์ฉ์ ๋ฃ์ด์ฃผ๋ฉด์, ์ด๋ค ํ๋ฉด์ ๋ํ ๋ด์ฉ์ธ์ง๋ฅผ ๋ถ์ฐ์ค๋ช ํด์ ๋ ์ข์ context๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.- ์ ๊ฐ์ ๊ธฐํธ๋ ๋จ๊ฒจ๋๋ ํธ์ด ์ข์ต๋๋ค. ์ผ๋ฐ ์ค๊ธ๋ก๋ ํ ์คํธ๋ค์ ๊ด๊ณ๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.์๋จ ๋ฉ๋ด > ์ ๋ฌด ๊ด๋ฆฌ > ์ฒ๋ฆฌ ํ๋ฉด์ ๊ฒฝ์ฐ์๋ ์ฒ๋ฆฌ ์์์ depth๋ฅผ ํ์ธํ ์ ์์ง๋ง์๋จ ๋ฉ๋ด ์ ๋ฌด ๊ด๋ฆฌ ์ฒ๋ฆฌ ํ๋ฉด์ด๋ ๊ฒ ๋ณด๋ฉด ์ด๋ค ๊ด๊ณ๊ฐ ์๋์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค1, 2 ๋ฒ์์ ๋ต๋ณ์ด ๋์์ ๊ฒ ๊ฐ์๋ฐ์, ์ถ๊ฐํ์๋ ๋ฐฉํฅ์ ์ถ์ฒ ๋๋ฆฝ๋๋ค
- 0
- 1
- 26
Q&A
๊ฐ์์ ์ฑ ๊ด๋ จ ์ง๋ฌธ
์๋ ํ์ธ์! ์ฑ ์ ๊ด์ฌ ๋ณด์ฌ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค PART II LangChain์ ํ์ฉํ RAG ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ ๊ฐ ๊ฐ์ ๋ด์ฉ๊ณผ ๋ง๋ ๋ถ๋ถ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค
- 0
- 1
- 24
Q&A
3.6 human_in_the_loop 3rd case
์๋ ํ์ธ์! ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค.TL;DRํต์ฌ๋ถํฐ ๋ง์๋๋ฆฌ๋ฉด, case 3(update_tool)์ "๋๊ตฌ ์์ฒด๋ฅผ ๋ฐ๊พธ๋ ๊ฒ"์ด ์๋๋ผ "๋๊ตฌ ํธ์ถ์ ๊ฑด๋๋ฐ๊ณ , ์ฌ๋์ด ์ง์ ๋๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๊ฒ"์ ๋๋ค.์ฝ๋๋ฅผ ๋ค์ ๋ณด์๋ฉด:if review_action == 'update_tool': updated_tool_message = { 'tool_call_id': tool_call['id'], 'name': tool_call['name'], 'role': 'tool', 'content': review_data # ์ฌ๋์ด ์ง์ ์ ๊ณตํ๋ "๊ฒฐ๊ณผ๊ฐ" } return Command(goto='agent', update={'messages': [updated_tool_message]})์ฌ๊ธฐ์ ๋ ๊ฐ์ง๋ฅผ ํ์ธํ ์ ์๋๋ฐ์goto='agent'tools ๋ ธ๋๊ฐ ์๋๋ผ ๋ฐ๋ก agent๋ก ๊ฐ๋๋ค. ์ฆ, ์ค์ ๋ก ๋๊ตฌ๋ฅผ ์คํํ์ง ์์ต๋๋ค.role: 'tool'์ธ ๋ฉ์์ง๋ฅผ ์ง์ ๋ง๋ค์ด์ ์ฝ์ ์ ํ๊ฒ ๋๋๋ฐ, ๋ง์น ๋๊ตฌ๊ฐ ์คํ๋ ๊ฒ์ฒ๋ผ LLM์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌํ๋ ๊ฐ์ง ToolMessage์ ๋๋ค.์ด ํจํด์ ์๋๋ ์ด๋ ์ต๋๋ค: AI๊ฐ ์๋ชป๋ ๋๊ตฌ๋ฅผ ์ ํํ์ ๋, ์ฌ๋์ด "์ด ๋๊ตฌ ๋ง๊ณ ์น์์ ๊ฒ์ํด์ค"๋ผ๊ณ ์์ฐ์ด๋ก ํผ๋๋ฐฑ์ ์ฃผ๋ฉด, ๊ทธ ํผ๋๋ฐฑ ์์ฒด๊ฐ ToolMessage์ content๋ก ๋ค์ด๊ฐ์ agent๊ฐ ๋ค์ ํ๋จํ ์ ์๊ฒ ๋๋ ๊ฒ์ ๋๋ค.์ค์ ์์์์๋ ํ์ธํ ์ ์์ต๋๋ค:Command(resume={"action": "update_tool", "data": "arxiv๋ง๊ณ web์์ ๊ฒ์ํด์ฃผ์ธ์"})์ฌ๊ธฐ์ arxiv๋ง๊ณ web์์ ๊ฒ์ํด์ฃผ์ธ์ ๋ผ๋ ๋ฌธ์์ด์ด ToolMessage์ content๊ฐ ๋์ด agent์๊ฒ ์ ๋ฌ๋๊ณ , agent๋ ์ด๋ฅผ ๋ณด๊ณ ๋ค์์ duckduckgo_search๋ฅผ ํธ์ถํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ง๋ฌธํ์ ๊ฒ์ฒ๋ผ ai_message์ tool_calls์์ tool name์ ์ง์ ๋ฐ๊พธ๋ฉด ์ ๋๋ ๊ฒ์ธ์ง ์๋ฌธ์ด ๋ค ์ ์๋๋ฐ์,๊ธฐ์ ์ ์ผ๋ก ๊ฐ๋ฅ์ ํ์ง๋ง, ์ค์ฉ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ์์ต๋๋ค:tool_name์ ๋ฐ๊พธ๋ฉด args๋ ํจ๊ป ๋ฐ๊ฟ์ผ ํฉ๋๋ค. ๊ฐ ๋๊ตฌ๋ง๋ค ํ๋ผ๋ฏธํฐ ์คํค๋ง๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ์์์ ์งํํ ์ผ์ด์ค์ ๊ฒฝ์ฐ arxiv ๋๊ตฌ์ duckduckgo_search ๋๊ตฌ์ ์ธ์ ํ์์ด ๋์ผํ๋ฐ์(๋ชจ๋ query๋ฅผ ์ฌ์ฉํจ), ๋ง์ฝ ์คํค๋ง๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.์ฌ๋์ด ๋๊ตฌ ์ด๋ฆ๊ณผ ์ ํํ ์ธ์๊น์ง ์์์ ์ง์ ํด์ผ ํ๋ฏ๋ก human-in-the-loop์ ํธ์์ฑ์ด ํฌ๊ฒ ๋จ์ด์ง๋๋ค.๋ฐ๋ฉด case 3 ๋ฐฉ์์ ์ฌ๋์ด ์์ฐ์ด๋ก ํผ๋๋ฐฑ๋ง ์ฃผ๋ฉด, agent(LLM)๊ฐ ์์์ ์ ์ ํ ๋๊ตฌ์ ์ธ์๋ฅผ ๋ค์ ์ ํํ๋ฏ๋ก ํจ์ฌ ์ ์ฐํฉ๋๋ค.
- 0
- 1
- 30
Q&A
Notion ๊ฐ์ ์๋ฃ๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
oopy์์ ์ผ์์ ์ผ๋ก ์๋ฌ๊ฐ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค! ๋ค์ ํ ๋ฒ ํ์ธํด์ฃผ์ค ์ ์์๊น์? https://www.kangsium.com/agent-use-cases-with-n8n-and-langgraph
- 0
- 1
- 41
Q&A
RAG ๋ฐฐํฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค
์๋ ํ์ธ์, ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. ๋ต๋ณ์ ๋๋ ค๋ณด์๋ฉด๊ฐ์์์ Streamlit๊ณผ LangChain์ ํ ๊ณณ์์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋น ๋ฅธ ํ๋กํ ํ์ดํ ๋๋ฌธ์ ๋๋ค ๊ฐ์์์๋ ํ์ด์ฌ ์ฝ๋ ํ๋๋ก UI์ ๋ก์ง์ ๋ชจ๋ ์ฒ๋ฆฌํ ์ ์์ด ๋ก์ง ๊ฒ์ฆ์ ์ต์ ํ๋์ด ์์ต๋๋ค. ํ์ ์์๋ ์ง๋ฌธํ์ ๋๋ก ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ์๊ฒฉํ ๋ถ๋ฆฌํฉ๋๋ค. Streamlit์ ๋ด๋ถ ์ด์ ํด์ด๋ ๊ฐ๋จํ ๋ฐ๋ชจ์ฉ์ผ๋ก๋ง ์ฐ๊ณ , ์ค์ ์๋น์ค๋ React/Next.js์ FastAPI/Spring Boot ์กฐํฉ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ๊ฒฝํ์ ํ๋กํ ํ์ ์ด๋ผ๊ณ Streamlit์ ํ์ฉํด์ ๋ฐฐํฌ๋ฅผ ํ๋ฉด, ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ด ๋์ด๋๊ณ , streamlit์ streamlit๋ต์ง ์๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค ์ด์์ ์ธ ์ํ์ ์๋น์ค๋ผ๋ฉด RAG ๋ก์ง์ ๋ณ๋์ 'AI ๋ง์ดํฌ๋ก์๋น์ค(FastAPI ๋ฑ)'๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ด ๋ง๊ฒ ์ง๋ง, ์ ๋ monolithic์๋ฒ๋ก ์ด์ํด๋ ๋ฌด๊ดํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ธ์ฆ์ Spring Boot๋ก ๊ผญ ํด์ผํ๋ค๋ฉด ์๋ฌด๋๋ AI ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ํ์ด์ฌ์ผ๋ก ๋ง์ด ๊ตฌ์ฑ๋์ด์์ผ๋ ๋ณ๋์ ์๋น์ค๋ฅผ ๋์ฐ๋๊ฒ ๊ฐ๋ฐํ ๋ ํธํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ง์ํ์ ๊ฒ์ฒ๋ผ FastAPI๋ก ์ธ์ฆ์ ํตํฉํ์ ๋ค๋ฉด ํ๋๋ก ์ถฉ๋ถํ ๊ฐ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. Qdrant๋ ์ ๋ ์ฌ์ฉํด๋ณธ์ ์ ์๋๋ฐ Rust๊ธฐ๋ฐ์ด๋ผ ๋น ๋ฅด๋ค๊ณ ํ๋ค์, ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค. GraphRAG๋ ์ ๊ฐ ํ์ ์์ ์ฌ์ฉํ ๊ฒฝํ์ด ์์ด์ ๊ฐ์๋ก ์ถ์ํ๊ธด ์ด๋ ค์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ถ๊ฐ๋ก ๊ถ๊ธํ์ ๋ถ๋ถ์ด ์์ผ์๋ฉด ๋ง์ ๋ถํ ๋๋ฆฝ๋๋ค
- 0
- 1
- 42
Q&A
๊ฐ์ ๋ด์ฉ๊ณผ๋ ๋ณ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์์ต๋๋ค
์๋ ํ์ธ์! ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. LLM์ ํ์ฉํ๋ค๋ฉด ์ ํ ๋ฌธ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์ ์ NLP๋ฅผ ํ์ตํ ๋๋ ๊ฐ์ ๋ถ์์ด๋, ๋ผ๋ฒจ๋ง๊ฐ์ ํ์คํฌ๊ฐ ์๋นํ ์ด๋ ค์ ๋๋ฐ, LLM์ผ๋ก ํ์๋ฉด ์ ์๊ฐ์ ๊ฑฐ์ ๋ชจ๋ ์ผ์ด์ค๋ฅผ ์ปค๋ฒํ ์ ์์ง ์์๊น ์ถ์ต๋๋ค. ๋ง์ฝ ํ์ต ์ธก๋ฉด์์ ์ ๊ทผํ์ ๋ค๋ฉด GPT-5, Claude Opus 4.5, Gemini 3 ๊ณผ๊ฐ์ ์์ฉ ๋ชจ๋ธ๋ณด๋ค๋ google-bert/bert-base-multilingual-cased๊ฐ์ ๊ฑธ ํ์ธํ๋ํด์ ์๋ํด๋ณด์๋๊ฒ ์ด๋จ๊น ์ถ๋ค์. ๋ค๋ง ์์ (?) ๋ค๊ตญ์ด๋ก ๊ฐ๋ค๋ฉด ๊ธฐ๋ํ์๋ ๋งํผ์ ์ฑ๋ฅ์ ๋์ค์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค
- 0
- 2
- 35
Q&A
๋ณ๋ ฌ ์ฒ๋ฆฌ ์ค retrieve ๊ด๋ จ ๊ถ๊ธํ ์ฌํญ
์๋ ํ์ธ์! ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. ์ง๋ฌธํด์ฃผ์ ๋ด์ฉ์ ํ๋กฌํํธ ์์ฑ์ ๊ดํ ํ์ด๋ผ๊ณ ๋ง์๋๋ฆด ์ ์๋๋ฐ์(์ฌ์ง)์ฃผํ์ ๋ํ ์ธ๊ธ์ ์ฐ์ ํ ๋, ๊ณต์ ์ก์ด๋ผ๋ ๊ฐ๋ ์ด ๋ค์ด๊ฐ๊ฒ ๋๋๋ฐ์, ์ธ๊ธ์ ๋ด๋ ์ฌ๋์ด ๋ณด์ ํ ์ฃผํ์ ์๊ฐ ๊ณต์ ์ก์ ์ํฅ์ ๋ฏธ์น๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ํ๋กฌํํธ์ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ช ์๋ฅผ ํด์ LLM์ด ๋ ์ ํํ ๋ต๋ณ์ ์์ฑํ๊ฒ ํ๊ธฐ ์ํจ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค
- 0
- 1
- 43
Q&A
query ์ ๋ํ answer ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค์ง ์์ต๋๋ค.
Context๋ง ์๊ณ ๋ต๋ณ์ด ๋์ค์ง ์๋ ์ํฉ์ธ๊ฐ์? ์ฝ๋ ์ ์ฒด๋ฅผ ์ฌ๋ ค์ฃผ์๋ฉด ๋๋ฒ๊น ์ ์๋ํด ๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค~
- 0
- 2
- 58
Q&A
์ฌ๋๊ณผ ๊ด๋ จ๋ ํํ์ด ์๋๋ฐ rewrite ๋ก ์ด๋ํ์ง ์๋๊ฒฝ์ฐ
์๋ ํ์ธ์, ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. GPT-4o์ ๋์ผํ ๋ชจ๋ธ์ ์ฌ์ฉํ๋๋ผ๋ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๋ ๋ด๋ถ ๊ฐ์ค์น ๋ณํ(Model Drift)๋ก ์ธํด ์ถ๋ ฅ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ํ์ค์ ์ผ๋ก ๋ชจ๋ธ์ ๋ด๋ถ ํ๋ จ ๋ฐฉ์์ ํ์ ํ๊ธฐ๋ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ํ์ฌ๋ก์๋ ํ๋กฌํํธ ๊ณ ๋ํ๋ฅผ ํตํด ๋์ํ๋ ๊ฒ์ด ๊ฐ์ฅ ํจ์จ์ ์ ๋๋ค.ํ์ฌ rewrite์ ์ฌ์ฉ๋๋ ํ๋กฌํํธ๋ฅผ ์์ ํ์ ์ ๊ฒ์ ์ ํ๋๋ฅผ ๋์ผ ์ ์๋๋ก '๊ฑฐ์ฃผ์'์ ๊ฐ์ ํต์ฌ ํค์๋๋ฅผ ๋ช ์์ ์ผ๋ก ํฌํจํ์ฌ ํ๋กฌํํธ๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ํ ์คํธํด ๋ณด์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค!
- 0
- 1
- 34




