64bit/async-openai
Rust library for OpenAI
해결하는 문제
OpenAI API 및 OpenAI 호환 프로바이더와 상호작용하기 위한 고성능 비동기 Rust 라이브러리를 제공하여, AI 서비스를 위한 수동 HTTP 요청을 작성할 필요 없이 사용할 수 있습니다.
작동 방식
OpenAI OpenAPI 사양 기반으로 구축되었으며, 요청 객체에는 직관적인 빌더 패턴을 사용하고, 응답 스트리밍을 위해 Server-Sent Events (SSE)를 지원합니다. tower 생태계와 통합되어 미들웨어 지원을 제공하며, 개발자가 필요한 API 유형이나 기능만 포함할 수 있도록 세밀한 기능 플래그를 제공하여 바이너리 크기를 줄일 수 있습니다.
대상 사용자
OpenAI 또는 호환 LLM 제공자(예: Microsoft Azure OpenAI Service)용 타입 안전하고 비동기 네이티브 클라이언트가 필요한 AI 기반 애플리케이션을 개발하는 Rust 개발자들입니다.
주요 특징
- OpenAI 호환성: 커스텀 경로, 헤더, 쿼리 매개변수를 지원하여 비 OpenAI 제공자와도 작동 가능합니다.
- 회복성: 레이트 제한 요청에 대해 지수 백오프를 사용한 자동 재시도 기능이 포함되어 있습니다.
- 유연한 타입 지정:
byot(Bring Your Own Types) 기능을 통해 사용자가 커스텀 요청/응답 타입(예:serde_json::Value)을 사용할 수 있어 디시리얼라이제이션 오류를 방지하거나 비표준 API 구조를 처리할 수 있습니다. - 광범위한 API 지원: 챗 완성, 어시스턴트, 실시간, 임베딩, 파인튜닝, 이미지 생성 등 OpenAI 서비스의 다양한 기능을 커버합니다.
- WASM 지원: 보조 크레이트를 통해 WebAssembly와 호환됩니다.
- 사용자 정의 TLS:
rustls,native-tls등 다양한 TLS 백엔드 옵션을 제공하여 다양한 환경 요구 사항에 맞게 선택할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트