OpenAIChatModel이 Venice를 가리키도록 설정하고, 나머지 PydanticAI API는 평소처럼 사용하세요.
사전 준비
- Python 3.9 이상
- Venice API 키
설치
OpenAI 지원과 함께 PydanticAI를 설치하세요:pydantic-ai 패키지를 설치할 수도 있습니다.
Venice API 키를 환경 변수에 추가하세요:
Venice를 모델 공급자로 구성
Venice는 OpenAI Chat Completions API를 지원합니다.OpenAIChatModel과 OpenAIProvider, 그리고 Venice의 base URL을 함께 사용하세요:
OpenAIResponsesModel 이나 openai: 단축 표기 대신 OpenAIChatModel(Chat Completions)을 사용하세요. Venice의 주된 호환 경로는 /chat/completions입니다. Chat Completions로 고정하면 최신 PydanticAI 버전에서 OpenAI 기본 모델이 사용하는 Responses 전용 동작을 피할 수 있습니다.환경 변수
OpenAIProvider는 OPENAI_API_KEY와 OPENAI_BASE_URL도 읽습니다. 코드에서 인수를 넘기는 대신 아래처럼 Venice를 구성할 수도 있습니다:
에이전트 실행
await agent.run(...)으로 동일한 패턴입니다:
응답 스트리밍
토큰을 도착하는 대로 받고 싶다면run_stream을 사용하세요:
구조화된 출력
output_type에 Pydantic 모델을 넘겨 에이전트의 최종 답변을 검증하세요:
도구
@agent.tool_plain(에이전트 컨텍스트 없음) 또는 @agent.tool(RunContext 필요)로 도구를 등록하세요:
Venice 전용 파라미터
Venice 전용 옵션은ModelSettings.extra_body로 전달하세요. 예를 들어 venice_parameters로 내장 웹 검색을 활성화할 수 있습니다:
venice_parameters 목록(웹 스크래핑, 인용, 캐릭터, 사고 제어, E2EE 토글)은 API 사양을 참고하세요.
권장 모델
모델 ID는 시간이 지남에 따라 변경됩니다 — 현재 ID는
GET /models 또는 모델 개요에서 확인하세요.
프라이버시 이점
PydanticAI는 애플리케이션 데이터, 사용자 컨텍스트, 내부 도구를 다루는 에이전트에 자주 사용됩니다. Venice와 함께 사용하면 그러한 워크플로를 프라이빗, 비검열 추론 위에서 유지할 수 있습니다:- 프라이빗 모델의 데이터 보존 제로(zero data retention) — 요청 이후 프롬프트와 도구 페이로드가 보관되지 않습니다
- 에이전트가 노골적인 비판이나 레드 티밍이 필요할 때의 비검열 분석
- OpenAI 호환 배선 덕분에 공급자 base URL과 API 키만 바꾸면 기존 PydanticAI 앱을 마이그레이션할 수 있습니다
문제 해결
모델을 찾을 수 없음 또는 예기치 못한 엔드포인트 오류
모델을 찾을 수 없음 또는 예기치 못한 엔드포인트 오류
모델 페이지에서 최신 모델 ID를 사용하세요.
base_url은 뒤에 경로 없이 https://api.venice.ai/api/v1로 설정하세요 — PydanticAI가 /chat/completions를 덧붙입니다.Responses API / openai: 접두사 실패
Responses API / openai: 접두사 실패
OpenAIChatModel을 명시적인 OpenAIProvider와 함께 사용하는 것이 좋습니다. Chat Completions 대신 OpenAI의 Responses API를 대상으로 할 수 있는 단순 openai: 에이전트 단축 표기는 피하세요.도구나 구조화된 출력이 무시됨
도구나 구조화된 출력이 무시됨
함수 호출을 지원하는 모델을 선택하고,
instructions에 도구를 언제 실행해야 하는지 서술하며, 도구 docstring을 정확하게 유지하세요 — PydanticAI는 시그니처와 docstring으로부터 JSON 스키마를 만듭니다.PydanticAI 문서
에이전트, 도구, 의존성, 출력 타입
Venice 모델
모델과 지원 기능을 둘러보세요