OpenAI Python SDK, HTTPX에서 Pydantic의 HTTPX2로 전환

1 week ago 20

OpenAI Python SDK가 동기·비동기 HTTP 통신에 사용하는 기본 라이브러리를 HTTPX에서 HTTPX2로 교체함 HTTPX2는 Pydantic이 HTTPX의 개발과 유지보수를 이어가는 프로젝트로, 기존 설계를 유지하면서 안정적인 관리와 보안 업데이트를 제공하는 것이 목표임 기본 SDK 사용자는 기존 API 호출·응답 모델·스트리밍을 그대로 사용할 수 있으며, openai 설치 시 HTTPX2가 자동으로 설치됨 다만 인증서 검증 기준이 certifi에서 운영체제의 인증서 저장소로 바뀌므로, 기본 클라이언트만 쓰더라도 컨테이너나 기업 네트워크의 인증서 설정을 확인해야 함 HTTPX를 직접 사용하는 사용자 지정 클라이언트와 테스트·계측 도구는 이전이 필요하며, 기존 HTTPX 클라이언트를 연결하는 임시 호환 경로도 제공함 HTTPX 대신 HTTPX2를 기본 통신 라이브러리로 채택 OpenAI Python SDK의 HTTP 요청을 처리하는 동기·비동기 클라이언트가 모두 HTTPX2 기반으로 바뀜 pip install openai로 HTTPX2가 함께 설치되며, 기존 httpx와 certifi는 더 이상 SDK 의존성으로 설치되지 않음 SDK가 설치해 준 httpx를 애플리케이션의 다른 코드에서도 사용했다면, 직접 의존성에 추가하거나 해당 코드를 httpx2로 옮겨야 함 HTTPX2는 어떤 프로젝트인가 HTTPX2 프로젝트 소개에 따르면, HTTPX의 최근 개발 활동이 줄어든 상황에서 Pydantic이 HTTPX2라는 이름으로 유지보수를 이어가고 있음 기존 HTTPX의 설계와 안정성을 존중하면서, 운영 시스템의 핵심 통신 라이브러리에 필요한 보안 업데이트와 지속적인 개선을 제공하려는 취지임 동기·비동기 API와 HTTP/1.1·HTTP/2를 지원하는 Python HTTP 클라이언트임 일반적인 SDK 사용법은 유지되지만 인증서 설정은 달라짐 별도 HTTP 클라이언트를 지정하지 않는 OpenAI()·AsyncOpenAI() 사용 방식은 유지됨 기존 API 호출과 파싱된 응답 모델, 스트리밍 API를 그대로 사용할 수 있음 인증·재시도·숫자로 지정하는 타임아웃도 기존대로 동작함 기본 클라이언트 사용자에게도 영향을 줄 수 있는 변경은 TLS 인증서 검증 방식임 기존 HTTPX는 certifi의 CA 인증서 묶음을 사용했지만, HTTPX2는 운영체제의 인증서 저장소를 사용함 시스템 CA 인증서가 빠진 최소 컨테이너 ...

Read Entire Article