- Python ํ๋ก๊ทธ๋๋ฐ
- Python ์ ์ฒ๋ฆฌ ๋ฐ ์๊ฐํ
- ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋
- ์์ฐ์ด ๋ฐ ์์ฑ ๋ฐ์ดํฐ ํ์ฉ ๋ฐ ๋ชจ๋ธ ๊ฐ๋ฐ
- ์์ฑ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ TTS์ STT ๋ชจ๋ธ ๊ฐ๋ฐ
- ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ์ ํ์ฉํ ์์ฐ์ด ์์ฑ
- ํ๋กฌํํธ ์์ง๋์ด๋ง
- LangChain ํ์ฉํ๊ธฐ
- RAG ๊ธฐ๋ฐ ์์ฑํ AI ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ
- LLMOps (์ ๊ท ์ถ๊ฐ)
- ์ด๋ก ์ ๋๋ฌด ๊น๊ฒ ๋ค์ด๊ฐ๊ธฐ๋ณด๋ค โ์ด๋ป๊ฒ ์ฐ๋์งโ ์ค์ฌ, ์ค์ต ์์ฃผ, API ํ์ฉ ์ค์ฌ
- ์ด ๊ณผ์ ์ AI ๊ฐ Teacher ์ด๊ณ , ๊ฐ์ฌ๋ ๋ง๊ทธ๋๋ก ์ค๋ฌด ์ค์ฌ์ Tutor ์.
- ์๊ธฐ 1 ~ 3 ์ ๊ณผ๋ชฉ์ ๊ธฐ๋ณธ PL ์ฐ์ต๊ณผ ๋จ์ด ์ดํด ์ค์ฌ(์ทจ์ ์ธํฐ๋ทฐ ์ ๋์ ๋ชฉ์ )
- Python ์ฝ๋ ๋ฐฑ์๋ + ๋ฐ๋๋ผ html FE ์ ๋ฉํฐ๋ชจ๋ฌ Serving
- ๋ชจ๋ธ ํธ์ถ/ํ์ดํ๋ผ์ธ ์ค๊ณ, ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ, On Prem ํ๊ฒฝ ๊ธฐ๋ฐ ( Docker, k8s ์์ฉ )
- LangChain/RAG ์ํคํ ์ฒ ์ดํด
- Open AI ๊ธฐ๋ฐ Codex ์ฐ๋์ผ๋ก No Code ์ค์ฌ์ผ๋ก py ํ์ผ ์์ฑ ๋ฐ ๊ด๋ จ py ํ์ผ์ API ๋ก ์๋นํ ์ ์๋๋ก ๊ตฌ์ฑ
- ๊ฐ์ฌ, ํ์๊ฐ ํ์ต์ ํ์ํ ๋ด์ฉ์ git ์ผ๋ก Pull Request ํ์ฌ ๋ณธ repo ์ RAG ์ ๊ตฌ์ฑ
- Slack ์ ํตํ ํด๋์ค ์ฐธ์ฌ์ ๊ฐ์ ์ ๋ณด ๊ณต์ , ์ด 500๊ฐ๋ก ๋ถ๋ฅํ ๊ฐ ํด๋์ค(๋งค ํ์ต ์๊ฐ ๋จ์) ๋ณ 10~20๋ถ๊ฐ ๊ฐ์ฌ ์ง๋, ์ดํ ๊ฐ์ธ๋ณ ์ค์ต์งํ
- ํ์ ๊ฐ์ ๊ฐ์ธ๋ณ repo ๋ฅผ 20๊ฐ ์ด์ ๊ตฌ์ฑ ํ์ฌ, ๋น๋์ , ๊ฐ์ธ ์ทจ์ ์ฉ ์ฆ์ ์ผ๋ก ์ฌ์ฉ
- ๊ธฐ๋ณธ example ์ฑ๊ฒฉ์ py ์คํ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ, ๊ฐ์ ๊ฒฐ๊ณผ์ ๋ํด QnA๋ฅผ AI ๊ธฐ๋ฐ ์ง์, ๊ฒ์ฆ ๋ฐ md ํ์ผ ํฌ๋งท์ผ๋ก ์ ๋ฆฌ
- Agent ์ ์ฌ๊ธฐ๋ฅ, ์ฑ๋ด ์ ์ฌ๊ธฐ๋ฅ ํ์ฉ์ ์ํด fastapi , uvicorn , html ๋ก ์๋น ํ ์คํธ
- ๋น์ ๊ณต, ๋ฏธ์ทจ์ , PL ๊ฒฝํ ์๋ ์ด๊ธ์ ๊ฒฝ์ฐ ๋ฌธ์ ์์ฃผ, Python ์์ฃผ์ ์์ฑ๊ณผ API ์ฌ์ฉ๋ฒ ์์ฃผ ๋ฌธ์ ์ ๋ฆฌ
- ์ ๊ณต, ์ทจ์ ๋ฐ ์ค๋ฌด ์ ๊ฒฝํ์๋ ์์ ์ธ ์ ์ฌ git repo ๋ก ๊ฐ๋ณ ํ์ต - AI ๋ฐ์ด๋ธ ์ฝ๋ฉ ํน์ No code ์ค์ฌ์ผ๋ก ์คํ ๋ชจ๋ ๋จ์๋ก ๊ฐ์ธ๋ณ ํ ์คํธ
- ์๋ฅผ๋ค์ด ํ๋กฌํํธ๋ก ์ง์ํ ๋ " ๋๋ javascript ๋ ์กฐ๊ธ ๊ณต๋ถํด์ ๋ฌธ๋ฒ์ ์๋๋ฐ, ํ์ด์ฌ์ ์ name == "main" ์ด๋ ๊ฒ ์ธ๋๋ฐ๋ฅผ ๋๋ฒ ์ฌ์ฉํด? " ๋ผ๋ ์์ผ๋ก ์ง์ ๋ฐ ๋ต๋ณ์ ๋ฉ๋ชจ
- ์๋ฅผ๋ค์ด ํ๋กฌํํธ๋ก ์ง์ํ ๋ " example1.py ์ ๊ฒฐ๊ณผ๊ฐ ์ด์ํ๋ฐ, ํด๋น ํด๋์ค ๋ด์ฉ์ ๋ง๊ฒ, ๋ค์ ์์ฑํด์ ์คํํ๊ณ , ๋ชจ๋ ๋ผ์ธ์ ์ฃผ์์ผ๋ก ์์ธํ ์ค๋ช ๋ฌ์์ค " ๋ผ๋ ์์ผ๋ก ์์ ํ๋ฉด์ ๋ด์ฌํ(๋ณธ์ธ๋ง์ knowledge์ ๋ง๋๋ก ๋ฉ๋ชจ)
- ๋ชจ๋ ๋ฌธ์๋ MarkDown md ํฌ๋งท์ผ๋ก ์์ฑ๋๋ฉฐ, ๋ชจ๋ ์ฐ์ถ๋ฌผ์ git repo ๋ก ์ ์ฅ, ๋ชจ๋ ์์ ์ docker ๋ก ๊ตฌ์ฑ, docker hub ๋ก ๊ณต์
- VS Code ์ฌ์ฉ ๋ฐ ๊ฐ git repo ๋ง๋ค github actions ๋ฅผ ํตํ ํธ๋ฆฌ๊ฑฐ ๊ตฌ์ฑ
- ํด๋ผ์ฐ๋๋ AWS ๊ธฐ๋ฐ์ผ๋ก ์๋น, ๋ฐฐํฌ, AWS ML ๋ฆฌ์์ค ์ฌ์ฉ
- ์ฐ์ํ์์ ํ๊ฐ๋ ๊ฐ์ธ๋ณ๋ก ๋งค์ผ ์ฐ์ถ๋ฌผ์ ํด๋ 10k byte ์ด์์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๊ฐ๋ ์์ ์ธ ์ฑ์ค์ฑ์ผ๋ก ํ๊ฐ.
์ต์ข
๋ชฉํ: Agent/ ํด๋์ ์ค์ ์์คํ
๊ตฌ์ถ์ ๋จ๊ณ๋ณ๋ก ์ฐ์ตํ๋ ๊ฐ๋ฐ์ ์ค์ฌ ์ปค๋ฆฌํ๋ผ (540๊ฐ ๊ณ ์ ํ์ต์ฃผ์ )
์ฒจ๋ถ ์ปค๋ฆฌํ๋ผ์ ์ ๊ท๊ต๊ณผ 520์๊ฐ + LLMOps 20์๊ฐ ๊ธฐ์ค์ผ๋ก ์ธ๋ถํํ ๊ต์ก ์ ์ฅ์์ด๋ฉฐ, 540๊ฐ ํด๋์ค์ ํ์ต์ฃผ์ ๋ฅผ ๋ชจ๋ ๊ณ ์ ํ๊ฒ ๊ตฌ์ฑํ์ต๋๋ค.
class001๋ถํฐ class500์ ๊ธฐ์กด ์ ๊ท๊ต๊ณผ, class501~class520์ LLMOps ์ฌํ ๊ณผ์ , ํ๋ก์ ํธ ๊ณผ๋ชฉ์ ๋ฃจํธ์ 3๊ฐ ๋
๋ฆฝ ์ฑ(VoiceModelBuilder, PersonaLLMResponder, PersonaKnowledgeCustomizer)์ผ๋ก ์ด์ํฉ๋๋ค.
- 540๊ฐ ์ฐจ์
classXXX.md์๋ ์ ๋น (class001~class520) - ๊ต๊ณผ๋ชฉ/ํ์ต์ฃผ์ ์ฉ์ด ํด์ค(๋ฌธ๋ฒ, ํ๊ธยทํ์, ์์ด, ๊ธฐ์ ์ค๋ช ) ๋ฐ์
- ๊ฐ ์ฐจ์๋ณ ์๋ก ๋ค๋ฅธ Mermaid Flowchart ์์ฑ
- ๊ฐ ์ฐจ์๋ณ Flow๋ฅผ **PNG ์บก์ฒ ์ด๋ฏธ์ง(
classXXX_flow.png)**๋ก ์์ฑ ๋ฐ md ์ฐธ์กฐ ์ฐ๊ฒฐ - ์์ /ํด์ฆ/๋ฐ์ฒ/์น ์๋น ํ์ผ ์ฒด๊ณ ์ ๋น
- Language:
Python 3.10+(๊ถ์ฅ 3.11) - Data/ML:
numpy,pandas,matplotlib,scikit-learn - API/Serving:
fastapi,uvicorn,pydantic - AI/LLM:
langchain,langchain-community,langgraph - Speech:
pyttsx3,SpeechRecognition - Utility:
requests,Pillow - Docs:
Markdown,Mermaid - Dev Tools:
VS Code,Git,GitHub,ChatGPT,Codex - Optional Infra:
Docker,Docker Compose(RAG/LLM ์ค์ต์ฉ)
- ๊ณผ๋ชฉ๋ณ ์์ ํด๋(์๋ฌธ camelCase) ์๋์
classXXX/๋ฐฐ์น classXXX/๊ธฐ๋ณธ ๊ตฌ์ฑ(๋ชจ๋ ๊ณผ๋ชฉ ๊ณตํต)classXXX.md: ์๊ธฐ์ฃผ๋ ํ์ต ๊ฐ์ด๋classXXX_flow.png: ์ฐจ์ ํ๋ฆ๋ PNGclassXXX.py: ์คํ ๋ฐ์ฒclassXXX_example1.py~classXXX_example5.py: ๋จ๊ณํ ์ค์ต ์์ classXXX_solution.py: ์ ๋ต/๋ ํผ๋ฐ์ค ์ฝ๋classXXX_quiz.html: ํด์ฆinstructor_notes.md: ๊ฐ์ฌ์ฉ ๋ ธํธ
- ์น ์ค์ต ๊ตฌ์ฑ(
pyBasics์ ์ธ ๊ณผ๋ชฉ ๊ณตํต)server.py: FastAPI ๋ฐฑ์๋(์์ ์คํ/์์ค ์กฐํ API)client.html: Vanilla JS + Tailwind ๊ธฐ๋ฐ ์ค์ต UI
- ๋ณด์กฐ/์ด์ ํ์ผ
tools/: ์ฝํ ์ธ ์ฌ์์ฑ/๊ฒ์ฆ ์คํฌ๋ฆฝํธdocs/: ์ด์ ๊ฐ์ด๋/์ฑ์ ๊ฐ์ด๋/๋ถ๊ฐ ๋ฌธ์curriculum_index.csv: ์ ์ฒด ์ฐจ์ ์ธ๋ฑ์คVoiceModelBuilder/,PersonaLLMResponder/,PersonaKnowledgeCustomizer/: ํ๋ก์ ํธ ๋ ๋ฆฝ ์ฑ(FastAPI + Vanilla JS + Docker)project/: ํ๋ก์ ํธ ์ธ๋ฑ์ค/๋งค๋ํ์คํธ
| ๊ณผ๋ชฉ๋ช | ํด๋๋ช (camelCase) | class ๋ฒ์ | ์์ธ ํ์ต ๋ด์ฉ |
|---|---|---|---|
| Python ํ๋ก๊ทธ๋๋ฐ | pyBasics |
class001~class040 | ๋ณ์/์๋ฃํ/ํจ์ ๊ธฐ์ด ์ดํ, ์น ํ๋ก ํธ์๋ ๊ธฐ์ด(HTML/CSS/Vanilla JS), Tailwind CSS UI ๋ชจ๋ ์ ์, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ, API ๊ฐ๋ /HTTP, FastAPIยทUvicorn ์๋ฒ ๊ตฌํ, OpenAPI ๋ช ์ธ ๋ฌธ์ํ๊น์ง ๊ฐ๋ฐ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ |
| Python ์ ์ฒ๋ฆฌ ๋ฐ ์๊ฐํ | dataVizPrep |
class041~class080 | ๋ฐ์ดํฐ ๋ถ์ ๊ฐ์๋ถํฐ NumPy/Pandas, ๋ฐ์ดํฐ ์ ์ ยท๊ฐ๊ณต, EDA, Matplotlib/Seaborn ์๊ฐํ, ํตํฉ ์ค์ต๊น์ง ๋จ๊ณํ ๊ตฌ์ฑ |
| ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋ | mlDeepDive |
class081~class128 | ์ง๋ํ์ต, ํ๊ท/๋ถ๋ฅ, ๋ชจ๋ธ ํ๊ฐ, ํน์ฑ๊ณตํ, ๊ณผ์ ํฉ ์ ์ด, ์ ๊ฒฝ๋ง ๊ธฐ์ด์ ์ค์ ์์ธก ํ๋ก์ ํธ |
| ์์ฐ์ด ๋ฐ ์์ฑ ๋ฐ์ดํฐ ํ์ฉ ๋ฐ ๋ชจ๋ธ ๊ฐ๋ฐ | nlpSpeechAI |
class129~class224 | ํ ์คํธ ํ ํฐํ/์๋ฒ ๋ฉ๊ณผ ์์ฑ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ฅผ ํตํฉํด NLPยทSpeech ๋ชจ๋ธ ํ์ดํ๋ผ์ธ ์ค๊ณ |
| ์์ฑ ๋ฐ์ดํฐ ํ์ฉํ TTS์ STT ๋ชจ๋ธ ๊ฐ๋ฐ | speechTtsStt |
class225~class288 | ๋ฐํ/ํ์ ๋ฐ์ดํฐ ๊ตฌ์ฑ, ์ค๋์ค ํน์ง ์ถ์ถ, STTยทTTS ๋ชจ๋ธ ๊ตฌ์ฑ/ํ๊ฐ, ํ์ง ๊ฐ์ ๋ฃจํ ์ค์ต |
| ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ์ ํ์ฉํ ์์ฐ์ด ์์ฑ | llmTextGen |
class289~class352 | LLM ๊ตฌ์กฐ/Transformer/ํ ํฐยท์ปจํ ์คํธ, ํ๋ฅ ๊ธฐ๋ฐ ์์ฑ(temperature/top-k/top-p), APIยท์คํ๋ชจ๋ธยทํด๋ผ์ฐ๋/๋ก์ปฌ ์ถ๋ก , ์์ฑ ์์ (์์ฝยทQ&Aยท๋ฒ์ญยท๋ฌธ์ยท์ฝ๋ยท์ถ์ถ), ํ์ง ์ ์ด(JSONยทํคยท๊ธธ์ดยท์ค๋ฅ ์ฒ๋ฆฌ), ํ๊ณ/์ฃผ์(์ฌ์ค์ฑยท์ต์ ์ฑยท๋ณด์ยท๊ฒ์ฆ)๊น์ง ํตํฉ ์ค์ต |
| ํ๋กฌํํธ ์์ง๋์ด๋ง | promptEng |
class353~class392 | ์ญํ /๋งฅ๋ฝ/์ถ๋ ฅํ์ ์ค๊ณ, ํ ํ๋ฆฟํ, ํ๊ฐ ๊ธฐ์ค ์๋ฆฝ, ์ค์ ํ๋กฌํํธ ํ๋ ์ ๋ต |
| Langchain ํ์ฉํ๊ธฐ | langChainLab |
class393~class448 | ์ฒด์ธ ๊ตฌ์ฑ, PromptTemplate/OutputParser, ๋ฉ๋ชจ๋ฆฌ/๋๊ตฌ ์ฐ๊ฒฐ, LangGraph ์ํ ํ๋ฆ, LangSmith ์ถ์ ๊ธฐ๋ฐ ์๋น์คํ ์ํฌํ๋ก์ฐ ๊ตฌํ |
| RAG(Retrieval-Augmented Generation) | ragPipeline |
class449~class500 | ๋ฌธ์ ๋ก๋ฉ/์ฒญํฌ, ์๋ฒ ๋ฉยท๋ฒกํฐ๊ฒ์, ๊ทผ๊ฑฐ ๊ฒฐํฉ ์๋ต, ์ถ์ฒ ๊ธฐ๋ฐ ๊ฒ์ฆ๊น์ง RAG ์ ์ฒด ํ์ดํ๋ผ์ธ ๊ตฌํ |
| LLMOps | llmOps |
class501~class520 | LLMOps ๊ฐ์, ํ๋กฌํํธ ๋ฒ์ ๊ด๋ฆฌ, LLM ํ๊ฐยทํ์ง๊ด๋ฆฌ, ๋ชจ๋ํฐ๋งยท๊ด์ธก์ฑ, ๋ฐฐํฌ ์๋ํ(CI/CDยทBlue-GreenยทCanary)๊น์ง Lab ์คํ์ผ ์ค์ต |
| ํ๋ก์ ํธ ์ฑ | VoiceModelBuilder, PersonaLLMResponder, PersonaKnowledgeCustomizer |
๋ ๋ฆฝ ์ฑ 3์ข | ์์ฑ ๋ชจ๋ธ ์์ฑ, PERSONA LLM ๋ต๋ณ, ์ฌ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ต๋ณ ์ปค์คํ ์ ๊ฐ๊ฐ ๋ ๋ฆฝ ์๋น์ค๋ก ์ค์ต |
| ๋จ๊ณ | ํต์ฌ ๋ด์ฉ | class ๋ฒ์ |
|---|---|---|
| 1. ๋ฐ์ดํฐ ๋ถ์ ๊ฐ์ | ๋ฐ์ดํฐ ๋ถ์ ํ๋ก์ธ์ค, ์ ํ/๋น์ ํ, CSVยทExcelยทJSON ๊ตฌ์กฐ, ๋ถ์์ฉ Python ์ํ๊ณ | class041~044 |
| 2. NumPy ๊ธฐ์ด | ๋ฐฐ์ด(Array), list vs ndarray, ๋ฒกํฐํ, ์ธ๋ฑ์ฑ/์ฌ๋ผ์ด์ฑ, ๊ธฐ์ด ํต๊ณ ์ฐ์ฐ | class045~048 |
| 3. Pandas ๊ธฐ์ด | Series/DataFrame, ๋ฐ์ดํฐ ๋ก๋ฉยท์ ์ฅ, ํ/์ด ์ ํ, ์กฐ๊ฑด ํํฐ๋ง, ์ ๋ ฌ, ๊ธฐ์ด ํต๊ณ | class049~052 |
| 4. ๋ฐ์ดํฐ ์ ์ | ๊ฒฐ์ธก์น ์ฒ๋ฆฌ, ์ค๋ณต ์ ๊ฑฐ, ํ์ ๋ณํ, ๋ฌธ์์ด ์ ๋ฆฌ, ๋ ์งํ ์ฒ๋ฆฌ, ์ปฌ๋ผ๋ช ์ ๋ฆฌ | class053~060 |
| 5. ๋ฐ์ดํฐ ๊ฐ๊ณต | ํ์๋ณ์, groupby, aggregation, merge/join, pivot table, ๋ฒ์ฃผํ ์ฒ๋ฆฌ | class061~068 |
| 6. EDA | ๋ถํฌ, ํ๊ท ยท์ค์๊ฐยทํ์คํธ์ฐจ, ์๊ด๊ด๊ณ, ํจํด ํ์, ๋ฌธ์ ์ ์ยท๊ฐ์ค ์ค์ | class073~076 |
| 7. ๋ฐ์ดํฐ ์๊ฐํ ๊ธฐ์ด | ์๊ฐํ ์์น, Matplotlib ๋ฌธ๋ฒ, line/bar/scatter/histogram, ํ๊ธ ํฐํธ, ์ ๋ชฉยท์ถยท๋ฒ๋ก | class069~072 |
ํ์ต ๋ชฉํ:
- LLM์ ๊ตฌ์กฐ์ ๊ฐ๋ ์ดํด
- ์์ฑํ AI๊ฐ ํ ์คํธ๋ฅผ ๋ง๋๋ ๋ฐฉ์ ์ดํด
- API ๋๋ ์คํ๋ชจ๋ธ ๊ธฐ๋ฐ ์์ฐ์ด ์์ฑ ์ค์ต
- ์๋น์คํ AI ๊ธฐ๋ฅ ๊ตฌํ ์ญ๋ ํ๋ณด
| ๋จ๊ณ | ํต์ฌ ๋ด์ฉ | class ๋ฒ์(์ฃผ์ ๋ชจ๋) |
|---|---|---|
| 1. LLM ๊ฐ์ | LLM ์ ์, ๊ธฐ์กด NLP ๋๋น ์ฐจ์ด, Transformer, ํ ํฐ/์ปจํ ์คํธ, ์ฌ์ ํ์ตยทํ์ธํ๋ | class289~295 (LLM ๊ฐ์) |
| 2. ์์ฐ์ด ์์ฑ ์๋ฆฌ | ๋ค์ ํ ํฐ ์์ธก, ํ๋ฅ ๊ธฐ๋ฐ ์์ฑ, temperatureยทtop-kยทtop-p, hallucination, ๋ฌธ๋งฅ ์ ์ง | class296~308 (ํ ํฐ/์ปจํ
์คํธ ์ดํด, ์์ฑ ํ๋ผ๋ฏธํฐ) |
| 3. LLM ํ์ฉ ๋ฐฉ์ | API ๊ธฐ๋ฐ, ์คํ์์ค ๋ชจ๋ธ, ํด๋ผ์ฐ๋/๋ก์ปฌ ์ถ๋ก , ๋น์ฉยท์ฑ๋ฅยท๋ณด์ ๊ณ ๋ ค | class334~346 (๋๋ฉ์ธ ์ ์ฉ ์๋๋ฆฌ์ค, API ์ฐ๋ ์ค์ต) |
| 4. ์์ฑ ์์ ์ ํ | ์์ฝ, ์ง์์๋ต, ๋ฒ์ญ, ๋ฌธ์ ์์ฑ, ์ฝ๋ ์์ฑ, ๋ถ๋ฅ/์ ๋ณด์ถ์ถ | class315~320 (์์ฝ/๋ถ๋ฅ/์ถ์ถ) |
| 5. ์ค์ต | ๊ธฐ๋ณธ ํ๋กฌํํธ ์์ฑ, ๋ฌธ์ ์์ฝ, ์ด๋ฉ์ผ/๋ณด๊ณ ์ ์ด์, ์ฑ๋ด ์๋ต, ๊ท์น ๊ธฐ๋ฐ vs LLM ๋น๊ต | class309~327 (ํ๋กฌํํธ ๊ธฐ๋ฐ ์์ฑ, ๋ํํ ์๋ต ์ค๊ณ) |
| 6. ํ์ง ์ ์ด | ์ถ๋ ฅ ํ์ ์ ์ด, JSON ์๋ต ๊ฐ์ , ๊ธธ์ด/ํค/์คํ์ผ ์ ์ด, ์ค๋ฅ ์๋ต ์ฒ๋ฆฌ | class321๋ํํ ์๋ต ์ค๊ณ, API/Agent ํตํฉ) |
| 7. ํ๊ณ์ ์ฃผ์์ฌํญ | ์ฌ์ค์ฑ ๋ฌธ์ , ์ต์ ์ฑ ํ๊ณ, ๋ณด์/๊ฐ์ธ์ ๋ณด, ํ๋กฌํํธ ๋ฏผ๊ฐ์ฑ, ์ค๋ฌด ๊ฒ์ฆ ํ์์ฑ | class328~333 (์์ ์ฑ/ํ๊ฐ ๊ด๋ฆฌ) |
ํ์ต ๋ชฉํ:
- RAG์ ํ์์ฑ๊ณผ ๊ตฌ์กฐ ์ดํด
- ์ธ๋ถ ๋ฌธ์๋ฅผ ๊ฒ์ํด์ LLM ๋ต๋ณ ํ์ง ๊ฐ์
- ๋ฒกํฐDB, ์๋ฒ ๋ฉ, ๊ฒ์ ํ์ดํ๋ผ์ธ ๊ฐ๋ ์ต๋
- ์ฌ๋ด ๋ฌธ์ Q&A ์์คํ ๊ตฌํ ์ญ๋ ํ๋ณด
| ๋จ๊ณ | ํต์ฌ ๋ด์ฉ | class ๋ฒ์(์ฃผ์ ๋ชจ๋) |
|---|---|---|
| 1. RAG ๊ฐ์ | ์ RAG๊ฐ ํ์ํ๊ฐ, LLM ๋จ๋ ํ๊ณ, ์ต์ /์ฌ๋ด ์ ๋ณด ํ์ฉ, ๊ฒ์+์์ฑ ๊ฒฐํฉ ๊ตฌ์กฐ | class449~454 (RAG ๊ฐ์) |
| 2. RAG ์ ์ฒด ๊ตฌ์กฐ | ๋ฌธ์ ์์ง, ๋ฌธ์ ๋ถํ , ์๋ฒ ๋ฉ ์์ฑ, ๋ฒกํฐ ์ ์ฅ, ๊ฒ์, ํ๋กฌํํธ ์ฃผ์ , ๋ต๋ณ ์์ฑ | class455~459 (๋ฌธ์ ์์ง ์ ๋ต) |
| 3. ์๋ฒ ๋ฉ ์ดํด | ์๋ฒ ๋ฉ ๊ฐ๋ , ๋ฌธ์ฅ ์๋ฏธ ๋ฒกํฐ, ์ ์ฌ๋ ๊ฒ์, cosine similarity, ๋ชจ๋ธ ์ ํ ๊ธฐ์ค | class465~469 (์๋ฒ ๋ฉ ์์ฑ) |
| 4. ๋ฌธ์ ์ ์ฒ๋ฆฌ์ Chunking | PDF/TXT/HTML/CSV ์ฒ๋ฆฌ, ๋ฌธ์ ๊ตฌ์กฐ ๋ณด์กด, chunk ํฌ๊ธฐ/overlap, ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ | class460~464 (๋ฌธ์ ์ฒญํฌ ์ค๊ณ) |
| 5. ๋ฒกํฐDB์ ๊ฒ์ | Chroma/FAISS/Qdrant ๊ฐ์, ์ธ๋ฑ์ฑ, Top-K ๊ฒ์, reranking, ๊ฒ์ ์คํจ ๋ถ์ | class470~480 (๋ฒกํฐDB ๊ธฐ์ด, ๊ฒ์ ํ์ง ๊ฐ์ ) |
| 6. LangChain๊ณผ RAG ์ฐ๊ฒฐ | Retriever ๊ตฌ์ฑ, Prompt ๋ฌธ๋งฅ ์ฃผ์ , ๊ฒ์ ๊ธฐ๋ฐ ๋ต๋ณ ์์ฑ, source ๋ฐํ, hallucination ๊ฐ์ | class481~490 (ํ๋กฌํํธ ๊ฒฐํฉ, ์๋ต ๊ฒ์ฆ/์ถ์ฒํ) |
| 7. ํ๊ฐ์ ๊ฐ์ | ๊ฒ์ ์ ํ๋, ๋ต๋ณ ์ ํ๋, chunking ๊ฐ์ , ํ๋กฌํํธ ํ๋, ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ | class491~495 (ํ๊ฐ ์งํ ์ค๊ณ) |
| 8. ์ค์ต | ์ฌ๋ด ๋ฌธ์ ์ง์์๋ต, FAQ ์ฑ๋ด, PDF ๊ฒ์ ์์คํ , ์ถ์ฒ ํฌํจ ๋ต๋ณ ์์ฑ | class496~500 (Agent ์์คํ
ํตํฉ ๊ตฌํ) |
ํ์ต ๋ชฉํ:
- LLMOps ๊ฐ๋ ๊ณผ DevOps/MLOps์์ ์ฐจ์ด ์ดํด
- ํ๋กฌํํธ ๋ฒ์ ๊ด๋ฆฌยทA/B ํ ์คํธ ์ญ๋ ์ต๋
- LLM ์๋น์ค ํ์ง ํ๊ฐ ์๋ํ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ
- Prometheus/Grafana ๊ธฐ๋ฐ ๋ชจ๋ํฐ๋งยท๊ด์ธก์ฑ ์ค์ต
- CI/CDยทBlue-GreenยทCanary ๊ธฐ๋ฐ LLM ๋ฐฐํฌ ์๋ํ ๊ตฌํ
| ๋จ๊ณ | ํต์ฌ ๋ด์ฉ | class ๋ฒ์ |
|---|---|---|
| 1. LLMOps ๊ฐ์ | LLMOps ์ ์, DevOpsยทMLOps์์ ์ฐจ์ด, ํต์ฌ ๊ตฌ์ฑ์์(ํ๋กฌํํธยทํ๊ฐยท๋ชจ๋ํฐ๋งยท๊ฐ๋๋ ์ผ), ๋๋ฆฌํํธ ๊ด๋ฆฌ | class501~504 |
| 2. ํ๋กฌํํธ ๊ด๋ฆฌ | ํ๋กฌํํธ ๋ฒ์ ๊ด๋ฆฌ, ํ ํ๋ฆฟํ, A/B ํ ์คํธ, Chain-of-Thought, ํ๋กฌํํธ ์ธ์ ์ ๋ฐฉ์ด | class505~508 |
| 3. LLM ํ๊ฐ์ ํ์ง | BLEU/Faithfulness/Answer Relevance, ์๋ ํ๊ฐ ํ์ดํ๋ผ์ธ, LLM-as-Judge, ์ง์์ ํ์ง ๊ด๋ฆฌ | class509~512 |
| 4. LLM ๋ชจ๋ํฐ๋ง | PrometheusยทGrafana ๋ฉํธ๋ฆญ, ํ ํฐยท์ง์ฐยท์ค๋ฅ์จ ์ถ์ , ์ด์ ํ์ง, SLO ์ค์ , Circuit Breaker | class513~516 |
| 5. LLM ๋ฐฐํฌ ์๋ํ | CI/CD ํ์ดํ๋ผ์ธ, Docker ํจํค์ง, K8s HPA, Blue-Green/Canary ๋ฐฐํฌ, IaC, Secret ๊ด๋ฆฌ | class517~520 |
| ํธ๋ | class ๋ฒ์ | ํต์ฌ ํ์ต ํญ๋ชฉ | ์ด์/๋ฐฐํฌ ๊ฒฐ๊ณผ๋ฌผ |
|---|---|---|---|
| ๋ก์ปฌ/OnPrem ๊ฐ๋ฐ ํ์คํ | class001~class128 | ๊ฐ์ํ๊ฒฝ, ์์กด์ฑ ์ ๊ธ, Docker ์ด๋ฏธ์ง ๋น๋, API ๊ธฐ๋ณธ ์๋น | OnPrem ์๋ฒ์์ ์ฌํ ๊ฐ๋ฅํ Python ์๋น์ค |
| ML ํ์ตยท์ถ๋ก ๋ถ๋ฆฌ | class081~class224 | ๋ชจ๋ธ ํ์ต ํ์ดํ๋ผ์ธ, ์ถ๋ก API, ๋ฐฐ์น/์ค์๊ฐ ์ถ๋ก ์ ๋ต | ํ์ต ์ก + ์ถ๋ก ์๋ฒ ๋ถ๋ฆฌ ๋ฐฐํฌ |
| LLM/Prompt ์๋น์คํ | class289~class448 | ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(LangChain ๋ฑ) ํตํฉ, ์์ ํ ์๋ต ์ ์ฑ , ๊ด์ธก์ฑ | LLM ๊ธฐ๋ฐ ๋ฐฑ์๋ API ์ด์ |
| ํ๋ก์ ํธ ํตํฉ ์ด์ | VoiceModelBuilder / PersonaLLMResponder / PersonaKnowledgeCustomizer | ์์ฑ ๋ชจ๋ธ ์์ฑ, PERSONA ๋ต๋ณ, ์ฌ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ปค์คํ ํ์ดํ๋ผ์ธ์ ๋ ๋ฆฝ ๊ฐ๋ฐ ํ ํตํฉ ์ด์ | ์์ฑ AI ์๋น์ค ํต์ฌ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌ ์ค๊ณํ๊ณ ์ด์ ์๋ํ๊น์ง ์ฐ๊ฒฐ |
- ๊ธฐ์ค ๋ฌธ์: OPS๊ฐ๋ .md
VoiceModelBuilder: ๊ฐ์ธ ๋ง์ถค ์ฝ์นญ ์์ฑ ๋ชจ๋ธ ๊ตฌ์ถ(ํ๋กํ/ํ์ต ํ์ง/ํฉ์ฑ ํ๋ฆฌ๋ทฐ)PersonaLLMResponder: ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ ๊ธฐ๋ฐ PERSONA ๋ต๋ณ ๊ธฐ๋ฅ ๊ตฌํ(ํ๋ฅด์๋ ๊ท์น/์๋ต ์์ฑ)PersonaKnowledgeCustomizer: ์ฌ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ PERSO ๋ต๋ณ ์ปค์คํ (์ง์ ์ ์ํธ/๊ฒ์/๊ทผ๊ฑฐ ๊ธฐ๋ฐ ์๋ต)
- ๊ณต๊ณต๋ฐ์ดํฐํฌํธ(
data.go.kr) OpenAPI: ๊ตํต/ํ๊ฒฝ/์ธ๊ตฌ ๋ฑ API ์์ง, ์ ์ฒ๋ฆฌ, ์๊ฐํ, ์์ธก ์ค์ต - AI Hub(ํ๊ตญ์ง๋ฅ์ ๋ณด์ฌํ์งํฅ์) ๋ฐ์ดํฐ์ : ํ๊ตญ์ด ํ ์คํธ/์์ฑ ๋ฐ์ดํฐ ๊ธฐ๋ฐ NLPยทSTTยทTTS ๋ชจ๋ธ ์ค์ต
- ๊ถ์ฅ ๋ฐฉ์: ์์ง๊ธฐ(๋ฐฐ์น) + ์ถ๋ก API(์ค์๊ฐ) + ๋์๋ณด๋(๋ชจ๋ํฐ๋ง)๋ก ๊ตฌ์ฑํด OnPrem/AWS ๋ชจ๋ ๋ฐฐํฌ
| ์ฉ๋ | ๊ถ์ฅ ์ด๋ฏธ์ง | ๋น ๋ฅธ ์์ ๋ช ๋ น | ํ์ต ํฌ์ธํธ |
|---|---|---|---|
| PyTorch ํ์ต ํ๊ฒฝ | pytorch/pytorch |
docker pull pytorch/pytorch |
CUDA/CPU ํ๊ทธ ์ ํ, ์คํ ์ฌํ์ฑ ํ๋ณด |
| TensorFlow ๋ชจ๋ธ ์๋น | tensorflow/serving |
docker run -p 8501:8501 tensorflow/serving |
REST/gRPC ์ถ๋ก ์๋ํฌ์ธํธ ์ด์ |
| ๊ณ ์ฑ๋ฅ ์ถ๋ก ์๋ฒ | NVIDIA Triton (NGC) | docker run --gpus=all ... nvcr.io/nvidia/tritonserver:<tag> |
๋ค์ค ํ๋ ์์ํฌ ์ถ๋ก ํตํฉ, GPU ์ต์ ํ |
| ์คํ ์ถ์ /๋ชจ๋ธ ๋ ์ง์คํธ๋ฆฌ | ghcr.io/mlflow/mlflow |
docker pull ghcr.io/mlflow/mlflow |
์คํ/์ํฐํฉํธ/๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ |
| ์ํฌํ๋ก์ฐ ์ค์ผ์คํธ๋ ์ด์ | apache/airflow |
docker compose up (๊ณต์ quick-start) |
ํ์ต/๋ฐฐ์น ํ์ดํ๋ผ์ธ ์๋ํ |
- ์์น: ํ๊ทธ๋
latest๊ณ ์ ๋ณด๋ค ์์ ๋ฒ์ ํ๊ทธ๋ฅผ ๋ช ์ํด ์ฌํ์ฑ ์ ์ง - ๊ถ์ฅ: ํ์ต ๋จ๊ณ(๋ก์ปฌ Docker Compose) โ ์ด์ ๋จ๊ณ(Kubernetes/EKS)๋ก ์น๊ฒฉ
- ๊ณต์ ์ฐธ๊ณ ๋งํฌ:
- PyTorch Docker Hub: https://hub.docker.com/r/pytorch/pytorch
- TensorFlow Serving Docker ๊ฐ์ด๋: https://www.tensorflow.org/tfx/serving/docker
- NVIDIA Triton ์ปจํ ์ด๋(๊ณต์): https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/customization_guide/deploy.html
- MLflow Docker ์ด๋ฏธ์ง(GHCR): https://github.com/mlflow/mlflow/pkgs/container/mlflow
- Apache Airflow Docker Compose Quick Start: https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html
- KServe(์ฟ ๋ฒ๋คํฐ์ค ๋ชจ๋ธ์๋น): https://kserve.github.io/website/latest/
- Prometheus Docker ์ค์น: https://prometheus.io/docs/prometheus/latest/installation/
- Grafana Docker ์ค์น: https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/
- MLOps: ๋ฐ์ดํฐ/์ฝ๋/๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ, ํ์ต-๊ฒ์ฆ-๋ฐฐํฌ ์๋ํ, ๋ชจ๋ธ ๋ ์ง์คํธ๋ฆฌ ์ด์
- Model Serving: FastAPI + TF Serving/Triton/KServe ์ค ์ฉ๋๋ณ ์ ํ
- Observability(AIOps): Prometheus ๋ฉํธ๋ฆญ, Grafana ๋์๋ณด๋, ๋ก๊ทธ/์๋ ๊ธฐ๋ฐ ์ด์ํ์ง
- Reliability: ๋กค๋ฐฑ ๊ฐ๋ฅํ ๋ฐฐํฌ ์ ๋ต(Blue-Green/Canary), SLOยท์๋ฌ๋ฒ์ง ๊ธฐ๋ฐ ์ด์
- Runbook: ์ฅ์ ์ฌํ ์ ์ฐจ, ๋ณต๊ตฌ ์ฒดํฌ๋ฆฌ์คํธ, ์ด์ ์ธ์ ๋ฌธ์ํ
| ๊ตฌ๋ถ | DevOps | MLOps | AIOps |
|---|---|---|---|
| ๋ชฉ์ | ๊ฐ๋ฐ(Dev)๊ณผ ์ด์(Ops)์ ํตํฉํด ๋ฐฐํฌ ์๋์ ์์ ์ฑ ํฅ์ | ๋ชจ๋ธ์ ํ์ต-๋ฐฐํฌ-์ด์ ์ ๊ณผ์ ์ ์๋ํํ๊ณ ํ์ง ์ ์ง | AI/ML๋ก ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํด ์ฅ์ ์์ธก/ํ์ง/์๋ ๋์ |
| ๋์ | ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋, ์ธํ๋ผ, CI/CD ํ์ดํ๋ผ์ธ | ๋ฐ์ดํฐ์ , ํผ์ฒ, ํ์ต ์ฝ๋, ๋ชจ๋ธ ์ํฐํฉํธ, ์ถ๋ก ์๋น์ค | ๋ก๊ทธ, ๋ฉํธ๋ฆญ, ํธ๋ ์ด์ค, ์๋ฆผ ์ด๋ฒคํธ ๋ฑ ์ด์ ๊ด์ธก ๋ฐ์ดํฐ |
| ํต์ฌ ํ๋ | ์๋ ๋น๋/ํ ์คํธ/๋ฐฐํฌ, IaC, ๋ชจ๋ํฐ๋ง, ์ฅ์ ๋์ | ๋ฐ์ดํฐ/๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ, ์คํ ์ถ์ , ๋ชจ๋ธ ๋ฐฐํฌ, ๋๋ฆฌํํธ ๋ชจ๋ํฐ๋ง | ์ด์ ํ์ง, ์ด๋ฒคํธ ์๊ด๋ถ์, ์์ธ ๋ถ์(RCA), ์๋ ๋ณต๊ตฌ |
| ๋ํ ๋๊ตฌ | GitHub Actions, Jenkins, Docker, Kubernetes, Terraform | MLflow, Kubeflow, Airflow, DVC, SageMaker | Datadog, Dynatrace, New Relic, Splunk |
- ํ ์ค ์์ฝ
DevOps: ์ํํธ์จ์ด ์ ๋ฌ ํ๋ก์ธ์ค ์๋ํMLOps: ๋ชจ๋ธ ์๋ช ์ฃผ๊ธฐ(ํ์ต-๋ฐฐํฌ-์ด์) ์๋ํAIOps: ์ด์ ์์ฒด๋ฅผ AI๋ก ์ง๋ฅํํด ์ฅ์ ๋์ ์๋ํ
- ์์ ์์ ์ฌ์ฉํ๋ Docker ์ด๋ฏธ์ง ๋ชฉ๋ก: ๋์ปค๋ชฉ๋ก.md
- ํ๋ฉด ์บก์ฒ ํ์ค:
mcr.microsoft.com๊ณ์ด Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํด ์บก์ฒ ์ํ
| ๊ตฌ๋ถ | ํ๋ซํผ | ๊ฐ์ /์ค๋น ๋ชฉ์ | ํ์ ์ฌ๋ถ |
|---|---|---|---|
| ์ฝ๋/ํ์๊ด๋ฆฌ | GitHub (github.com) |
์ ์ฅ์ ์ ๊ทผ, ๊ณผ์ ์ ์ถ, ํ์ PR | ํ์ |
| AI ์ด์์คํดํธ | ChatGPT (chatgpt.com) |
์ฝ๋ ๋ฆฌ๋ทฐ, ๋ฌธ์ ์ ๋ฆฌ, ์ค์ต ๋ณด์กฐ | ํ์ |
| ํด๋ผ์ฐ๋ | AWS (aws.amazon.com) |
S3/ECR/EKS ๋ฑ ํด๋ผ์ฐ๋ ์ค์ต | ํ์ |
| ๊ณต๊ณต๋ฐ์ดํฐ | ๊ณต๊ณต๋ฐ์ดํฐํฌํธ (data.go.kr) |
OpenAPI ํค ๋ฐ๊ธ, ์ค๋ฐ์ดํฐ ์์ง ์ค์ต | ๊ถ์ฅ(๊ฐ๋ ฅ) |
| AI ๋ฐ์ดํฐ | AI Hub (aihub.or.kr) |
ํ๊ตญ์ด/์์ฑ ๋ฐ์ดํฐ์ ์ค์ต | ๊ถ์ฅ(๊ฐ๋ ฅ) |
| ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ | Docker Hub (hub.docker.com) |
ML/DL ์ปจํ ์ด๋ ์ด๋ฏธ์ง pull/push | ๊ถ์ฅ |
| MLOps ๋ณด์กฐ | Weights & Biases (wandb.ai) ๋๋ MLflow |
์คํ ์ถ์ /๋ชจ๋ธ ๊ด๋ฆฌ | ๊ถ์ฅ |
| ๊ตฌ๋ถ | ์ํํธ์จ์ด | ๊ถ์ฅ ๋ฒ์ | ์ฉ๋ |
|---|---|---|---|
| ๋ฐํ์ | Python | 3.11.x | ์ค์ต ์ฝ๋ ์คํ |
| ํธ์ง๊ธฐ | VS Code | ์ต์ ์์ ํ | ์ฝ๋ ์์ฑ/๋๋ฒ๊น |
| ๋ฒ์ ๊ด๋ฆฌ | Git | ์ต์ ์์ ํ | ์ปค๋ฐ/๋ธ๋์น/ํ์ |
| ํจํค์ง๊ด๋ฆฌ | pip + venv | Python ํฌํจ | ์์กด์ฑ/๊ฐ์ํ๊ฒฝ ๋ถ๋ฆฌ |
| ์ปจํ ์ด๋ | Docker Desktop ๋๋ Docker Engine | ์ต์ ์์ ํ | ์ด๋ฏธ์ง ๋น๋/์๋น ์ค์ต |
| API ํ ์คํธ | Postman ๋๋ Insomnia | ์ต์ ์์ ํ | API ํธ์ถ/๊ฒ์ฆ |
| ํด๋ฌ์คํฐ ๋๊ตฌ | kubectl, helm | EKS ํธํ ๋ฒ์ | ์ฟ ๋ฒ๋คํฐ์ค ๋ฐฐํฌ |
| AWS CLI | awscli v2 | ์ต์ ์์ ํ | AWS ๋ฆฌ์์ค ์ ์ด |
| ์์ญ | ๊ธฐ์ ์คํ | ์์ ๋ด ์ฌ์ฉ ๋งฅ๋ฝ |
|---|---|---|
| Backend/API | FastAPI, Uvicorn, Pydantic | Agent API ์๋ฒ/๋ช ์ธ(OpenAPI) |
| Data/ML | NumPy, Pandas, scikit-learn, PyTorch, TensorFlow | ์ ์ฒ๋ฆฌ/ํ์ต/์ถ๋ก |
| LLM/RAG | LangChain, Vector DB(Chroma ๋ฑ), Prompt Engineering | Agent ์ง์์๋ต ํ์ดํ๋ผ์ธ |
| Frontend | HTML, Tailwind CSS, Vanilla JS | API ๊ฒ์ฆ์ฉ FE ๋ชจ๋ |
| MLOps | MLflow, Airflow, Docker, Kubernetes, EKS | ์คํ/๋ฐฐํฌ/์ด์ ์๋ํ |
| AIOps/Observability | Prometheus, Grafana, CloudWatch, ๋ก๊ทธ/์๋ | ์ด์ํ์ง/์ด์ ๋ชจ๋ํฐ๋ง |
| Infra as Code(์ ํ) | Terraform | ๋ฐ๋ณต ๊ฐ๋ฅํ ์ธํ๋ผ ๊ตฌ์ฑ |
- https://code.visualstudio.com ์ ์
- ์ด์์ฒด์ ๋ณ ์ค์น ํ์ผ ๋ค์ด๋ก๋/์ค์น
- ์คํ ํ
File > Open Folder๋ก ์ ์ฅ์ ์ด๊ธฐ
- https://github.com ๊ฐ์
- ์ด๋ฉ์ผ ์ธ์ฆ
- ํ๋กํ ๊ธฐ๋ณธ ์ค์ (์ฌ์ฉ์๋ช /์ด๋ฉ์ผ)
- https://chatgpt.com ์ ์
- ์ด๋ฉ์ผ ๋๋ ์์ ๊ณ์ ์ผ๋ก ๊ฐ์
- ๊ณ์ ์ธ์ฆ ์๋ฃ ํ ๊ธฐ๋ณธ ํ๋กํ ์ค์
- ํ๋ก์ ํธ ํ์ต์ฉ ๋ํ ํด๋(์:
Python-AI-Agent-Class)๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌ
- https://git-scm.com/downloads ์ค์น
- ๋ฒ์ ํ์ธ
git --version- ์ฌ์ฉ์ ์ ๋ณด ๋ฑ๋ก
git config --global user.name "YOUR_NAME"
git config --global user.email "[email protected]"- https://www.python.org/downloads ์ค์น
- Windows ์ค์น ์
Add Python to PATH์ฒดํฌ - ๋ฒ์ ํ์ธ
python --version- https://www.docker.com/products/docker-desktop ์ค์น
- ์คํ ํ ๋ฒ์ ํ์ธ
docker --version
docker compose version์๋๋ ์ผ๋ฐ์ ์ธ ์ฐ๋ ์ ์ฐจ์ ๋๋ค. ์ฌ์ฉ ์ค์ธ IDE/ํ๋ฌ๊ทธ์ธ ๋ฐฐํฌ ํํ์ ๋ฐ๋ผ ๋ฉ๋ด๋ช ์ ๋ค๋ฅผ ์ ์์ต๋๋ค.
- VS Code์์ Codex ๊ด๋ จ ํ์ฅ(๋๋ ์์ด์ ํธ ํตํฉ ๊ธฐ๋ฅ) ์ค์น
- ํ์ฅ ์ค์ ์์
Sign in๋๋API Key์ ๋ ฅ ๋ฐฉ์ ์ ํ - OpenAI ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ฑฐ๋ API Key ๋ฑ๋ก
- Workspace(ํ์ฌ ์ ์ฅ์) ๊ถํ/๋ชจ๋ธ ์ค์ ํ์ธ
- ํ ์คํธ ํ๋กฌํํธ๋ก ์ฐ๊ฒฐ ์ํ ์ ๊ฒ
API Key ์ฌ์ฉ ์(์ ํ):
# Windows PowerShell
$env:OPENAI_API_KEY="YOUR_KEY"
# Linux/macOS
export OPENAI_API_KEY="YOUR_KEY"- ๊ด๋ฆฌ์ ๊ถํ PowerShell ์คํ
- WSL ์ค์น
wsl --install- ์ฌ๋ถํ ํ ์ค์น ์ํ ํ์ธ
wsl --status
wsl -l -v- Microsoft Store์์
Ubuntu์ค์น(๊ถ์ฅ: Ubuntu 22.04 LTS ์ด์) - ๋๋ PowerShell์์ ์ง์ ์ค์น
wsl --list --online
wsl --install -d Ubuntu- ์ต์ด ์คํ ํ Linux ์ฌ์ฉ์ ๊ณ์ ์์ฑ
- Ubuntu ๋ฒ์ ํ์ธ
lsb_release -a
uname -a์๋๋ Docker Engine์ Ubuntu(WSL) ๋ด๋ถ์ ์ง์ ์ค์นํ๋ ์ ์ฐจ์ ๋๋ค.
- ํจํค์ง ์ธ๋ฑ์ค ๊ฐฑ์ ๋ฐ ํ์ ๋๊ตฌ ์ค์น
sudo apt update
sudo apt install -y ca-certificates curl gnupg- Docker ๊ณต์ GPG ํค/์ ์ฅ์ ๋ฑ๋ก
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null- Docker Engine ์ค์น
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin- ๊ถํ ์ค์ (์ฌ๋ก๊ทธ์ธ ํ์)
sudo usermod -aG docker $USER
newgrp docker- ์ค์น ํ์ธ ๋ช ๋ น
docker --version
docker compose version
docker run hello-world- https://aws.amazon.com/ko/ ์์ ๊ณ์ ์์ฑ
- IAM ์ฌ์ฉ์/๊ทธ๋ฃน ์์ฑ, MFA ์ค์ , ์ก์ธ์ค ํค ๋ฐ๊ธ(๋ฃจํธ ๊ณ์ ํค ์ฌ์ฉ ๊ธ์ง)
aws configure๋ก ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ ์ฐ๊ฒฐ
aws configure
aws sts get-caller-identity- ๋ฐ์ดํฐ ์ ์ฅ:
Amazon S3 - ๋ชจ๋ธ ํ์ต/์คํ:
SageMaker๋๋ EC2 ๊ธฐ๋ฐ ํ์ต ๋ ธ๋ - ์ถ๋ก API:
ECS/Fargate,EKS,Lambda + API Gatewayํจํด ๋น๊ต - ์ด์ ๋ชจ๋ํฐ๋ง:
CloudWatch๋ก๊ทธ/๋ฉํธ๋ฆญ/์๋
- ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
fastapi,uvicorn,pydantic,langchain,langgraph - ๊ณตํต ํจํด
requirements.txt๊ณ ์ - Docker ์ด๋ฏธ์ง ๋น๋
- OnPrem ๋๋ AWS(ECS/EKS) ๋ฐฐํฌ
- ํฌ์ค์ฒดํฌ/๋ก๊ทธ/์๋ ์ค์
- K8s ๊ธฐ๋ณธ ๋ฆฌ์์ค:
Deployment,Service,ConfigMap,Secret,HPA - EKS ์ค์ต: ํด๋ฌ์คํฐ ์์ฑ, ๋ ธ๋๊ทธ๋ฃน ๊ตฌ์ฑ, Ingress/NLB ์ฐ๊ฒฐ
- ๋ฐฐํฌ ์ ๋ต: Rolling Update, Blue-Green, Canary
- ์ฅ์ ๋์: Pod ์ฌ์์ ์ ์ฑ , ๋ฆฌ์์ค ์ ํ, ์คํ ์ค์ผ์ผ๋ง
Python(ms-python.python)Pylance(ms-python.vscode-pylance)Jupyter(ms-toolsai.jupyter) - ์ ํMarkdown All in One(yzhang.markdown-all-in-one)Markdown Preview Mermaid Support(bierner.markdown-mermaid)Live Server(ritwickdey.LiveServer) - ํด์ฆ HTML ๋น ๋ฅธ ์คํ์ฉDocker(ms-azuretools.vscode-docker) - Docker ์ค์ต ์Git Graph(mhutchie.git-graph) - ์ ํ
์ค์น ๋ฐฉ๋ฒ:
- VS Code ์ข์ธก Extensions (
Ctrl+Shift+X) - ํ์ฅ ์ด๋ฆ ๊ฒ์
Install
- VS Code Extensions (
Ctrl+Shift+X)์์Live Server(ritwickdey.LiveServer) ์ค์น - ์ํ๋ ํด์ฆ ํ์ผ ์ด๊ธฐ (์:
pyBasics/class001/class001_quiz.html) - ์๋ํฐ ์ฐ์ธก ํ๋จ
Go Liveํด๋ฆญ - ๋ธ๋ผ์ฐ์ ์์ ์๋์ผ๋ก ์ด๋ฆฐ ์ฃผ์์์ ํด์ฆ ํ์ด
- ์ ์งํ ๋๋ ํ๋จ ์ํ๋ฐ์
Port:5500(๋๋Go Live) ํด๋ฆญ
๋ณด์/๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ์๋ ์ด๋ฏธ์ง๋ ๊ฐ์ ์์ด๋ ๊ธฐ๋ฐ ๋ชจ์ ์บก์ฒ์ ๋๋ค.
.md๋ Markdown ๋ฌธ์ ํฌ๋งท- ์ฝ๋, ํ, ์ฒดํฌ๋ฆฌ์คํธ, Mermaid ๋ค์ด์ด๊ทธ๋จ์ ํ ์คํธ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌ
- VS Code์์ ํ์ผ ์ด๊ณ
Ctrl+Shift+V(๋ฏธ๋ฆฌ๋ณด๊ธฐ) - ๋๋
Ctrl+KํV(์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ)
- Mermaid ์์ฒด ์ฌ์ฉ์ ๊ฐ์ ์ด ํ์ ์์
- VS Code ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋๋ GitHub ๋ ๋๋ง์ผ๋ก ๋ฐ๋ก ํ์ธ ๊ฐ๋ฅ
- ์ ํ: ํ์ ํ ํธ์ง์ด ํ์ํ๋ฉด https://www.mermaidchart.com ๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ
cd C:\DevOps\Python-AI_Agent-Class
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtcd /path/to/Python-AI_Agent-Class
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txtvenv๋ ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ๋ Python ์คํ ํ๊ฒฝ์ ๋ง๋๋ ๊ธฐ๋ฅ์ ๋๋ค.- ์ด ์ ์ฅ์์์๋
.venv/ํด๋๊ฐ ๊ทธ ๊ฐ์ํ๊ฒฝ์ด๋ฉฐ, ๋ด๋ถ์ ์ ์ฉ Python ์คํ ํ์ผ๊ณผ ์ ์ฉ ํจํค์ง๊ฐ ์ค์น๋ฉ๋๋ค. - ์ ์ญ(PC ์ ์ฒด) Python๊ณผ ๋ถ๋ฆฌ๋๋ฏ๋ก ๋ค๋ฅธ ํ๋ก์ ํธ์ ํจํค์ง ๋ฒ์ ์ถฉ๋์ ์ค์ผ ์ ์์ต๋๋ค.
์ ํ์ํ๊ฐ์?
- ํ๋ก์ ํธ๋ณ ํจํค์ง ๋ฒ์ ์ ๋ถ๋ฆฌํด ์ถฉ๋์ ๋ฐฉ์งํฉ๋๋ค.
- ํ์/์๊ฐ์์ด ๊ฐ์
requirements.txt๋ก ์ ์ฌํ ์คํ ํ๊ฒฝ์ ์ฌํํ ์ ์์ต๋๋ค. - ์์คํ Python์ ์ค์ผ์ํค์ง ์์ ์ค์ต ์คํจ ๋ณต๊ตฌ๊ฐ ์ฝ์ต๋๋ค.
- ์์ ์ค ์๋ฌ ์์ธ(์ฝ๋ ๋ฌธ์ vs ํ๊ฒฝ ๋ฌธ์ )์ ๋ ๋น ๋ฅด๊ฒ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.
__pycache__/: Python ์คํ ์ค ์์ฑ๋๋ ๋ฐ์ดํธ์ฝ๋ ์บ์ ํด๋์ ๋๋ค.*.pyc:__pycache__/๋ด๋ถ์ ์์ฑ๋๋ ์บ์ ํ์ผ์ ๋๋ค..venv/: ํ๋ก์ ํธ ์ ์ฉ ๊ฐ์ํ๊ฒฝ ํด๋์ ๋๋ค(์ง์ ์์ฑ)..pytest_cache/,.mypy_cache/,.ruff_cache/: ํ ์คํธ/์ ์ ๋ถ์ ๋๊ตฌ ์บ์์ ๋๋ค.
ํ์ต ํฌ์ธํธ:
__pycache__(๊ฐ๋__pychach๋ก ์คํ)์ ๊ฐ์ข ์บ์ ํด๋๋ ์ค๋ฅ๊ฐ ์๋๋ผ ์ ์ ๋์ ๊ฒฐ๊ณผ์ ๋๋ค.- ์บ์๋ ์ง์๋ ๋ค์ ์์ฑ๋๋ฉฐ, ์คํ ์ฑ๋ฅ์ ๋๋ ์์ ๋ฐ์ดํฐ์ ๋๋ค.
- ์ด ์ ์ฅ์๋
.gitignore์ ์ ํด๋๋ค์ ํฌํจํด Git ์ถ์ ์์ ์ ์ธํฉ๋๋ค.
ํ์ฌ ํ์ผ์ ๋ฐ์ดํฐ/ML + LLM/RAG + ์น ์๋น ์ค์ต์ ํจ๊ป ์คํํ๊ธฐ ์ํ ํจํค์ง ์ค์ฌ์ ๋๋ค.
pandas>=2.0
numpy>=1.26
matplotlib>=3.8
scikit-learn>=1.4
requests>=2.31
fastapi>=0.115
uvicorn>=0.30
pyttsx3>=2.90
SpeechRecognition>=3.10
langchain>=0.3
langchain-community>=0.3
langgraph>=1.0
Pillow>=10.0ํจํค์ง ์ฉ๋:
pandas,numpy: ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ/์์น ๊ณ์ฐmatplotlib: ์๊ฐํscikit-learn: ML ๊ธฐ์ด ์ค์ตrequests: API ํธ์ถfastapi,uvicorn: ํด๋์ค ๋จ์ ์น ์ค์ต ๋ฐฑ์๋ ์๋นpyttsx3,SpeechRecognition: TTS/STT ์ค์ตlangchain,langchain-community,langgraph: LLM/์ฒด์ธ/RAG/์์ด์ ํธ ์ค์ตPillow: ์ด๋ฏธ์ง ์์ฑ/์ฒ๋ฆฌ(Flow PNG ์์ฑ ํฌํจ)
๊ด๋ฆฌ ํ:
- ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ํ ๋๊ธฐํ
pip install package_name
pip freeze > requirements.txt- ํ ์์ ์ ๋ฒ์ ๋ฒ์๋ฅผ ๋ช ์ํด ์ฌํ์ฑ ํ๋ณด
git clone <REPO_URL>
cd Python-AI_Agent-Classgit checkout -b feature/readme-update
git status
git add README.md
git commit -m "docs: expand onboarding and setup guide"
git push -u origin feature/readme-updategit checkout main
git pull origin main๊ธฐ๋ณธ ์คํ:
python pyBasics/class001/class001.py
python pyBasics/class001/class001_example1.pyํด๋์ค ๋จ์ ์คํ(๊ถ์ฅ):
./run_class.sh class041Day ๋จ์ ์คํ(๋ฐ์ฒ/์ ๋ต):
./run_day.sh 01 launcher
./run_day.sh 01 solution์น ์ค์ต ์คํ(pyBasics ์ ์ธ ํด๋์ค):
cd dataVizPrep/class041
uvicorn server:app --reload
# ๋ธ๋ผ์ฐ์ : http://127.0.0.1:8000๊ณผ๋ชฉ๋ณ ํด๋ ๊ตฌ์กฐ ์ฌ์ ๋ ฌ(curriculum_index.csv ๊ธฐ์ค):
python tools/organize_subject_folders.py์ฐจ์ ์๋ฃ ์ฌ์์ฑ ์คํฌ๋ฆฝํธ:
python tools/rebuild_self_study_materials.py์คํ ์ ์ํ ์์ :
- class๋ณ md ๊ฐฑ์
- class๋ณ Mermaid flow ๊ฐฑ์
- class๋ณ PNG(
classXXX_flow.png) ์ฌ์์ฑ
README์ฉ ๋ชจ์ ์บก์ฒ ์ด๋ฏธ์ง ์ฌ์์ฑ:
python tools/generate_readme_mock_screenshots.py์ฒจ๋ถ ์ปค๋ฆฌํ๋ผ ๊ธฐ์ค ๋ฐ์ ์ ๊ฒ ๋ฆฌํฌํธ ์์ฑ:
python tools/audit_curriculum_alignment.py- ์์ฑ ํ์ผ:
docs/curriculum_alignment_report.md
์๋๋ ๋ก์ปฌ ์ค์ต ๊ถ์ฅ ๊ตฌ์ฑ ์์์ ๋๋ค.
- LLM ์๋ฒ:
Ollama - ๋ฒกํฐDB:
Qdrant
์์ docker-compose.yml:
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
restart: unless-stopped
qdrant:
image: qdrant/qdrant:latest
container_name: qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant_data:/qdrant/storage
restart: unless-stopped
volumes:
ollama_data:
qdrant_data:์คํ:
docker compose up -d
docker compose ps๋ชจ๋ธ ๋ค์ด๋ก๋(์: Llama ๊ณ์ด):
docker compose exec ollama ollama pull llama3.1:8b์ฐ๋์ฉ ์ถ๊ฐ ํจํค์ง(ํ์ ์):
pip install langchain-ollama qdrant-client sentence-transformers๊ธฐ๋ณธ ์ฐ๊ฒฐ ํ์ธ:
- Ollama:
http://localhost:11434 - Qdrant:
http://localhost:6333/dashboard
- ๊ถ์ฅ ์์ ํ๋ฆ: ์ค๋ช 10๋ถ + ์ค์ต 30๋ถ + ์ ๋ฆฌ 10๋ถ
- ์ผ ์ด์ ๊ธฐ์ค: ํ๋ฃจ 8์๊ฐ
ํธ์/PR ์ ์๋ ์คํ:
- RAG Agent ์ธ๋ฑ์ฑ/์ง์ API ๊ฒ์ฆ ๋ฐ Docker ํ์ดํ๋ผ์ธ
- ํด์ฆ HTML ํ์ง ๊ฒ์ฆ
์ํฌํ๋ก์ฐ ํ์ผ:
.github/workflows/autograde.yml.github/workflows/quiz-quality.yml
main: ๋ฐฐํฌ/๊ธฐ์ค ๋ธ๋์นdevelop: ํตํฉ ๊ฐ๋ฐ ๋ธ๋์นfeature/class-xxx-*: ์ฐจ์๋ณ ์์ ๋ธ๋์น
๋ณธ ๊ต์ก ์๋ฃ์ ์ ์๊ถ ๋ฐ ๋ผ์ด์ ์ค ๊ถํ์ ์๋์ ์งํฐ์ ์์ต๋๋ค.
๊ต์ก, ์ฌ๋ด๊ณต์ , ์ธ๋ถ๋ฐฐํฌ, ์์ฉํ์ฉ ๋ฑ ํํ์ ๊ด๊ณ์์ด ์ฌ์ฉ ์ **์ฌ์ ๊ณ ์ง(์ฌ์ ์๋ด/์น์ธ ์ ์ฐจ)**๊ฐ ํ์ํฉ๋๋ค.







