- 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 "YOUR_EMAIL@example.com"- 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-*: 차시별 수정 브랜치
본 교육 자료의 저작권 및 라이선스 권한은 에듀엠지티에 있습니다.
교육, 사내공유, 외부배포, 상용활용 등 형태와 관계없이 사용 전 **사전고지(사전 안내/승인 절차)**가 필요합니다.







