Pydantic AI 설치
Pydantic AI 설치
Pydantic AI를 쓰는 첫 단계는 PyPI에서 패키지를 받아오는 거예요. 패키지 이름은 pydantic-ai로, pip이나 uv 한 줄이면 끝나요. 이 문서에서는 기본 설치부터, 쓰는 모델에 따라 뼈대만 골라 받는 slim 설치, 그리고 예제를 같이 받는 방법까지 차례로 살펴볼게요.
출처: 공식문서
설치하기
Pydantic AI는 PyPI에 pydantic-ai로 배포되므로 설치는 아주 단순해요.
- pip
pip install pydantic-ai
- uv
uv add pydantic-ai
(Python 3.10+ 필요)
이 명령은 pydantic_ai 패키지와 핵심 의존성, 그리고 OpenAI·Anthropic·Google 모델을 쓰기 위한 라이브러리까지 함께 설치해요. 여기에 CLI, MCP, Evals, Web UI, Logfire 통합도 기본으로 들어와요. 다른 모델이나 통합을 쓰려면 설치 명령에 extras를 붙이면 되는데, 예를 들면 pydantic-ai[bedrock,temporal] 같은 식이에요. 더 가볍게 필요한 extras만 골라 받으려면 아래의 pydantic-ai-slim을 쓰면 돼요.
TLS 인증서
Pydantic AI의 HTTP 요청과 httpx2로 전환된 프로바이더들의 요청은 certifi 번들을 따로 배포하는 대신 운영체제 신뢰 저장소를 기준으로 TLS 인증서를 검증해요. 그래서 최소 컨테이너 이미지나 사설 CA를 쓰는 기업 프록시 환경이라면 그 인증서를 이미지 안에 설치해야 해요(예: ca-certificates 패키지에 프록시의 root CA를 더해서). 대신 해당 프로바이더에 직접 설정한 httpx2.AsyncClient를 http_client 인자로 넘겨줄 수도 있어요 — 각 프로바이더가 받는 클라이언트는 프로바이더 문서에서 확인하세요. 아직 레거시 httpx를 쓰는 프로바이더(Groq, Cohere 등)는 기존처럼 certifi 기반 검증을 유지하고 레거시 httpx.AsyncClient를 받아요.
Pydantic Logfire와 함께 쓰기
Pydantic AI는 Pydantic Logfire와의 통합이 아주 훌륭한데(완전히 선택 사항이에요), 에이전트 실행을 보고 이해하는 데 큰 도움이 돼요. Logfire는 pydantic-ai(slim 버전은 제외)에 기본 포함이라, 보통 Logfire 설정 문서를 따라 바로 쓰면 돼요.
예제 실행하기
pydantic_ai_examples 디렉토리는 별도 PyPI 패키지(pydantic-ai-examples)로 배포해서 예제를 쉽게 뜯어 고치고 실행할 수 있게 했어요.
예제를 설치하려면 examples 선택 그룹을 쓰면 돼요.
- pip
pip install "pydantic-ai[examples]"
- uv
uv add "pydantic-ai[examples]"
예제 실행 방법은 예제 문서를 참고하세요.
Slim 설치
어떤 모델을 쓸지 미리 정해져 있고 불필요한 패키지를 깔고 싶지 않다면 pydantic-ai-slim 패키지를 쓸 수 있어요. 예를 들어 OpenAIChatModel만 쓴다면 이렇게 실행해요.
- pip
pip install "pydantic-ai-slim[openai]"
- uv
uv add "pydantic-ai-slim[openai]"
pydantic-ai-slim이 제공하는 선택 그룹은 다음과 같아요.
logfire— Pydantic Logfire 의존성logfireevals— Pydantic Evals 의존성pydantic-evalsopenai— OpenAI Model 의존성openaigoogle— Google Model 의존성google-genaianthropic— Anthropic Model 의존성anthropicgroq— Groq Model 의존성groqmistral— Mistral Model 의존성mistralaicohere— Cohere Model 의존성coherebedrock— Bedrock Model 의존성boto3bedrock-mantle— Bedrock Mantle Model 의존성openai와botocorexai— xAI Model 의존성xai-sdkopenrouter— OpenRouter 의존성openaizai— Z.AI 의존성openaisnowflake— Snowflake Cortex 의존성openaicrusoe— Crusoe 의존성openaicerebras— Cerebras 의존성openaihuggingface— Hugging Face Model 의존성huggingface-hubsentence-transformers— Sentence Transformers Embedding Model 의존성sentence-transformersvoyageai— VoyageAI Embedding Model 의존성voyageaiduckduckgo— DuckDuckGo Search Tool 의존성ddgstavily— Tavily Search Tool 의존성tavily-pythonexa— Exa Search Tool 의존성exa-pyweb-fetch— Web Fetch Tool 의존성markdownifycli— CLI 의존성rich,prompt-toolkit,argcompletemcp— MCP 의존성fastmcp-slim[client]mcp-tasks— MCP FastMCP 4 tasks 확장(use_task=True) 의존성fastmcp-tasksui— UI Event Streams 의존성starletteweb— Web UI 의존성starlette와uvicornag-ui— AG-UI Event Stream Protocol 의존성ag-ui-protocol와starletteretries— transport retries 의존성tenacity+ Pydantic AI v3까지의 레거시httpx지원temporal— Temporal Durable Execution 의존성temporaliodbos— DBOS Durable Execution 의존성dbosprefect— Prefect Durable Execution 의존성prefectspec— AgentSpec 의존성pyyaml와pydantic-handlebars
여러 모델과 사용 사례를 동시에 쓰려면 extras를 콤마로 묶으면 돼요.
- pip
pip install "pydantic-ai-slim[openai,google,logfire]"
- uv
uv add "pydantic-ai-slim[openai,google,logfire]"