μ²μ λͺ©νλ 볡μ‘νμ§ μμ΅λλ€. λ΄ μ»΄ν¨ν°μμ Agentλ₯Ό 1ν μ€ννκ³ , μΆλ ₯μ μ¬ν κ°λ₯νκ² λ¨κΈ°λ κ²μ λλ€. μ΄ λ¨κ³μμ μ€μν 건 νλ €ν ν둬ννΈκ° μλλΌ μ€ν νκ²½κ³Ό μ΅μ μ½λ ꡬ쑰λ₯Ό κ³ μ νλ μΌμ λλ€.
AI νμ© μλ΄: μ΄ λ¬Έμλ μμ±ν AIλ₯Ό νμ©ν΄ μμ±νμΌλ©°, Pydantic AI 곡μ λ¬Έμλ₯Ό 1μ°¨ μΆμ²λ‘ κ²ν ν΄ μ 리νμ΅λλ€.
곡μλ¬Έμ νλ¦ μ κ² (κ°μ 보μ)
- νλ¦: μ€μΉ(
install) β λͺ¨λΈ 곡κΈμ μ ν(models/overview) β μ΅μ μ€ν(agent) β μ€ν λͺ¨λ μ°¨μ΄(run_syncvsrun) β κΈ°λ³Έ νΈλ¬λΈμν (API Key/νκ²½λ³μ). - μ΄λ² νΈμμ λΉ μ§λ©΄ μ λλ ν¬μΈνΈ:
- μΌλ° μ€μΉμ
slimμ€μΉ μ°¨μ΄λ₯Ό μ΄λ°μ ꡬλΆνλ€. - 첫 μ€ν μ±κ³΅ 쑰건μ βμλ΅ μμ±βμ΄ μλλΌ λͺ¨λΈ μ°κ²° + μμΈ μμ΄ μ’ λ£λ‘ μ μνλ€.
- λ‘컬 κ°λ°μμ κ°μ₯ νν μ€ν¨(ν€ λλ½, provider mismatch)λ₯Ό 체ν¬λ¦¬μ€νΈμ ν¬ν¨νλ€.
- μΌλ° μ€μΉμ
- 곡μ λ¬Έμ μ²΄ν¬ λ§ν¬:
10λΆ μμ λλ΄λ μ€μΉ 루ν΄
Pydantic AI 곡μ μ€μΉ λ¬Έμλ pydantic-ai κΈ°λ³Έ μ€μΉμ pydantic-ai-slim[...] κ²½λ μ€μΉλ₯Ό λΆλ¦¬ν΄μ μλ΄ν©λλ€. μ²μμλ κΈ°λ³Έ μ€μΉκ° μνμ°©μ€λ₯Ό μ€μ
λλ€.
- κΈ°λ³Έ μ€μΉ:
pip install pydantic-aiλλuv add pydantic-ai - Python κΆμ₯ λ²μ : 3.10+
곡μ λ¬Έμ: https://ai.pydantic.dev/install/
flowchart LR A[Python 3.10+ νμΈ] --> B[pydantic-ai μ€μΉ] B --> C[API Key νκ²½λ³μ μ€μ ] C --> D[hello_agent.py μ€ν] D --> E[run_sync κ²°κ³Ό νμΈ]
κ°μ₯ μμ μ€ν μ½λ
Agentλ₯Ό λ§λ€κ³ run_sync()λ‘ ν μ€ μ§μλ₯Ό λμ§λ©΄ 첫 λ¨κ³λ μλ£μ
λλ€.
from pydantic_ai import Agent
agent = Agent('openai:gpt-5.2', instructions='ν λ¬Έμ₯μΌλ‘ μ§§κ² λ΅ν΄μ€.')
result = agent.run_sync('μμΈμμ λΉ μ€λ λ μ°μ° ν 1κ°λ§ μλ €μ€')
print(result.output)곡μ μ°Έκ³ : Agent μ€ν λ°©μ(run, run_sync, run_stream)
https://ai.pydantic.dev/agent/
λ―Έλ μ¬λ‘ A: μ€μΉλ λλλ° λͺ¨λΈ νΈμΆμ΄ μ€ν¨ν κ²½μ°
ν νμ ν¨ν€μ§λ μ μ μ€μΉλμ§λ§ λͺ¨λΈ μΈμ¦ ν€ λλ½μΌλ‘ 첫 μ€νμ΄ μ€ν¨νμ΅λλ€. μ΄λ μ½λλΆν° κ³ μΉκΈ°λ³΄λ€, .env/νκ²½λ³μ λ‘λ© μμλ₯Ό λ¨Όμ κ³ μ νλ 5λΆ λ΄ ν΄κ²°λμ΅λλ€.
μ€λ¬΄ ν:
python -VνμΈ- μ€μΉ λ‘κ·Έ νμΈ
- API ν€ μ‘΄μ¬ μ¬λΆ νμΈ
- κ°μ ν둬ννΈλ‘ 3ν μ¬μ€ν
λ―Έλ μ¬λ‘ B: μ€μΉλ μ¬μ΄λ° μμ‘΄μ± μΆ©λμ΄ λλ κ²½μ°
λ€λ₯Έ νμ κΈ°μ‘΄ νλ‘μ νΈ μμ‘΄μ±κ³Ό μΆ©λμ΄ λ¬μ΅λλ€. μ μ μ€μΉ λμ νλ‘μ νΈ λ‘컬 κ°μνκ²½μΌλ‘ λΆλ¦¬νκ³ , pydantic-ai-slim[openai]λ‘ μ’νλ μΆ©λμ΄ ν¬κ² μ€μμ΅λλ€.
곡μ λ¬Έμ: https://ai.pydantic.dev/install/#slim-install
μ€ν 체ν¬λ¦¬μ€νΈ (μ±κ³΅ νμ )
-
run_sync()λ‘ μ€μ λ¬Έμμ΄ κ²°κ³Όλ₯Ό λ°μλ€ - λμΌ μ§λ¬Έ 3ν μ€ν μ μμΈ μμ΄ μλ£λλ€
- μ½λ νμΌμ νμμ΄ λ°μλ κ°μ μ μ°¨λ‘ μ¬μ€ν κ°λ₯νλ€