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 비용 추적