AI Wiki - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki
AI Repository: GitHub Link
- [AI] 04. ๋ชจ๋ธ API ์ค๊ณ - ๋จ๊ณ 1
- [AI] 05. ์ถ๋ก ์ฑ๋ฅ ์ต์ ํ - ๋จ๊ณ 2
- [AI] 03. ์ํคํ ์ฒ ์ค๊ณ - ๋จ๊ณ 3 (๋ชจ๋ํ ํฌํจ)
- [AI] 06. ๋ฉํฐ์คํ ํ์ดํ๋ผ์ธ - ๋จ๊ณ 4
- [AI] 07. RAG ์ปจํ ์คํธ ๋ณด๊ฐ - ๋จ๊ณ 5
- [AI] 08. ์ธ๋ถ ๋๊ตฌ ํตํฉ - ๋จ๊ณ 6
- [AI] 10. ์ธํ๋ผ ํ์ฅ์ฑ ๋ชจ๋ํฐ๋ง - ๋จ๊ณ 7
- [AI] 11. ํ ์คํธ ์ ๋ต - ํ์ง ๋ณด์ฆ
- [AI] 12. Pydantic ์คํค๋ง - Request/Response ๊ฒ์ฆ
- [AI] 13. ๋ชจ๋ธ ์ ์ - LLM/VLM/Embedding ์ ์
- [AI] 14. Cloud AI - ํด๋ผ์ฐ๋ AI ์๋น์ค ์ ๋ต
- [AI] 99. ์ต์ข ํตํฉ ํ๊ณ - ๋จ๊ณ 8
[AI] 00. ADR 001-005 - ๊ธฐ๋ณธ ์ํคํ ์ฒ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-001: LLM ์คํธ๋ฆฌ๋ฐ ํต์ ๋ฐฉ์ (SSE vs WebSocket)
- ADR-002: ๋ถ์ ๊ฒฐ๊ณผ ์ ์ฅ ํ์ (JSON vs Text)
- ADR-003: VectorDB ์ ํ (ChromaDB)
- ADR-004: ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์ (Polling)
- ADR-005: ๋ฉด์ Q&A ์ ์ฅ ์ ๋ต (๊ฐ๋ณ ์ ์ฅ)
[AI] 01. ADR 006-010 - ์ธํ๋ผ ๋ฐ ํตํฉ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-006: ์ธํ๋ผ ์งํ ์ ๋ต (EC2 โ Docker โ K8s)
- ADR-007: Kubernetes vs Kubeflow ๋์ ์๊ธฐ
- ADR-008: OCR + ์๋ฒ ๋ฉ ๋ด๋ถ ํตํฉ ์ฒ๋ฆฌ
- ADR-009: ์ฑํ ์ปจํ ์คํธ ๊ด๋ฆฌ (Redis + LangChain Memory)
- ADR-010: OCR ์๋น์ค ์ ํ (Gemini Vision)
[AI] 02. ADR 011-015 - ๊ณ ๊ธ ๊ธฐ๋ฅ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-011: ์๋ฒ๋ฆฌ์ค API ์ ๋ต (Lambda ๊ฒํ )
- ADR-012: ์บ๋ฆฐ๋ ์๋น์ค ์ฐจ๋ณํ ์ ๋ต
- ADR-013: ํ ๋ธ๋ก๊ทธ / Wiki ์ด์ ๋ฐฉ์
- ADR-014: LLM ๋ชจ๋ธ ์ ์ ๋ฐ Fallback ์ ๋ต
- ADR-015: ๋ฐฐ์น ์ฒ๋ฆฌ ์ ๋ต (Celery Beat โ Airflow)
[AI] 03. ADR 016-020 - ๋ชจ๋ํฐ๋ง ๋ฐ ์ต์ ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-016: LLM ๋ชจ๋ํฐ๋ง ๋๊ตฌ (LangSmith vs LangFuse)
- ADR-017: FastAPI ์๋ฒ ๋ถ๋ฆฌ ์ ๋ต (๋ชจ๋ธ ์๋ฒ vs ์๋น์ค ์๋ฒ)
- ADR-018: ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ (Celery Beat โ Kafka)
- ADR-019: LLM ์ถ๋ ฅ ๊ตฌ์กฐํ (LangChain + LangGraph)
- ADR-020: RAG Reranker ๋์ (Cohere Rerank)
[AI] 04. ADR 021-025 - ์ต์ ํ โญ NEW
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-021: Embedding ๋ชจ๋ธ ํต์ผ (Gemini ๋จ์ผ ๋ชจ๋ธ + BM25 Hybrid)
- ADR-022: AI ํ์ดํ๋ผ์ธ ํ ์คํธ (n8n ๋์ )
- ADR-023: ๋ฉด์ ์ง๋ฌธ Pool ์บ์ฑ ์ ๋ต (80% ๋น์ฉ ์ ๊ฐ)
- ADR-024: VectorDB ํํฐ๋ง ์ ๋ต
- ADR-025: (์์ )
[AI] 05. ADR 026-030 - ์๋ฒ ๊ตฌ์กฐ ๋ฐ ๋ชจ๋ธ ์ ๋ต
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-026: Gunicorn + Uvicorn ์๋ฒ ๊ตฌ์กฐ
- ADR-027: AI ํ๋ฅด์๋ ๋์
- ADR-028: (์์ )
- ADR-029: (์์ )
- ADR-030: VectorDB ์ ํ (ChromaDB)
[AI] 06. ADR 031-035 - ๋ชจ๋ธ ํ์ต/์ต์ ํ ๋ฐ ์๋น
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-031: ํ์ธํ๋/๊ฐํํ์ต ๋ฏธ์ ์ฉ ๊ฒฐ์
- ADR-032: Gemini API ์ ํ (LLM + VLM ํตํฉ)
- ADR-033: Ollama ๋์ (๋ฉด์ ๋ชจ๋ ํ์ - ๋ณด์ ๊ฐํ)
- ADR-034: ์๋ฒ ๋ฉ ๋ชจ๋ธ ์ ๋ต (Gemini โ BERT)
- ADR-035: ์ข ํฉ ๋ชจ๋ธ ์ ๋ต (V1-V3)
[AI] 07. ADR 036-040 - PoC/Pilot ๊ธฐ์ ์ ์
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-036: OCR vs VLM ์ ํ ์ ๋ต (CLOVA + Gemini Vision)
- ADR-037: vLLM ๋ก์ปฌ ์๋น ๋ชจ๋ธ ์ ์ (EXAONE vs Qwen)
- ADR-038: ์๋ฒ ๋ฉ ๋ชจ๋ธ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต (Gemini โ ko-sroberta)
- ADR-039: VectorDB ์ ๋ต (ChromaDB ์ ์ง - V3 ์ต์ )
- ADR-040: ๋ถํ ํ ์คํธ ๋ฐ ๋ฐฐ์น ์ฒ๋ฆฌ ์ ๋ต
[AI] 08. ADR 041-045 - ์ธํ๋ผ ํ์ฅ ๋ฐ ํ์ด๋ธ๋ฆฌ๋ ์ค์ผ์ผ๋ง โญ NEW
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-041: ํ์ด๋ธ๋ฆฌ๋ ์ค์ผ์ผ๋ง ์ ๋ต (RunPod + Lambda)
- ADR-042: (์์ )
- ADR-043: (์์ )
- ADR-044: (์์ )
- ADR-045: (์์ )
[AI] 09. ADR 046-050 - ๋น๋๊ธฐ ์ต์ ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-046: ChromaDB ์ด์ ๋ชจ๋ ์ ์ (Embedded โ Server Mode)
- ADR-047: EXAONE 32B ๋ชจ๋ธ ์๋น์ ์ํ GPU ์ธํ๋ผ ์ ํ (RunPod)
- ADR-048: ์ฑํ ยท๋ฉด์ ํผ๋๋ฐฑ ์๋ต ๋ฐฉ์ (์คํธ๋ฆฌ๋ฐ ์ ์ง)
- ADR-049: ๋น๋๊ธฐ ํธ์ถ ๋ฐฉ์ - ์๋ฒ ๋ฉ ๋ฐฐ์น ๋ฐ ๋ ๋ฆฝ ์์ ๋ณ๋ ฌํ
- ADR-050: RAGยท๋ฉด์ ์กฐํ ๋ณ๋ ฌํ (asyncio.gather)
[AI] 10. ADR 051-055 - ํ์ดํ๋ผ์ธ ๊ณ ๋ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-051: ๋ชจ์ ๋ฉด์ ์ง๋ฌธ ์์ฑ ๋ฐฉ์ (๋คํ ๊ฐ๋ณ ํธ์ถ โ 1ํ ๋ฐฐ์น ์์ฑ)
- ADR-052: ํ๋กฌํํธ ๊ด๋ฆฌ ๋ฐฉ์ ์งํ (์ฝ๋ ๋ด์ฅ โ YAML ์ธ๋ถํ)
- ADR-053: ์ฑํ ๋ํ ๋งฅ๋ฝ(history) ์ค์ ๋ฐ์ (LCEL ๋์ )
- ADR-054: RAG ๋ฆฌํธ๋ฆฌ๋ฒ ํ์ฅ (Dense MMR + Sparse BM25 ์์๋ธ)
- ADR-055: ์บ์ยท์ง๋ฌธ ์ด๋ ฅ ์ ์ฅ์ ์ ๋ต (์ธ๋ฉ๋ชจ๋ฆฌ ์ฐ์ , Redis/Kafka ํ์ฅ)
[AI] 11. ADR 056-060 - RAG ํ์ฅ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-056: ๋ชจ์๋ฉด์ ๊ฒฐ๊ณผ VectorDB ์๋ ์ ์ฌ ํ์ดํ๋ผ์ธ
- ADR-057: ๋ฉด์ ยท์ฑํ ๋ํ ๋งฅ๋ฝ ๊ด๋ฆฌ ์ ๋ต (์ธ์ ๊ธฐ๋ฐ, ๋ฒํผ ๋ฉ๋ชจ๋ฆฌ ๋ฏธ๋์ )
- ADR-058: PDF ํ ์คํธ ์ถ์ถ ์ ๋ต (OCR ํ์ดํ๋ผ์ธ ์ ์ง)
- ADR-059: URL ๊ธฐ๋ฐ ๋ฌธ์ ์ ๋ ฅ ์ง์ (WebBaseLoader ๋์ )
- ADR-060: ํ ์คํธ ๋ถํ ์ ๋ต (RecursiveCharacterTextSplitter + pdfplumber ์ ํ ๋ก๋๋งต)
[AI] 12. ADR 061-065 - ๋ณด์ ๋ฐ DB ์ฐ๋
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-061: RAGChain MMR ์ฝ๋ฃจํด ๋ฒ๊ทธ ์์ ๋ฐ Langfuse ๊ด์ธก ๋์
- ADR-062: ํ๋กฌํํธ ์ธ์ ์ ๋ฐฉ์ด ์์คํ (์ ๊ท์ ๊ธฐ๋ฐ 2๋จ๊ณ ํํฐ๋ง)
- ADR-063: PDF ํ ์คํธ ์ถ์ถ ์ ๋ต ์งํ (pdfplumber ์ฐ์ + OCR ํด๋ฐฑ)
- ADR-064: ChromaDB-PostgreSQL ๋ฐ์ดํฐ ์ฐ๋ ์ ๋ต (user_id ๊ธฐ๋ฐ ๊ฐ์ ์ฐ๋)
- ADR-065: ์๋ฒ ๋ฉ ์บ์ ์ ๋ต (CacheBackedEmbeddings + LocalFileStore)
[AI] 13. ADR 066-070 - ๋ฆฌํธ๋ฆฌ๋ฒ ์ ๋ต
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-066: ๊ธฐ์ ๋ฉด์ ์ง๋ฌธ ์ค๋ณต ๋ฐฉ์ง (์๋ฒ ๋ฉ ์ ์ฌ๋ + ๋ต๋ณ ํ์ง ํ๊ฐ)
- ADR-067: LangChain 6๋ ๋ชจ๋ ๋์ ํํฉ (4๊ฐ ์์ ๋์ , Memory ์๋์ ๋ฏธ๋์ )
- ADR-068: LangChain Callbacks ๋์ (Langfuse CallbackHandler ์ ํ)
- ADR-069: RAG ๋ฆฌํธ๋ฆฌ๋ฒ ํ์ฅ ์ ๋ต ๋ก๋๋งต
- ADR-070: LCEL ์ ํ + ๋ถ๋ชจ ๋ฌธ์ยท๋ค์ค ์ฟผ๋ฆฌ ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ ๊ณํ
[AI] 14. ADR 071-075 - ๊ณ ๊ธ ๋ฆฌํธ๋ฆฌ๋ฒ ๋์
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-071: ๋ถ๋ชจ ๋ฌธ์ ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ (ParentDocumentRetriever + InMemoryStore)
- ADR-072: ๋ค์ค ์ฟผ๋ฆฌ ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ (LCEL ์ฒด์ธ ๊ธฐ๋ฐ ์ฟผ๋ฆฌ ๋ค๊ฐํ)
- ADR-073: ๋ค์ค ๋ฒกํฐ ์คํ ์ด ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ (์์ฝ ์๋ฒ ๋ฉ + ๊ฐ์ค ์ฟผ๋ฆฌ)
- ADR-074: ์ ํ ์ฟผ๋ฆฌ ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ (๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๊ตฌ์กฐํ ๊ฒ์)
- ADR-075: ์๊ฐ ๊ฐ์ค ๋ฒกํฐ ์คํ ์ด ๋ฆฌํธ๋ฆฌ๋ฒ ๋์ (๊ฐ์ ์จ ๊ธฐ๋ฐ ์ต์ ์ฑ ๋ฐ์)
[AI] 16. ADR 081-085 - SageMaker ๋์ (ADR-076~080 ํ์ผ ์์)
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-081: Amazon SageMaker ๋์ ๊ฒฐ์ (๊ด๋ฆฌํ ML ์๋น ํ๋ซํผ ์ ์ )
- ADR-082: SageMaker ํธ์คํ ๋ฐฉ์ (์ค์๊ฐ + ๋น๋๊ธฐ ํผํฉ ์ ๋ต)
- ADR-083: SageMaker์ ๊ธฐ์กด vLLMยทRunPod ํตํฉ ์ ๋ต
- ADR-084: SageMaker ๋ชจ๋ธ ํจํค์ง ๋ฐ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ
- ADR-085: SageMaker ๋ชจ๋ํฐ๋ง ๋ฐ ๋น์ฉ ๊ด๋ฆฌ (CloudWatch + Cost Explorer)
[AI] 17. ADR 086-090 - LLM ์ต์ ํ ๋ฐ MLOps
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-086: ํจ์จ์ฑยท๋ต๋ณ ํ์งยท์์ ์ฑ โ Exaone 8B ์ ์ธ, Gemini API ์ ์ง
- ADR-087: SageMaker ๋์ โ LLM ํ์ธํ๋ ํ์ 5๋ ๊ธฐ๋ฅ
- ADR-088: ์ฑ์ฉ ํธ๋ ๋ ๋ฐฐ์น ํ์ต ํ์ดํ๋ผ์ธ (ํฌ๋ก +Celery + SageMaker Training)
- ADR-089: ํ์ตยท๋ฐฐํฌ์ฉ Docker ์ด๋ฏธ์ง ๊ด๋ฆฌ (AWS ECR)
- ADR-090: ๊ฐ์ธํ ์ถ์ฒ ๋์ (Phase 1: ์ฝํ ์ธ ํํฐ๋ง, Phase 2: ํ์ ํํฐ๋ง)
[AI] 18. ADR 091-095 - OSS LLM ๋ฐ ํ๊ฐ ์ ๋ต
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-091: Langfuse LLM-as-Judge ๊ธฐ๋ฐ ๋ชจ๋ธ ํ๊ฐ ์ ๋ต
- ADR-092: vLLMยทExaONE 8Bยท32B ์๋น ํธ๋์คํฌ๋จธยท์์ํ ํ ์คํธ ์ ๋ต
- ADR-093: OSS LLM ์ฑํ โ Qwen3-14B-Base ๋ฐ ๊ถ์ฅ GPU ์ธ์คํด์ค
- ADR-094: ์ฑ์ฉ ํธ๋ ๋ ๋ฐ์ดํฐ ์์ง (WebBaseLoader ์์ฒด ํฌ๋กค๋ง)
- ADR-095: ์ฑ์ฉ ํธ๋ ๋ ์๋ ํฌ๋กค๋ง ๋ก๋๋งต (WebBaseLoader โ Tavily)
[AI] 19. ADR 096-100 - ์ธํ๋ผ ๋ฐ ์ด์ ์ต์ ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-096: Celery Beat ์ค์ผ์ค๋ฌ๋ฅผ ์ํ Redis/ElastiCache ํตํฉ ์ ๋ต
- ADR-097: AI ์๋ฒ ์ค๊ฐ ๊ตฌํ ์ฒดํฌํฌ์ธํธ (๋์ ํํฉ ์ ๊ฒ ๋ฐ ์ฐ์ ์์ ์ ๋ฆฌ)
- ADR-098: LLM ํ๋ฅด์๋ ๊ฐํ ์ ๋ต (๋ฉด์ ๊ด ์บ๋ฆญํฐ ๋ค์ํ)
- ADR-099: OCR ํ์ดํ๋ผ์ธ ๋จ์ํ (LangChain PDFLoader ํ์ )
- ADR-100: CORS ์ ์ฑ ์์ (๋ช ์์ ๋๋ฉ์ธ ๊ด๋ฆฌ + ํ๊ฒฝ๋ณ์ํ)
[AI] 20. ADR 101-105 - ๊ธฐ๋ฅ ๊ณ ๋ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-101: Tavily Search API ๋์ (์ฑ์ฉ ํธ๋ ๋ Phase 2 ํฌ๋กค๋ง ๊ณ ๋ํ)
- ADR-102: CPU-bound ๋น๋๊ธฐ ํ์คํฌ Celery ์ด๊ด (504 ํ์์์ ํด๊ฒฐ)
- ADR-103: Tavily Search API ์ ์ฒด ๊ตฌํ ์๋ฃ (๊ฒ์ API + ์บ์ฑ + ํด๋ฐฑ)
- ADR-104: RAG ๋ฆฌ๋ญ์ปค ์ ์ (FlashRank ๋์ )
- ADR-105: AI ์๋น์ค Redis ์ฌ์ฉ ํํฉ ๋ฐ AWS ElastiCache ์ฐ๋ ๊ฐ์ด๋
[AI] 21. ADR 106-110 - LCEL ์ํคํ ์ฒ ๊ณ ๋ํ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-106: RAG ํ์ดํ๋ผ์ธ ๊ณ ๋ํ ๋ก๋๋งต (LCEL โ ๊ณ ๊ธ ๋ฆฌํธ๋ฆฌ๋ฒ โ RAPTOR)
- ADR-107: Docker Compose ๋์์ฑ ํ์ฅ (Gunicorn 4 Uvicorn Workers)
- ADR-108: Celery Fallback ์ ๋ต (Redis ์ฐ๊ฒฐ ๋ถ๊ฐ ์ asyncio.create_task() ์ ํ)
- ADR-109: ์ฌ์ ์ ์ ์์ฝ ์ฒด์ธ ์ ํ ์ ๋ต (stuff/map-reduce/map-refine/CoD)
- ADR-110: LCEL ๊ณ ๊ธ ๋ฌธ๋ฒ ์ ๋ฉด ๋์ (Runnable ๊ฐ์ฒด ์กฐํฉ)
[AI] 22. ADR 111-115 - ๋ชจ๋ธ ํ๊ฐ ๋ฐ ML ํ์ดํ๋ผ์ธ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-111: ์ธ์ด๋ชจ๋ธ ์ ํ๋ณ ์ ์ฉ ์ ๋ต (MLM/์๊ธฐํ๊ท/ํธ๋์คํฌ๋จธ ์ญํ ๋ถ๋ฆฌ)
- ADR-112: AI ํ๊ฐ ๊ณ ๋ํ ์ ๋ต (Faithfulness/Context Relevance/Multi-Judge)
- ADR-113: Langfuse ๊ธฐ๋ฐ RAG ํ๊ฐ ๊ณ ๋ํ (Dataset API/Heuristic/RAGAS)
- ADR-114: ML ํ์ดํ๋ผ์ธ ๋ฐฐ์น ์ ๋ต (Dev ํ์ต / Prod ์ถ๋ก ๋ถ๋ฆฌ ์ํคํ ์ฒ)
- ADR-115: SageMaker Managed Instance ์ ๋ต (์ผํ์ฑ ํ์ต + ์์ ์ถ๋ก )
[AI] 23. ADR 116-120 - SageMaker ์๋ํ ์ ๋ต
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-116: SageMaker ์๋ํ ๋๊ตฌ ๋น๊ต (๋์ vs ์ ์ธ ๊ฒฐ์ )
- ADR-117: SageMaker Pipelines vs Airflow (SageMaker Pipelines ์ ํ)
- ADR-118: SageMaker AMT ๋์ (Pipeline TuningStep + Bayesian Optimization)
- ADR-119: ECR ๊ธฐ๋ฐ ํ์ต ์ปจํ ์ด๋ ํตํฉ ๊ด๋ฆฌ (JumpStart ๋ฏธ์ฌ์ฉ ๊ฒฐ์ )
- ADR-120: SageMaker Experiments ๋์ (Langfuse์ ์ญํ ๋ถ๋ฆฌ)
[AI] 24. ADR 121-125 - ์์ ์ฑ ๋ฐ ์ฝ๋ ํ์ง
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-121: INTERVIEW PHASE 1 SSE Keepalive (300โ180์ด, ํ์์์ ๋์)
- ADR-122: VectorDB โ S3 ํ์ต ๋ฐ์ดํฐ ๋๊ธฐํ Celery ํ์คํฌ ํธ๋ฌ๋ธ์ํ
- ADR-123: Gunicorn ๋ฉํฐ์์ปค ์ธ์ ํ์ผ ๋ฝ (threading.Lock โ FileLock)
- ADR-124: LLM ์๋ต ํฌํผ ์ถ์ถ ๋ฐ ๊ผฌ๋ฆฌ์ง๋ฌธ Silent Failure ์ ๊ฑฐ
- ADR-125: Few-shot ๊ฑฐ๋ฆฌ ์ํ ์ ๋ต ๋ฐ ํ๊ฐ ํ๋กฌํํธ ์ธ๋ถํ
[AI] 25. ADR 126-130 - ๊ณ ๊ฐ์ฉ์ฑ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-126: Redis ๊ณ ๊ฐ์ฉ์ฑ(HA) ์ ๋ต (ElastiCache Replication Group)
- ADR-127: SSE ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ํด์ ๊ฐ์ง (is_disconnected() + CancelledError)
- ADR-128: ํด๋ง ํํธ ์ถ๊ฐ (202 ์๋ต์ interval_ms / max_attempts ํฌํจ)
- ADR-129: ์ธํฐ๋ทฐ ๋ผ์ฐํธ ์ฝ๋ ํ์ง ๊ณ ๋ํ (ํฌํผ ์ถ์ถ / Few-Shot ์บ์ / ํ๋กฌํํธ ์ธ๋ถํ)
- ADR-130: FileTaskStore โ RedisTaskStore ๋ง์ด๊ทธ๋ ์ด์ (k8s ๋ฉํฐ ํ๋ ๋์)
[AI] 26. ADR 131-135 - ์์คํ ๊ณ ๋ํ ๋ฐ ์์ฑ
์์ธ ๋ชฉ์ฐจ ๋ณด๊ธฐ
- ADR-131: Tavily ๊ฒฐ๊ณผ ์ ๋ขฐ์ฑ ๊ฒ์ฆ + ์ต์ ๋ฐ์ดํฐ ํํฐ๋ง (ADR-101 ๊ณ ๋ํ)
- ADR-132: ์ธ์ ์คํ ์ดยทํ์คํฌ ํ Redis ๋ง์ด๊ทธ๋ ์ด์ (k8s ๋ฉํฐ ํ๋ ์ํ ๊ณต์ )
- ADR-133: SageMaker Celery Worker ๋ฐฐ์น ์ ๋ต (sagemaker_sync ํ ์ฒ๋ฆฌ)
- ADR-134: BM25+MMR ์์๋ธ ํ์ดํ๋ผ์ธ ๋ฐํ์ ๊ฒ์ฆ ๊ฐ์์ฑ ํ๋ณด
- ADR-135: ๋น๋๊ธฐ ์์ ์๋ฃ ์๋ฆผ ์ ๋ต (Webhook Primary + Polling Fallback)
| ๊ธฐ๋ฅ | ์ค๋ช | ์ฌ์ฉ ๊ธฐ์ |
|---|---|---|
| ์ด๋ ฅ์ ๋ถ์ | ๊ฐ์ /์ฝ์ ๋ถ์ + ๊ฐ์ ์ ์ ์ | LLM + RAG + BM25 Hybrid |
| ์ฑ์ฉ๊ณต๊ณ ๋งค์นญ | ์ด๋ ฅ์-์ฑ์ฉ๊ณต๊ณ ์ ํฉ๋ ๋ถ์ | Gemini Embedding + LLM |
| ๋ชจ์ ๋ฉด์ | AI ๋ฉด์ ๊ด (๊ผฌ๋ฆฌ์ง๋ฌธ + ํ๊ฐ) | LangGraph + Question Pool |
| ์บ๋ฆฐ๋ ์์ด์ ํธ | ์์ฐ์ด๋ก ์ผ์ CRUD | Tool Calling |
| ๊ฐ์ธ์ ๋ณด ๋ง์คํน | ์ฒจ๋ถํ์ผ ๊ฐ์ธ์ ๋ณด ์๋ ๋ง์คํน | VLM + YOLO |
| ๊ตฌ๋ถ | ๊ธฐ์ |
|---|---|
| Framework | FastAPI (Python 3.10) |
| LLM | Gemini 3 Flash/Pro + GPT-5 mini (Fallback) |
| Workflow | LangChain + LangGraph |
| Embedding | Gemini Embedding (๋จ์ผ ๋ชจ๋ธ, ADR-021) |
| VectorDB | ChromaDB |
| Retriever | BM25 + Vector Hybrid Search (ADR-021) |
| Reranker | Cohere Rerank API (ADR-020) |
| Cache | Redis (Session + Question Pool) |
| OCR | CLOVA OCR / Gemini Vision |
| Monitoring | LangSmith (ADR-016) |
| Testing | n8n (ADR-022) |
| Batch | Celery Beat (ADR-015) |
| Infrastructure | RunPod (70%) + Lambda (30%) ํ์ด๋ธ๋ฆฌ๋ (ADR-041) |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 001 | LLM ์คํธ๋ฆฌ๋ฐ ํต์ | SSE ์ ํ |
| 002 | ๋ถ์ ๊ฒฐ๊ณผ ์ ์ฅ | JSON (ํ์ด๋ธ๋ฆฌ๋) |
| 003 | VectorDB ์ ํ | ChromaDB |
| 004 | ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์ | Polling |
| 005 | ๋ฉด์ Q&A ์ ์ฅ | ๋งค ๋ฌธ๋ต ๊ฐ๋ณ ์ ์ฅ |
| 006 | ์ธํ๋ผ ์งํ ์ ๋ต | EC2 โ Docker โ K8s |
| 007 | K8s ๋์ ์๊ธฐ | V3 |
| 008 | OCR + ์๋ฒ ๋ฉ | AI Server ๋ด๋ถ ํตํฉ |
| 009 | ์ฑํ ์ปจํ ์คํธ | Redis + LangChain Memory |
| 010 | OCR ์๋น์ค | Gemini Vision (V1) |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 011 | ์๋ฒ๋ฆฌ์ค API | V3์์ Lambda ๊ฒํ |
| 012 | ์บ๋ฆฐ๋ ์ฐจ๋ณํ | V2: ์ค๋น ๊ฐ์ด๋ |
| 013 | Wiki ์ด์ | GitHub Wiki + ๋ธ๋ก๊ทธ |
| 014 | LLM ๋ชจ๋ธ ์ ์ | Gemini 3 Flash + GPT-5 mini Fallback |
| 015 | ๋ฐฐ์น ์ฒ๋ฆฌ ์ ๋ต | Celery Beat โ Airflow ๊ฒํ |
| 016 | LLM ๋ชจ๋ํฐ๋ง | LangSmith (V2~) |
| 017 | FastAPI ์๋ฒ ๋ถ๋ฆฌ | V3: ๋จ์ผ โ V4: ๋ชจ๋ธ/์๋น์ค ๋ถ๋ฆฌ |
| 018 | ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ | Celery Beat (V3) โ Kafka ๊ฒํ (V4+) |
| 019 | LLM ์ถ๋ ฅ ๊ตฌ์กฐํ | LangChain + LangGraph (V3~) |
| 020 | RAG Reranker | Cohere Rerank (V3~) |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 021 | Embedding ๋ชจ๋ธ ํต์ผ | Gemini ๋จ์ผ ๋ชจ๋ธ + BM25 Hybrid |
| 022 | AI ํ์ดํ๋ผ์ธ ํ ์คํธ | n8n ๋์ (๊ฐ๋ฐ/ํ ์คํธ) |
| 023 | ๋ฉด์ ์ง๋ฌธ Pool ์บ์ฑ | Question Pool + RAG Fallback (80% ๋น์ฉ ์ ๊ฐ) |
| 024 | VectorDB ํํฐ๋ง | ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง (V3) โ RDB Hybrid ๊ฒํ (V4) |
| 025 | (์์ ) | - |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 041 | ํ์ด๋ธ๋ฆฌ๋ ์ค์ผ์ผ๋ง | RunPod (70%) + Lambda (30%) - 24% ๋น์ฉ ์ ๊ฐ |
| 042 | (์์ ) | - |
| 043 | (์์ ) | - |
| 044 | (์์ ) | - |
| 045 | (์์ ) | - |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 046 | ChromaDB ์ด์ ๋ชจ๋ | Server Mode ๋์ (K8s ๋ฉํฐ ์ธ์คํด์ค ์ง์) |
| 047 | GPU ์ธํ๋ผ ์ ํ | RunPod ์๋ฒ๋ฆฌ์ค (๋น์ฉยทํ ๋น๋ ์ต์ ) |
| 048 | ์ฑํ ยท๋ฉด์ ์๋ต ๋ฐฉ์ | ์คํธ๋ฆฌ๋ฐ ์ ์ง (UXยท๋น์ฉยท์์ ์ฑ) |
| 049 | ์๋ฒ ๋ฉ ๋ฐฐ์น ๋ณ๋ ฌํ | asyncio.gather (์ฒ๋ฆฌ๋ยท๋น์ฉ ๊ฐ์ ) |
| 050 | RAGยท๋ฉด์ ์กฐํ ๋ณ๋ ฌํ | asyncio.gather (์ง์ฐ ๋ฐ๊ฐ) |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 051 | ๋ฉด์ ์ง๋ฌธ ์์ฑ ๋ฐฉ์ | 1ํ ๋ฐฐ์น ์์ฑ (API ํธ์ถ 5โ1ํ) |
| 052 | ํ๋กฌํํธ ๊ด๋ฆฌ ๋ฐฉ์ | YAML ์ธ๋ถํ (๋ฒ์ ๊ด๋ฆฌยท๋ณด์ยท์ฌ์ฌ์ฉ) |
| 053 | ์ฑํ ๋ํ ๋งฅ๋ฝ ๋ฐ์ | LCEL ๋ฌธ๋ฒ ๋์ (Gemini ํ์คํ ๋ฆฌ ์๋ ๊ด๋ฆฌ) |
| 054 | RAG ๋ฆฌํธ๋ฆฌ๋ฒ ํ์ฅ | Dense(MMR)+Sparse(BM25) ์์๋ธ |
| 055 | ์บ์ยท์ง๋ฌธ ์ด๋ ฅ ์ ์ฅ | ์ธ๋ฉ๋ชจ๋ฆฌ ์ฐ์ , Redis/Kafka ํ์ฅ ๋๋น |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 056 | ๋ฉด์ ๊ฒฐ๊ณผ VectorDB ์ ์ฌ | ๋น๋๊ธฐ ์๋ ์ ์ฌ + ๋ฐฐ์น CLI |
| 057 | ๋ํ ๋งฅ๋ฝ ๊ด๋ฆฌ ์ ๋ต | ์ธ์ ๊ธฐ๋ฐ ๊ด๋ฆฌ (๋ฒํผ ๋ฉ๋ชจ๋ฆฌ ๋ฏธ๋์ ) |
| 058 | PDF ํ ์คํธ ์ถ์ถ | OCR ํ์ดํ๋ผ์ธ ์ ์ง (LangChain Loader ๋ฏธ๋์ ) |
| 059 | URL ๊ธฐ๋ฐ ๋ฌธ์ ์ ๋ ฅ | WebBaseLoader ๋์ |
| 060 | ํ ์คํธ ๋ถํ ์ ๋ต | RecursiveCharacterTextSplitter + pdfplumber ์ ํ ์ค๋น |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 061 | MMR ๋ฒ๊ทธ ์์ ๋ฐ ๊ด์ธก | Langfuse ์๋ฒ ๋ฉยท๋ฆฌํธ๋ฆฌ๋ฒ span ์ถ๊ฐ |
| 062 | ํ๋กฌํํธ ์ธ์ ์ ๋ฐฉ์ด | ์ ๊ท์ ๊ธฐ๋ฐ 2๋จ๊ณ ํํฐ๋ง |
| 063 | PDF ์ถ์ถ ์ ๋ต ์งํ | pdfplumber ์ฐ์ + EasyOCR ํด๋ฐฑ |
| 064 | ChromaDB-PostgreSQL ์ฐ๋ | user_id ๊ธฐ๋ฐ ๊ฐ์ ์ฐ๋ |
| 065 | ์๋ฒ ๋ฉ ์บ์ ์ ๋ต | CacheBackedEmbeddings + LocalFileStore |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 066 | ๋ฉด์ ์ง๋ฌธ ์ค๋ณต ๋ฐฉ์ง | ๋ต๋ณ ํ์ง ๋ฑ๊ธ + ์ ์ฌ๋ ํํฐ๋ง |
| 067 | LangChain 6๋ ๋ชจ๋ ๋์ | 4๊ฐ ์์ ๋์ , Memory ์๋์ ๋ฏธ๋์ |
| 068 | LangChain Callbacks | Langfuse CallbackHandler ์ ํ |
| 069 | RAG ๋ฆฌํธ๋ฆฌ๋ฒ ํ์ฅ ์ ๋ต | ๋ค์ค ๋ฆฌํธ๋ฆฌ๋ฒ ๋ก๋๋งต ์๋ฆฝ |
| 070 | LCEL ์ ํ + ๊ณ ๊ธ ๋ฆฌํธ๋ฆฌ๋ฒ | LCEL + ๊ณ ๊ธ ๋ฆฌํธ๋ฆฌ๋ฒ 5์ข ๋์ ๋ก๋๋งต |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 071 | ๋ถ๋ชจ ๋ฌธ์ ๋ฆฌํธ๋ฆฌ๋ฒ | ParentDocumentRetriever + InMemoryStore |
| 072 | ๋ค์ค ์ฟผ๋ฆฌ ๋ฆฌํธ๋ฆฌ๋ฒ | LLM์ผ๋ก 3๊ฐ์ง ์ฟผ๋ฆฌ ๋ณํ ์์ฑ |
| 073 | ๋ค์ค ๋ฒกํฐ ์คํ ์ด ๋ฆฌํธ๋ฆฌ๋ฒ | ์์ฝยท๊ฐ์ค ์ฟผ๋ฆฌ ํ์ฉ |
| 074 | ์ ํ ์ฟผ๋ฆฌ ๋ฆฌํธ๋ฆฌ๋ฒ | LLM ๋ฉํ๋ฐ์ดํฐ ํํฐ ์๋ ์์ฑ |
| 075 | ์๊ฐ ๊ฐ์ค ๋ฆฌํธ๋ฆฌ๋ฒ | ๊ฐ์ ์จ ๊ธฐ๋ฐ ์ต์ ์ฑ ๋ฐ์ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 081 | SageMaker ๋์ ๊ฒฐ์ | AWS ์ผ์ํ, MLOps ํ์คํ |
| 082 | SageMaker ํธ์คํ ๋ฐฉ์ | ์ค์๊ฐ+๋น๋๊ธฐ ํผํฉ ์ ๋ต |
| 083 | SageMaker-vLLM-RunPod ํตํฉ | 8B SageMaker ์๋น, 32B ๋ฏธ์ฌ์ฉ |
| 084 | ๋ชจ๋ธ ํจํค์ง ๋ฐ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ | Pipeline + Model Registry ๋์ |
| 085 | SageMaker ๋ชจ๋ํฐ๋ง | CloudWatch + Cost Explorer |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 086 | LLM ํจ์จ์ฑ ์ ๋ต | Gemini API ์ ์ง, Exaone 8B ์ ์ธ |
| 087 | SageMaker ํ์ธํ๋ ํ์ ๊ธฐ๋ฅ | Training/Pipelines/Registry/Endpoint/Experiments |
| 088 | ์ฑ์ฉ ํธ๋ ๋ ๋ฐฐ์น ํ์ต ํ์ดํ๋ผ์ธ | ํฌ๋ก +Celery + SageMaker Training |
| 089 | ํ์ตยท๋ฐฐํฌ์ฉ Docker ์ด๋ฏธ์ง ๊ด๋ฆฌ | ECR ํตํฉ ๊ด๋ฆฌ |
| 090 | ๊ฐ์ธํ ์ถ์ฒ ๋์ | Phase 1: ์ฝํ ์ธ ํํฐ๋ง, Phase 2: ํ์ ํํฐ๋ง |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 091 | LLM-as-Judge ํ๊ฐ ์ ๋ต | Langfuse ๊ธฐ๋ฐ ํ์ง ํ๊ฐ ์๋ํ |
| 092 | vLLMยทExaONE ์๋น ์ ๋ต | 8B ์์ํ+vLLM, AWQ ๊ฒํ |
| 093 | OSS LLM ์ฑํ | Qwen3-14B-Base (H100ยทL40S ๊ถ์ฅ) |
| 094 | ์ฑ์ฉ ํธ๋ ๋ ํฌ๋กค๋ง | WebBaseLoader ์์ฒด ํฌ๋กค๋ง (Tavily ์ถํ ๊ฒํ ) |
| 095 | ์ฑ์ฉ ํธ๋ ๋ ์๋ ํฌ๋กค๋ง ๋ก๋๋งต | WebBaseLoader โ Tavily ๋จ๊ณ์ ์ ํ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 096 | Celery Beat Redis/ElastiCache ํตํฉ | ElastiCache Replication Group |
| 097 | AI ์๋ฒ ์ค๊ฐ ์ฒดํฌํฌ์ธํธ | ์ฐ์ ์์: Langfuse > ์๋ฒ ๋ฉ ์บ์ > RAG ๊ณ ๋ํ |
| 098 | LLM ํ๋ฅด์๋ ๊ฐํ ์ ๋ต | ์ง๋ฌด๋ณ ํ๋ฅด์๋ + ํ๋กฌํํธ ์ธ๋ถํ |
| 099 | OCR ํ์ดํ๋ผ์ธ ๋จ์ํ | LangChain PDFLoader ํ์ |
| 100 | CORS ์ ์ฑ ์์ | ๋ช ์์ ๋๋ฉ์ธ ๊ด๋ฆฌ + ํ๊ฒฝ๋ณ์ํ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 101 | Tavily Search API ๋์ | Phase 2 ํฌ๋กค๋ง ๊ณ ๋ํ |
| 102 | CPU-bound ํ์คํฌ Celery ์ด๊ด | text_extract/masking 504 ํ์์์ ํด๊ฒฐ |
| 103 | Tavily Search API ๊ตฌํ ์๋ฃ | ๊ฒ์ API + ์บ์ฑ + ํด๋ฐฑ ๋ก์ง |
| 104 | RAG ๋ฆฌ๋ญ์ปค ์ ์ | FlashRank ๋์ |
| 105 | Redis ์ฌ์ฉ ํํฉ ๋ฐ ElastiCache ์ฐ๋ | ElastiCache ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ด๋ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 106 | RAG ํ์ดํ๋ผ์ธ ๊ณ ๋ํ ๋ก๋๋งต | LCEL > ๊ณ ๊ธ ๋ฆฌํธ๋ฆฌ๋ฒ > RAPTOR ์์ |
| 107 | Docker Compose ๋์์ฑ ํ์ฅ | Gunicorn 4 ์์ปค (deploy.replicas ๋์ฒด) |
| 108 | Celery Fallback ์ ๋ต | Redis ์คํจ ์ asyncio.create_task() ์๋ ์ ํ |
| 109 | ์์ฝ ์ฒด์ธ ์ ํ ์ ๋ต | stuff/map-reduce/map-refine/CoD ๊ธธ์ด๋ณ ์ ํ |
| 110 | LCEL ๊ณ ๊ธ ๋ฌธ๋ฒ ์ ๋ฉด ๋์ | Runnable ๊ฐ์ฒด ์กฐํฉ ๋์ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 111 | ์ธ์ด๋ชจ๋ธ ์ ํ๋ณ ์ ์ฉ ์ ๋ต | MLMโ๋ฆฌ๋ญํน, ์๊ธฐํ๊ทโ์์ฑ, ํธ๋์คํฌ๋จธโ์๋ฒ ๋ฉ |
| 112 | AI ํ๊ฐ ๊ณ ๋ํ ์ ๋ต | ๋ค์ค ํ๊ฐ ์งํ + Langfuse CI/CD ์๋ํ |
| 113 | Langfuse ๊ธฐ๋ฐ RAG ํ๊ฐ ๊ณ ๋ํ | ํด๋ฆฌ์คํฑโ์๋น๊ตโ์จ๋ผ์ธ ์ํ๋ง + RAGAS |
| 114 | ML ํ์ดํ๋ผ์ธ ๋ฐฐ์น ์ ๋ต | Dev ํ์ต / Prod ์ถ๋ก ์์ ๋ถ๋ฆฌ |
| 115 | SageMaker Managed Instance ์ ๋ต | ์ผํ์ฑ ํ์ต + ์์ ์ถ๋ก ๋น์ฉ ์ต์ ํ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 116 | SageMaker ์๋ํ ๋๊ตฌ ๋น๊ต | Training/Pipelines/AMT/Experiments ๋์ , Autopilot ์ ์ธ |
| 117 | SageMaker Pipelines vs Airflow | SageMaker Pipelines ์ ํ |
| 118 | SageMaker AMT ๋์ | Pipeline TuningStep (Bayesian Optimization) |
| 119 | ECR ๊ธฐ๋ฐ ํ์ต ์ปจํ ์ด๋ ๊ด๋ฆฌ | ECR ์ปค์คํ ์ด๋ฏธ์ง, JumpStart ๋ฏธ์ฌ์ฉ |
| 120 | SageMaker Experiments ๋์ | Dev ํ์ต(Experiments) + Prod ์ถ๋ก (Langfuse) ์ญํ ๋ถ๋ฆฌ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 121 | SSE Keepalive ์ ๋ต | 300โ180์ด ๋จ์ถ, Nginx/Gunicorn ํ์์์ ๋์ |
| 122 | VectorDBโS3 Celery ๋๊ธฐํ | ๋ฐฐ์น ํฌ๊ธฐ ์กฐ์ + ์ฌ์๋ ๋ก์ง ์ถ๊ฐ |
| 123 | Gunicorn ์ธ์ ํ์ผ ๋ฝ | threading.Lock โ FileLock ๊ต์ฒด |
| 124 | LLM ์๋ต ํฌํผ ์ถ์ถ | ํฌํผ ์ถ์ถ + Silent Failure ์ ๊ฑฐ |
| 125 | Few-shot ๊ฑฐ๋ฆฌ ์ํ ๋ฐ ํ๋กฌํํธ ์ธ๋ถํ | Few-shot ์ต์ ํ + ํ๋กฌํํธ ์ธ๋ถํ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 126 | Redis HA ์ ๋ต | ElastiCache Replication Group (์๋ ํ์ผ์ค๋ฒ) |
| 127 | SSE ์ฐ๊ฒฐ ํด์ ๊ฐ์ง | is_disconnected() + CancelledError (๋ฆฌ์์ค ๋์ ๋ฐฉ์ง) |
| 128 | ํด๋ง ํํธ ์ถ๊ฐ | 202 ์๋ต์ interval_ms/max_attempts ํฌํจ |
| 129 | ์ธํฐ๋ทฐ ๋ผ์ฐํธ ์ฝ๋ ํ์ง ๊ณ ๋ํ | ํฌํผ ํจ์ยท์บ์ฑยท์ธ๋ถํ ๋ฆฌํฉํ ๋ง |
| 130 | FileTaskStore โ RedisTaskStore ๋ง์ด๊ทธ๋ ์ด์ | k8s ๋ฉํฐ ํ๋ ์ํ ๊ณต์ |
| # | ์ ๋ชฉ | ๊ฒฐ์ |
|---|---|---|
| 131 | Tavily ๊ฒฐ๊ณผ ์ ๋ขฐ์ฑ ๊ฒ์ฆ | ๋๋ฉ์ธ/๋ ์ง/์ค๋ํซ ๊ธฐ๋ฐ ํํฐ๋ง |
| 132 | ์ธ์ ์คํ ์ดยทํ์คํฌ ํ Redis ๋ง์ด๊ทธ๋ ์ด์ | Redis ํตํฉ (k8s ํ์ฅ์ฑ ๋ณด์ฅ) |
| 133 | SageMaker Celery Worker ๋ฐฐ์น ์ ๋ต | sagemaker_sync ํ ์ ์ฉ ์์ปค ๊ฒฉ๋ฆฌ |
| 134 | BM25+MMR ์์๋ธ ๊ฐ์์ฑ ํ๋ณด | Langfuse span ์ถ๊ฐ (์์๋ธ ์ฑ๋ฅ ์ถ์ ) |
| 135 | ๋น๋๊ธฐ ์์ ์๋ฃ ์๋ฆผ ์ ๋ต | Webhook ์ฐ์ + ํด๋ง ํด๋ฐฑ |
- โ Gemini Embedding ๋จ์ผ ๋ชจ๋ธ (๋ฒกํฐ ๊ณต๊ฐ ํต์ผ)
- โ BM25 + Vector Hybrid Search (์ ํ๋ 10~15% ํฅ์)
- โ SBERT ์์ฒด ์๋น ์ ์ธ (ํธํ์ฑ ๋ฌธ์ )
BM25 (ํค์๋ 30%) + Gemini Embedding (์๋ฏธ 70%)
โ
Hybrid Search (20๊ฐ)
โ
Cohere Reranker (3๊ฐ)
โ
LLM
- โ Question Pool + RAG Fallback
- โ ์บ์ ํํธ์จ 80% โ ๋น์ฉ 80% ์ ๊ฐ ($7.5 โ $1.5/์)