Pydantic AI 에이전트
Pydantic AI 에이전트 (Agents)
Pydantic AI 에이전트를 LiteLLM의 A2A 게이트웨이를 통해 호출하는 방법을 알아봐요. Pydantic AI의 네이티브 A2A 지원을 활용해 에이전트를 A2A 호환 서버로 노출할 수 있어요.
출처: 문서
본문
A2A(Agent-to-Agent) 프로토콜로 Pydantic AI 에이전트를 부를 수 있어요. to_a2a() 메서드로 네이티브 A2A 지원을 제공하며, 네이티브 스트리밍을 지원하지 않는 에이전트에는 LiteLLM이 가짜(fake) 스트리밍을 제공해요.
| 속성 | 내용 |
|---|---|
| 설명 | to_a2a() 메서드로 네이티브 A2A를 지원하는 Pydantic AI 에이전트 |
| LiteLLM 라우트 | A2A Gateway |
| 지원 엔드포인트 | /v1/a2a/message/send |
| 공식 문서 | Pydantic AI Agents ↗ |
LiteLLM A2A 게이트웨이
모든 Pydantic AI 에이전트는 to_a2a() 메서드를 사용해 A2A 에이전트로 노출되어야 해요. 에이전트 서버가 실행되면 LiteLLM 게이트웨이에 추가하면 됩니다.
1. Pydantic AI 에이전트 서버 설정
LiteLLM은 Pydantic AI 에이전트가 A2A(Agent-to-Agent) 프로토콜을 따르기를 요구해요. Pydantic AI는 to_a2a() 메서드를 통해 네이티브 A2A 지원을 제공하며, 이 메서드가 당신의 에이전트를 A2A 호환 서버로 노출해줘요.
의존성 설치
uv add pydantic-ai fasta2a uvicorn
에이전트 생성
agent.py
from pydantic_ai import Agent
agent = Agent('openai:gpt-4o-mini', instructions='Be helpful!')
@agent.tool_plain
def get_weather(city: str) -> str:
"""Get weather for a city."""
return f"Weather in {city}: Sunny, 72°F"
@agent.tool_plain
def calculator(expression: str) -> str:
"""Evaluate a math expression."""
return str(eval(expression))
# Native A2A server - Pydantic AI handles it automatically
app = agent.to_a2a()
서버 실행
uvicorn agent:app --host 0.0.0.0 --port 9999
서버는 http://localhost:9999에서 실행돼요.
2. Agents 메뉴로 이동
사이드바에서 "Agents"를 클릭해 에이전트 관리 페이지를 열고, "+ Add New Agent"를 클릭해요.
3. Pydantic AI 에이전트 타입 선택
"A2A Standard"를 클릭해 사용 가능한 에이전트 타입을 확인한 뒤 "Pydantic AI"를 선택해요.
4. 에이전트 구성
다음 필드를 채워요:
- Agent Name - 에이전트를 식별하는 고유 이름 (예:
test-pydantic-agent) - Agent URL - Pydantic AI 에이전트가 실행 중인 URL. 앞선 단계에서 서버를 시작한 주소인
http://localhost:9999을 사용해요.
5. 에이전트 생성
"Create Agent"를 클릭해 구성을 저장해요.
6. Playground에서 테스트
사이드바의 "Playground"로 가서 에이전트를 테스트해요.
7. A2A 엔드포인트 선택
엔드포인트 드롭다운을 클릭하고 "a2a"를 검색한 뒤 /v1/a2a/message/send를 선택해요.
8. 에이전트 선택 후 메시지 전송
드롭다운에서 Pydantic AI 에이전트를 고르고 테스트 메시지를 보내 보세요.
더 알아보기 (Learn more)
- Pydantic AI 공식 문서
- Pydantic AI 에이전트
- A2A 에이전트 게이트웨이
- A2A 비용 추적