참고 자료
수업 자료 목록
이 교안에 실은 원본 자료와, 각각이 어느 차시에 들어갔는지를 모았습니다. 원본은 모두 이 교안 폴더 옆(한기대Rag0928_5일과정/)에 있고, 경로는 그 폴더를 기준으로 적었습니다.
강의 교재 PDF
강의교안Book_배포용/ 의 PDF 40개가 본문입니다. 글자 크기, 굵기, 색으로 제목·상자·코드·표를 가려 글로 옮겼고, 쪽마다 그림도 저장해 두었습니다(본문 출처: 줄의 쪽 번호를 누르면 열립니다).
| 파일 | 크기 | 쪽 | 실린 곳 |
|---|---|---|---|
| 01차시_과정이해와RAG개요.pdf | 387 KB | 6 | 1차시 과정 이해와 RAG 개요 |
| 02차시_생성형AI와RAG의관계.pdf | 420 KB | 7 | 2차시 생성형 AI와 RAG의 관계 |
| 03차시_RAG기본구조깊이있게이해하기.pdf | 471 KB | 12 | 3차시 RAG 기본 구조 깊이 있게 이해하기 |
| 04차시_실습환경구축.pdf | 428 KB | 14 | 4차시 실습 환경 구축 |
| 05차시_LangChain입문RAG의마법도구.pdf | 406 KB | 8 | 5차시 LangChain 입문 |
| 06차시_문서로딩실습.pdf | 545 KB | 22 | 6차시 문서 로딩 실습 |
| 07차시_텍스트분할이해.pdf | 576 KB | 23 | 7차시 텍스트 분할 이해 |
| 08차시_첫번째RAG실습.pdf | 538 KB | 22 | 8차시 첫 번째 RAG 실습 |
| 09차시_임베딩이해.pdf | 558 KB | 23 | 9차시 임베딩 이해 |
| 10차시_벡터저장소이해.pdf | 546 KB | 24 | 10차시 벡터저장소 이해 |
| 11차시_Retriever기초실습.pdf | 532 KB | 21 | 11차시 Retriever 기초 실습 |
| 12차시_RAG디버깅.pdf | 551 KB | 20 | 12차시 RAG 품질 문제 |
| 13차시_프롬프트최적화.pdf | 534 KB | 20 | 13차시 프롬프트 최적화 |
| 14차시_체계적성능평가.pdf | 512 KB | 22 | 14차시 성능 비교 실습 |
| 15차시_기본RAG앱만들기.pdf | 562 KB | 22 | 15차시 기본 RAG 앱 만들기 |
| 16차시_1부종합정리.pdf | 469 KB | 20 | 16차시 1부 종합정리 |
| 17차시_LangGraph입문.pdf | 374 KB | 14 | 17차시 LangGraph 입문 |
| 18차시_State이해.pdf | 498 KB | 24 | 18차시 State 이해 |
| 19차시_Node이해.pdf | 524 KB | 24 | 19차시 Node 이해 |
| 20차시_Edge이해.pdf | 480 KB | 22 | 20차시 Edge 이해 |
| 21차시_첫번째LangGraph실습.pdf | 473 KB | 22 | 21차시 첫 번째 LangGraph 실습 |
| 22차시_RAG를Graph로바꾸기.pdf | 473 KB | 21 | 22차시 RAG를 Graph로 바꾸기 |
| 23차시_ModularRAG개념.pdf | 493 KB | 20 | 23차시 Modular RAG 개념 |
| 24차시_RetrieverNode분리.pdf | 505 KB | 22 | 24차시 Retriever Node 분리 |
| 25차시_GeneratorNode분리.pdf | 513 KB | 21 | 25차시 Generator Node 분리 |
| 26차시_VerifierNode설계.pdf | 507 KB | 24 | 26차시 Verifier Node 설계 |
| 27차시_기본ModularRAG구현.pdf | 506 KB | 21 | 27차시 기본 Modular RAG 구현 |
| 28차시_ConditionalEdge이해.pdf | 491 KB | 23 | 28차시 Conditional Edge 이해 |
| 29차시_ConditionalEdge실습.pdf | 518 KB | 25 | 29차시 Conditional Edge 실습 |
| 30차시_재작성노드실습.pdf | 525 KB | 23 | 30차시 질의 재작성 및 재검색 |
| 31차시_방어적코딩실습.pdf | 533 KB | 23 | 31차시 예외 처리 설계 |
| 32차시_ModularRAG종합.pdf | 516 KB | 23 | 32차시 고도화된 Modular RAG |
| 33차시_ModularRAG최적화.pdf | 553 KB | 27 | 33차시 Modular RAG 최적화 |
| 34차시_RAG평가개요.pdf | 515 KB | 23 | 34차시 RAG 평가 개요 |
| 35차시_평가데이터셋구축.pdf | 530 KB | 23 | 35차시 평가 데이터셋 구축 |
| 36차시_평가실습.pdf | 538 KB | 24 | 36차시 평가 실습 |
| 37차시_루브릭설계.pdf | 502 KB | 22 | 37차시 루브릭 설계 |
| 38차시_미니프로젝트주제선정.pdf | 494 KB | 21 | 38차시 미니프로젝트 ① 주제 선정과 설계 |
| 39차시_미니프로젝트구현.pdf | 490 KB | 18 | 39차시 미니프로젝트 ② 구현과 개선 |
| 40차시_발표와정리.pdf | 499 KB | 19 | 40차시 발표와 정리 |
강의 PPT
강의교안PPT/ 의 PPT 32개에서 슬라이드 제목을 뽑아 각 차시 「이번 차시에서 배우는 것」에 "강의 PPT 흐름" 표로 실었습니다. 4차시와 33~40차시는 PPT 파일이 없습니다.
| 파일 | 크기 | 슬라이드 | 실린 곳 |
|---|---|---|---|
| 01차시_과정이해와RAG개요.pptx | 74 KB | 16 | 1차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 02차시_생성형AI와RAG의관계.pptx | 78 KB | 17 | 2차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 03차시_RAG기본구조.pptx | 101 KB | 21 | 3차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 05차시_LangChain입문.pptx | 85 KB | 19 | 5차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 06차시_문서로딩실습.pptx | 104 KB | 23 | 6차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 07차시_텍스트분할이해.pptx | 110 KB | 24 | 7차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 08차시_첫번째RAG실습.pptx | 84 KB | 19 | 8차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 09차시_임베딩이해.pptx | 92 KB | 19 | 9차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 10차시_벡터저장소이해.pptx | 98 KB | 21 | 10차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 11차시_Retriever기초실습.pptx | 97 KB | 21 | 11차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 12차시_RAG품질문제.pptx | 95 KB | 21 | 12차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 13차시_프롬프트최적화.pptx | 99 KB | 21 | 13차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 14차시_성능비교실습.pptx | 109 KB | 21 | 14차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 15차시_기본RAG앱만들기.pptx | 73 KB | 16 | 15차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 16차시_1부종합정리.pptx | 76 KB | 16 | 16차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 17차시_LangGraph입문.pptx | 72 KB | 16 | 17차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 18차시_State이해.pptx | 85 KB | 19 | 18차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 19차시_Node이해.pptx | 80 KB | 18 | 19차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 20차시_Edge이해.pptx | 76 KB | 17 | 20차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 21차시_첫번째LangGraph실습.pptx | 85 KB | 19 | 21차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 22차시_RAG를Graph로바꾸기.pptx | 84 KB | 19 | 22차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 23차시_ModularRAG개념.pptx | 85 KB | 19 | 23차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 24차시_RetrieverNode분리.pptx | 84 KB | 19 | 24차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 25차시_GeneratorNode분리.pptx | 75 KB | 17 | 25차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 26차시_VerifierNode설계.pptx | 76 KB | 17 | 26차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 27차시_기본ModularRAG구현.pptx | 76 KB | 17 | 27차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 28차시_ConditionalEdge이해.pptx | 74 KB | 16 | 28차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 29차시_ConditionalEdge실습.pptx | 82 KB | 17 | 29차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 30차시_질의재작성재검색.pptx | 94 KB | 20 | 30차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 31차시_예외처리설계.pptx | 92 KB | 21 | 31차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
| 32차시_고도화ModularRAG.pptx | 106 KB | 21 | 32차시 「이번 차시에서 배우는 것」의 PPT 흐름 표 |
교안 해설과 실습 코드
AI교안PDF_커서/AI교안/ 의 차시별 해설입니다. 해설 안의 주석 단 실습 코드(실습/src/…)와 실행 결과 샘플을 본문 쪽 아래에 끼워 넣었습니다. 보충 문서는 내용이 맞는 33~40차시에 붙였습니다.
| 파일 | 실린 곳 |
|---|---|
| 교안/01_과정이해와RAG개요.md | 1차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/02_생성형AI와RAG.md | 2차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/03_RAG기본구조.md | 3차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/04_실습환경구축.md | 4차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/05_LangChain입문.md | 5차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/06_문서로딩실습.md | 6차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/07_텍스트분할이해.md | 7차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/08_첫번째RAG실습.md | 8차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/09_임베딩이해.md | 9차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/10_벡터저장소이해.md | 10차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/11_Retriever기초실습.md | 11차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/12_RAG품질문제.md | 12차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/13_프롬프트개선.md | 13차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/14_성능비교실습.md | 14차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/15_기본RAG앱만들기.md | 15차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/16_1단계종합정리.md | 16차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/17_LangGraph입문.md | 17차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/18_State이해.md | 18차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/19_Node이해.md | 19차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/20_Edge이해.md | 20차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/21_첫번째LangGraph실습.md | 21차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/22_RAG를Graph로바꾸기.md | 22차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/23_ModularRAG개념.md | 23차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/24_RetrieverNode분리.md | 24차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/25_GeneratorNode분리.md | 25차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/26_VerifierNode이해.md | 26차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/27_기본ModularRAG실습.md | 27차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/28_ConditionalEdge이해.md | 28차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/29_ConditionalEdge실습.md | 29차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/30_질의재작성기초.md | 30차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/31_예외처리설계.md | 31차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/32_고도화ModularRAG.md | 32차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_미니프로젝트구현.md | 39차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_미니프로젝트기획.md | 38차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_미니프로젝트설계.md | 38차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_미니프로젝트심화.md | 39차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_미니프로젝트주제.md | 38차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_테스트셋.md | 35차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_평가루브릭.md | 37차시 해설, 실습 코드, 실행 결과 샘플 |
| 교안/보충_평가설계.md | 34차시 해설, 실습 코드, 실행 결과 샘플 |
실습퀴즈플러스
| 파일 | 실린 곳 |
|---|---|
실습퀴즈플러스/01_과정이해와RAG개요.md | 1차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/02_생성형AI와RAG.md | 2차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/03_RAG기본구조.md | 3차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/04_실습환경구축.md | 4차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/05_LangChain입문.md | 5차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/06_문서로딩실습.md | 6차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/07_텍스트분할이해.md | 7차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/08_첫번째RAG실습.md | 8차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/09_임베딩이해.md | 9차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/10_벡터저장소이해.md | 10차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/11_Retriever기초실습.md | 11차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/12_RAG품질문제.md | 12차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/13_프롬프트개선.md | 13차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/14_성능비교실습.md | 14차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/15_기본RAG앱만들기.md | 15차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/16_1단계종합정리.md | 16차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/17_LangGraph입문.md | 17차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/18_State이해.md | 18차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/19_Node이해.md | 19차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/20_Edge이해.md | 20차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/21_첫번째LangGraph실습.md | 21차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/22_RAG를Graph로바꾸기.md | 22차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/23_ModularRAG개념.md | 23차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/24_RetrieverNode분리.md | 24차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/25_GeneratorNode분리.md | 25차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/26_VerifierNode이해.md | 26차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/27_기본ModularRAG실습.md | 27차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/28_ConditionalEdge이해.md | 28차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/29_ConditionalEdge실습.md | 29차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/30_질의재작성기초.md | 30차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/31_예외처리설계.md | 31차시 퀴즈 1·2와 확인문제 |
실습퀴즈플러스/32_고도화ModularRAG.md | 32차시 퀴즈 1·2와 확인문제 |
33~40차시의 퀴즈와 확인문제는 원본에 없어 이 교안에서 새로 냈습니다.
실습 코드를 끼워 넣은 자리
tools/assemble.py 가 원본 PDF의 글(파일 이름, 함수 이름)과 코드를 견주어 정한 자리입니다. "까닭" 칸이 그 근거입니다. 다른 차시에 이미 전체가 실린 파일은 해설과 실행 결과만 싣고 앞 차시로 안내합니다.
| 차시 | 실습 코드 | 끼워 넣은 자리 | 원본 PDF | 까닭 |
|---|---|---|---|---|
| 4 | test.py | 7. 첫 번째 테스트 코드 작성 › (절 첫머리) | 8쪽 | 손으로 정함 |
| 5 | 05/textloader.py | 2. Document Loader — 문서 읽기 › 2-2) TextLoader 사용 예시 | 3쪽 | 같은 함수·이름 TextLoader, load |
| 5 | 05/load_and_split.py | 4. 첫 번째 LangChain 프로젝트 › 4-2) load_and_split.py 작성 | 5쪽 | 손으로 정함 |
| 5 | 05/prompt_template.py | 5. Prompt Template 사용하기 › (절 첫머리) | 5~6쪽 | 손으로 정함 |
| 6 | 06/load_text.py | 4. 실습 ① — 텍스트 파일 읽기 › 4-2) 코드 작성 | 8쪽 | load_text.py 이름이 나옴 |
| 6 | 06/load_pdf.py | 5. 실습 ② — PDF 읽기 › 5-1) 코드 작성 | 10쪽 | load_pdf.py 이름이 나옴 |
| 6 | 06/validate.py | 5. 실습 ② — PDF 읽기 › 5-1) 코드 작성 | 10쪽 | 같은 함수·이름 PyPDFLoader, load |
| 6 | 06/ingest.py | 10. 이번 차시 실습 정리 › (절 첫머리) | 19쪽 | ingest.py 이름이 나옴 |
| 7 | 07/split_basic.py | 5. 실습 ① — 기본 분할 해보기 › (절 첫머리) | 11쪽 | split_basic.py 이름이 나옴 |
| 7 | 07/check_overlap.py | 6. 실습 ② — overlap을 눈으로 확인하기 › (절 첫머리) | 13쪽 | check_overlap.py 이름이 나옴 |
| 7 | 07/prepare.py | 10. 이번 차시 완성 코드 › (절 첫머리) | 20~21쪽 | prepare.py 이름이 나옴 |
| 8 | 08/first_rag.py | 7. 실습 ③ — 답변 생성 붙이기 › (절 첫머리) | 13~14쪽 | first_rag.py 이름이 나옴 |
| 8 | 08/test_rag.py | 7. 실습 ③ — 답변 생성 붙이기 › (절 첫머리) | 13~14쪽 | 같은 함수·이름 ChatOpenAI, FAISS, OpenAIEmbeddings, ask |
| 9 | 09/embed_look.py | 4. 실습 ① — 벡터를 직접 눈으로 보기 › (절 첫머리) | 9쪽 | embed_look.py 이름이 나옴 |
| 9 | 09/similarity.py | 5. 실습 ② — 유사도 직접 재보기 › (절 첫머리) | 10쪽 | similarity.py 이름이 나옴 |
| 9 | 09/find_threshold.py | 6. 실습 ③ — 내 기준선 찾기 › (절 첫머리) | 12~13쪽 | find_threshold.py 이름이 나옴 |
| 10 | 10/build_index.py | 3. 실습 ① — 인덱스 만들고 저장하기 › (절 첫머리) | 7쪽 | build_index.py 이름이 나옴 |
| 10 | 10/load_index.py | 4. 실습 ② — 불러와서 재사용하기 › (절 첫머리) | 9쪽 | load_index.py 이름이 나옴 |
| 10 | 10/indexer.py | 4. 실습 ② — 불러와서 재사용하기 › 4-1) 있으면 불러오고 없으면 만들기 | 9~10쪽 | indexer.py 이름이 나옴 |
| 11 | 11/retriever_test.py | 4. 실습 ① — Retriever 만들고 비교하기 › (절 첫머리) | 9쪽 | retriever_test.py 이름이 나옴 |
| 11 | 11/retriever_test_fast.py | 4. 실습 ① — Retriever 만들고 비교하기 › (절 첫머리) | 9쪽 | 같은 함수·이름 QUESTION, as_retriever, invoke |
| 11 | 11/retriever.py | 8. 오늘의 완성 코드 › (절 첫머리) | 17쪽 | retriever.py 이름이 나옴 |
| 11 | 11/retriever_fast.py | 실습 페이지 (짝 없음) | - | - |
| 12 | 12/diagnose.py | 5. 실습 ① — 진단 함수 만들기 › (절 첫머리) | 9~10쪽 | diagnose.py 이름이 나옴 |
| 13 | 13/prompts.py | 4. 실습 ① — 프롬프트 파일 분리 › (절 첫머리) | 9~10쪽 | prompts.py 이름이 나옴 |
| 13 | 13/compare_prompt.py | 5. 실습 ② — 프롬프트 A/B 비교 › (절 첫머리) | 11쪽 | compare_prompt.py 이름이 나옴 |
| 13 | 13/validators.py | 5. 실습 ② — 프롬프트 A/B 비교 › (절 첫머리) | 11쪽 | 같은 함수·이름 ChatOpenAI, PROMPTS, StrOutputParser, build_context |
| 13 | 13/rag_v3.py | 9. 오늘의 완성 코드 › (절 첫머리) | 17~18쪽 | rag_v3.py 이름이 나옴 |
| 14 | 07/prepare.py | 3. 실습 ① — 자동 측정 도구 만들기 › (절 첫머리) | 7쪽 | 같은 함수·이름 RecursiveCharacterTextSplitter, load_documents, split_documents |
| 14 | 11/retriever.py | 3. 실습 ① — 자동 측정 도구 만들기 › (절 첫머리) | 7쪽 | 같은 함수·이름 FAISS, build_context, invoke, similarity_search_with_relevance_scores |
| 14 | 13/prompts.py | 실습 페이지 (짝 없음) | - | - |
| 15 | rag_app/prompts.py | 2. 목표 구조 — 4개 모듈 › (절 첫머리) | 5쪽 | prompts.py 이름이 나옴 |
| 15 | rag_app/config.py | 3. 실습 ① — config.py › (절 첫머리) | 6쪽 | config.py 이름이 나옴 |
| 15 | rag_app/indexer.py | 4. 실습 ② — indexer.py › (절 첫머리) | 8~9쪽 | indexer.py 이름이 나옴 |
| 15 | rag_app/rag.py | 5. 실습 ③ — rag.py (핵심) › (절 첫머리) | 10쪽 | 손으로 정함 |
| 15 | rag_app/app.py | 7. 실습 ④ — app.py (터미널 버전) › (절 첫머리) | 14쪽 | 손으로 정함 |
| 15 | rag_app/web.py | 8. 실습 ⑤ — Streamlit 웹 화면 (선택) › (절 첫머리) | 16쪽 | web.py 이름이 나옴 |
| 16 | rag_app/config.py | 7. 1부에서 남긴 자산 확인 › (절 첫머리) | 15쪽 | config.py 이름이 나옴 |
| 16 | rag_app/indexer.py | 실습 페이지 (짝 없음) | - | - |
| 16 | rag_app/rag.py | 실습 페이지 (짝 없음) | - | - |
| 16 | rag_app/app.py | 실습 페이지 (짝 없음) | - | - |
| 17 | 17/simple_graph.py | 실제 코드로 만들어보기 › Step 3: Graph 만들기 | 8쪽 | 같은 함수·이름 StateGraph, add_edge, add_node |
| 17 | 17/conditional_graph.py | 실제 코드로 만들어보기 › Step 3: Graph 만들기 | 8쪽 | 같은 함수·이름 StateGraph, add_edge, add_node |
| 17 | 17/visual_graph.py | Graph를 그림으로 보기 › (절 첫머리) | 11~12쪽 | 같은 함수·이름 BytesIO, PIL, draw_mermaid_png, get_graph |
| 17 | 17/설치확인.py | 실습 페이지 (짝 없음) | - | - |
| 18 | 18/state_demo.py | 4. 실습 ① — State 정의하고 흐름 보기 › (절 첫머리) | 9쪽 | state_demo.py 이름이 나옴 |
| 18 | 18/reducer_demo.py | 6. 실습 ② — Reducer 비교 실험 › (절 첫머리) | 13쪽 | 같은 함수·이름 END, START, StateA, StateB |
| 18 | 18/graph_state.py | 8. 실습 ③ — RAGState 완성 › (절 첫머리) | 17쪽 | graph_state.py 이름이 나옴 |
| 18 | 18/graph_state2.py | 실습 페이지 (짝 없음) | - | - |
| 19 | 19/config.py | 7. 실습 ③ — Fallback 노드 만들기 › 7-1) 지금까지 만든 노드 정리 | 15쪽 | config.py 이름이 나옴 |
| 19 | 19/retrieve.py | 7. 실습 ③ — Fallback 노드 만들기 › 7-1) 지금까지 만든 노드 정리 | 15쪽 | retrieve.py 이름이 나옴 |
| 19 | 19/generate.py | 7. 실습 ③ — Fallback 노드 만들기 › 7-1) 지금까지 만든 노드 정리 | 15쪽 | generate.py 이름이 나옴 |
| 19 | 19/fallback.py | 7. 실습 ③ — Fallback 노드 만들기 › 7-1) 지금까지 만든 노드 정리 | 15쪽 | fallback.py 이름이 나옴 |
| 19 | 19/manual_flow.py | 10. 노드를 이어서 돌려보기 › (절 첫머리) | 20~21쪽 | manual_flow.py 이름이 나옴 |
| 20 | 20/routes.py | 4. 실습 ① — 19차시 if문을 Edge로 옮기기 › 4-2) 옮긴 뒤 (20차시) | 8~9쪽 | routes.py 이름이 나옴 |
| 20 | 20/graph_v1.py | 4. 실습 ① — 19차시 if문을 Edge로 옮기기 › 4-2) 옮긴 뒤 (20차시) | 8~9쪽 | graph_v1.py 이름이 나옴 |
| 20 | 20/graph_v2.py | 4. 실습 ① — 19차시 if문을 Edge로 옮기기 › 4-2) 옮긴 뒤 (20차시) | 8~9쪽 | 같은 함수·이름 END, START, StateGraph, add_conditional_edges |
| 20 | 20/graph_v3.py | 4. 실습 ① — 19차시 if문을 Edge로 옮기기 › 4-2) 옮긴 뒤 (20차시) | 8~9쪽 | 같은 함수·이름 END, START, StateGraph, add_conditional_edges |
| 20 | 20/loop.py | 7. 실습 ③ — 무한루프 체험하기 › (절 첫머리) | 14쪽 | 같은 함수·이름 END, START, StateGraph, add_edge |
| 21 | 21/mini_graph.py | 3. 실습 ① — State와 더미 노드 › (절 첫머리) | 6~7쪽 | mini_graph.py 이름이 나옴 |
| 21 | 21/mini_graph2.py | 3. 실습 ① — State와 더미 노드 › (절 첫머리) | 6~7쪽 | 같은 함수·이름 MiniState, bump, fallback, generate |
| 21 | 21/mini_graph_nodetest.py | 3. 실습 ① — State와 더미 노드 › (절 첫머리) | 6~7쪽 | 같은 함수·이름 MiniState, bump, fallback, generate |
| 21 | 21/mini_graph_node_conn.py | 5. 실습 ③ — 그래프 조립 › (절 첫머리) | 9쪽 | 같은 함수·이름 END, MAX_RETRY, START, StateGraph |
| 21 | 21/mini_graph_node_image.py | 5. 실습 ③ — 그래프 조립 › (절 첫머리) | 9쪽 | 같은 함수·이름 END, MAX_RETRY, START, StateGraph |
| 22 | 22/graph_step_by_step.py | 4. 실습 ② — 그래프 완성 › (절 첫머리) | 6~7쪽 | 같은 함수·이름 END, START, StateGraph, add_conditional_edges |
| 22 | 22/graph.py | 4. 실습 ② — 그래프 완성 › (절 첫머리) | 6~7쪽 | 손으로 정함 |
| 22 | 22/graph22.py | 4. 실습 ② — 그래프 완성 › (절 첫머리) | 6~7쪽 | 같은 함수·이름 END, START, StateGraph, add_conditional_edges |
| 22 | 22/test_migration.py | 6. 실습 ④ — 회귀 테스트 › (절 첫머리) | 10~11쪽 | test_migration.py 이름이 나옴 |
| 22 | 22/test_migration_stream.py | 7. 실습 ⑤ — 흐름 확인 › (절 첫머리) | 12쪽 | 손으로 정함 |
| 22 | 22/app.py | 7. 실습 ⑤ — 흐름 확인 › 7-1) app.py 연결 | 12쪽 | 손으로 정함 |
| 24 | 24/config.py | 3. 실습 ① — Retriever Node 완성 › (절 첫머리) | 7쪽 | 같은 함수·이름 MIN_SCORE, SEARCH_TYPE, TOP_K |
| 24 | 24/retriever_retries.py | 3. 실습 ① — Retriever Node 완성 › (절 첫머리) | 7쪽 | 같은 함수·이름 MIN_SCORE, SEARCH_TYPE, TOP_K, get_store |
| 24 | 24/graph.py | 7. 실습 ④ — 그래프에 연결 › (절 첫머리) | 15쪽 | graph.py 이름이 나옴 |
| 24 | 24/retriever.py | 8. 입출력 명세 문서화 › (절 첫머리) | 17쪽 | retriever.py 이름이 나옴 |
| 24 | 24/graph25.py | 실습 페이지 (짝 없음) | - | - |
| 24 | 24/graph27.py | 실습 페이지 (짝 없음) | - | - |
| 25 | 25/generator2.py | 3. 실습 ① — Generator Node 완성 › (절 첫머리) | 7쪽 | 같은 함수·이름 ChatOpenAI, LLM, LLM_MODEL, MSG_ERROR |
| 25 | 25/generator.py | 5. 실습 ② — 단독 테스트 › (절 첫머리) | 10~11쪽 | generator.py 이름이 나옴 |
| 26 | 26/verifier.py | 7. 실습 ③ — 단독 테스트 › (절 첫머리) | 15~16쪽 | verifier.py 이름이 나옴 |
| 27 | 27/graph27.py | 4. 실습 ① — 그래프 완성 › (절 첫머리) | 9쪽 | 같은 함수·이름 END, MAX_RETRY, START, StateGraph |
| 27 | 27/test_retry.py | 6. 실습 ③ — 루프가 도는 것 확인 › (절 첫머리) | 13쪽 | 손으로 정함 |
| 27 | 27/compare_v22_v27.py | 7. 실습 ④ — 개선 효과 측정 › (절 첫머리) | 15~16쪽 | compare_v22_v27.py 이름이 나옴 |
| 28 | 20/routes.py | 실습 페이지 (짝 없음) | - | - |
| 29 | 29/classifier.py | 3. 실습 ② — 분류 노드 (2차 LLM) › (절 첫머리) | 7~8쪽 | classifier.py 이름이 나옴 |
| 29 | 29/intents.py | 4. 실습 ③ — 유형별 처리 노드 › (절 첫머리) | 9쪽 | intents.py 이름이 나옴 |
| 29 | 29/graph29.py | 5. 실습 ④ — 다중 분기 구현 › (절 첫머리) | 11쪽 | 같은 함수·이름 END, RAG, START, StateGraph |
| 29 | 29/test_routing.py | 7. 실습 ⑥ — 경로별 동작 확인 › (절 첫머리) | 15~16쪽 | test_routing.py 이름이 나옴 |
| 30 | 30/rewriter.py | 5. 실습 ② — Rewrite Node 구현 › (절 첫머리) | 10쪽 | rewriter.py 이름이 나옴 |
| 30 | 30/graph30.py | 6. 실습 ③ — 재검색 루프 연결 › (절 첫머리) | 12~13쪽 | 같은 함수·이름 END, MAX_RETRY, MAX_REWRITE, add_conditional_edges |
| 30 | 30/test_rewrite.py | 8. 실습 ④ — 14차시 실패 해결 확인 › (절 첫머리) | 16~17쪽 | test_rewrite.py 이름이 나옴 |
| 31 | 31/safe.py | 5. 실습 ① — 노드별 예외 처리 표준화 › (절 첫머리) | 11~12쪽 | safe.py 이름이 나옴 |
| 31 | 31/graph31.py | 6. 실습 ② — 타임아웃과 재시도 › 6-2) 전체 타임아웃 | 13~14쪽 | 같은 함수·이름 MAX_RETRY, ask, invoke, route_after_verify |
| 31 | 31/logger.py | 7. 실습 ③ — 운영 로그 남기기 › 7-1) 구조화 로그 | 15쪽 | logger.py 이름이 나옴 |
| 31 | 31/analyze_logs.py | 7. 실습 ③ — 운영 로그 남기기 › 7-2) 집계로 확인할 것들 | 15~16쪽 | 같은 함수·이름 Counter, loads, open, sum |
| 31 | 31/test_failure.py | 8. 실습 ④ — 장애 시뮬레이션 › (절 첫머리) | 17~18쪽 | test_failure.py 이름이 나옴 |
| 32 | 32/graph32.py | 2. 실습 ① — 통합 그래프 완성 › (절 첫머리) | 4쪽 | 같은 함수·이름 END, MAX_RETRY, MAX_REWRITE, START |
| 34 | 32/test_regression.py | 실습 페이지 (짝 없음) | - | - |
| 35 | 32/test_coverage.py | 실습 페이지 (짝 없음) | - | - |
| 35 | 32/test_regression.py | 실습 페이지 (짝 없음) | - | - |
| 38 | rag_app_prj/indexer.py | 5. 실습 ② — 문서 준비와 로딩 › 5-1) 프로젝트 폴더 만들기 | 11쪽 | indexer.py 이름이 나옴 |
| 38 | rag_app_prj/config.py | 5. 실습 ② — 문서 준비와 로딩 › 5-2) config 수정 — 세 곳만 | 11쪽 | config.py 이름이 나옴 |
| 38 | 32/graph32.py | 실습 페이지 (짝 없음) | - | - |
| 38 | rag_app_prj/build_guide.py | 실습 페이지 (짝 없음) | - | - |
| 39 | rag_app_prj/prompts.py | 실습 페이지 (짝 없음) | - | - |
| 39 | rag_app_prj/rag.py | 실습 페이지 (짝 없음) | - | - |
| 39 | rag_app_prj/app.py | 실습 페이지 (짝 없음) | - | - |
| 39 | rag_app_prj/web.py | 실습 페이지 (짝 없음) | - | - |
| 39 | 32/graph32.py | 실습 페이지 (짝 없음) | - | - |
| 39 | 32/test_coverage.py | 실습 페이지 (짝 없음) | - | - |
싣지 않은 것
| 경로 | 까닭 |
|---|---|
RAG_Project_Code/ | AI교안/실습/ 과 같은 코드의 주석 없는 판입니다 (venv, .env 포함) |
압축파일/ | 위 폴더들을 묶은 압축본입니다 |
실습/src/08/first_rag copy.py | 중복본이라 교안 해설에도 없습니다 |
실습/data/*.pdf | 실습 입력 문서입니다. 이 폴더에 복사하지 않았습니다 |