64bit/async-openai

Rust library for OpenAI

何を解決するか

OpenAI API およびその互換プロバイダーとの対話に高パフォーマンスな非同期 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: rustlsnative-tls など複数の TLS バックエンドを提供し、異なる環境要件に合わせて選択可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト