AI Wiki - 100-hours-a-week/21-iceT-wiki GitHub Wiki
βοΈ AI Wiki
μ΄ μν€λ νλ‘μ νΈμ AI λͺ¨λΈ ν΅ν© λ° API μ€κ³ μ λ°μ λ¬Έμνν 곡κ°μ λλ€. μν€ν μ², λͺ¨λ ꡬ쑰, λ°μ΄ν° νλ¦ λ±μ μ€μ ꡬν μ μ°Έκ³ ν μ μλλ‘ μ 리νμ΅λλ€.
π― κ³Όμ
1μ£Όμ°¨
β λ¨κ³ 1: λͺ¨λΈ API μ€κ³ (API λͺ μΈμ)
β λ¨κ³ 2: λͺ¨λΈ μΆλ‘ μ±λ₯ μ΅μ ν (λͺ¨λΈ κ²ν λ° λΉκ΅)
β λ¨κ³ 3: μλΉμ€ μν€ν μ² λͺ¨λν
2μ£Όμ°¨
β λ¨κ³ 4: LangChain κΈ°λ° λ©ν°μ€ν AI ꡬν κ²ν
β λ¨κ³ 5: RAG (Retrieval Augmented Generation) μ μ© μ€κ³
β λ¨κ³ 6: MCP (λͺ¨λΈ 컨ν μ€νΈ νλ‘ν μ½) νμ© μ€κ³
β λ¨κ³ 7: μλΉμ€ μΈνλΌ νμ₯μ±κ³Ό λͺ¨λν°λ§ μ€κ³
β λ¨κ³ 8: μ΅μ’ ν΅ν© μ€κ³ λ° νκ³
π ν΅μ¬ κΈ°λ₯
AI λ¬Έμ ν΄μ€
λ§€μΌ μΆμ λλ λ¬Έμ μ λνμ¬, AIκ° νμ΄λ³Έ λ¬Έμ μ ν΄μ€μ μ 곡ν©λλ€. Langchain λ©ν°μ€ν μ λ΅μ μ¬μ©νμ¬ 1λ¨κ³λ‘ μκ³ λ¦¬μ¦ λΆλ₯, λ¨κ³λ³ λ¬Έμ ν΄κ²° λ°©λ², ν리기 μ¬μ΄ λΆλΆμ μμ±ν©λλ€. μ΄ν 2λ¨κ³μμ μ λ΅ μ½λλ₯Ό μμ±νμ¬ LLMμ μ±λ₯ ν₯μμ λλͺ¨ν©λλ€. ν΄μ€ μΈμ΄λ μ°μ νμ΄μ¬, μλ°, C++ 3κ°μ§λ₯Ό μ§μν μμ μ λλ€.
### Problem Check
**μꡬ μ¬ν μ 리**
- λ¬Έμ μ 쑰건과 μ°λ¦¬κ° ν΄κ²°ν΄μΌ ν λͺ©νλ₯Ό λ¬Έμ₯μΌλ‘ μμ ν΄ μ£ΌμΈμ.
**μκ³ λ¦¬μ¦ μ 리**
- μ¬μ©ν μκ³ λ¦¬μ¦, κ·Έ μ ν μ΄μ , μκ° λ³΅μ‘λ λ±μ ν¬ν¨ν΄ μ£ΌμΈμ.
### Problem Solving
λ¬Έμ ν΄κ²°μ μν νλ¦μ λ¨κ³λ³λ‘ μμΈν μ€λͺ
ν΄ μ£ΌμΈμ.
### Comment
ꡬν μ μ£Όμν μ , νν μ€μ, κ΄λ ¨ κ°λ
λ±μ μ λ¦¬ν΄ μ£ΌμΈμ.
### Solution Code
`μ½λλΈλ`
μ±λ΄ (λ΄ μ½λ νΌλλ°± / λΌμ΄λΈ μ½ν λλΉ λͺ¨μ λ©΄μ )
μ±λ΄μ λͺ¨λμ λ°λΌ λμΌν μ λ ₯μ λνμ¬ λ κ°μ§ λ΅λ³μ μ 곡ν©λλ€. μκ°μμ΄ λͺ¨λ, νλ‘κ·Έλλ° μΈμ΄, λ¬Έμ λ²νΈ, μκ°μμ μ½λλ₯Ό μ 곡νλ©΄, AIκ° λ΅λ³μ μ 곡ν©λλ€. Langchainμμ μ±λ΄μ μν΄ μ 곡νλ λ€μν κΈ°λ₯μ ν μ€νΈν΄ λ³Ό μμ μ λλ€. νλ‘κ·Έλλ° μΈμ΄λ μ°μ νμ΄μ¬, μλ°, C++ 3κ°μ§λ₯Ό μ§μν μμ μ λλ€.
λ΄ μ½λ νΌλλ°±
λ΄ μ½λ νΌλλ°±μ ν¬κ² λ κ°μ§ apiλ‘ μλν©λλ€. feedback/start
μ κ²½μ°, μ΅μ΄ μ
λ ₯μ μ λΆ λ°μΌλ©΄ μ ν΄μ§ μμμ λ§μΆ μΆλ ₯μ μ 곡ν©λλ€. λμμ, μ½λλ₯Ό λ°νμΌλ‘ κ°λ¨ν μ λͺ©μ μμ±νμ¬ ν¨κ», λ°±μλμ μ λ¬ν©λλ€. feedback/answer
μ κ²½μ°μλ λ§μ μμ²μ΄ νμνμ§ μμΌλ―λ‘, μ±ν
λ°© idλ§μ μ΄μ©ν΄μ μ±ν
μ μ΄μ΄ λκ°λλ€. μ΅μ΄ λ΅λ³ μμμ λ€μκ³Ό κ°μ΅λλ€.
### μνμ
- (λ΄μ©)
- (λ΄μ©)
### κ°μ ν΄μΌ ν μ
- (λ΄μ©)
- (λ΄μ©)
### κ°μ λ μ½λ
`μ½λλΈλ`
λΌμ΄λΈ μ½ν
λͺ¨μ λ©΄μ
μΈ κ°μ§ apiκ° μ‘΄μ¬ν©λλ€. interview/start
μ κ²½μ° λ§μ°¬κ°μ§λ‘ μ λͺ©μ μμ±νμ§λ§, μ ν΄μ§ μΆλ ₯ μμμ μ‘΄μ¬νμ§ μμ΅λλ€. (λ©΄μ κ³Ό κ°μ μ±ν
μ²λΌ 보μ΄λλ‘) interview/answer
λ λμΌνκ² μμ², μλ΅μ κ°μν ν apiμ
λλ€. λ§μ§λ§μΌλ‘, interview/end
λ λ©΄μ μ λ§μΉλ©°, κ·Έλμμ λ΅λ³κ³Ό νΌλλ°±μ λͺ¨λ λͺ¨μ μ΄νμ μ 곡ν©λλ€. λ€μμ μ΄νμ μμμ
λλ€.
### μνμ
- (λ΄μ©)
- (λ΄μ©)
### μμ¬μ΄ μ
- (λ΄μ©)
- (λ΄μ©)
### κ°μ λ°©ν₯μ±
- (λ΄μ©)
- (λ΄μ©)
ποΈ ν΄λ λλ ν°λ¦¬ ꡬ쑰
src/
βββ adapters/
β βββ llm_client.py π μΈλΆ API νΈμΆ (LLM client λ±)
β
βββ core/ π ν΅μ¬ μ νΈλ¦¬ν°, ν
νλ¦Ώ, μ€μ
β βββ prompt_templates.py
β
βββ models/ π Pydantic λͺ¨λΈ μ μ
β βββ feedback_schema.py
β βββ explanation_schema.py
β βββ interview_schema.py
β
βββ services/ π λΉμ¦λμ€ λ‘μ§
β βββ feedback_service.py
β βββ explanation_service.py
β βββ interview_service.py
β
βββ routers/ π API μλν¬μΈνΈ λΌμ°ν°
β βββ v1/
β β βββ feedback_router.py
β β βββ explanation_router.py
β β βββ interview_router.py
β
βββ config.py π μ€μ (μ: env)
βββ main.py π FastAPI μ± μ€ν μ§μ
μ