64bit/async-openai

Rust library for OpenAI

解决的问题

提供高性能的异步 Rust 库,用于与 OpenAI API 及其他 OpenAI 兼容提供者交互,无需手动编写 AI 服务的 HTTP 请求。

工作原理

基于 OpenAI OpenAPI 规范构建,使用直观的构建器模式创建请求对象,并支持 Server-Sent Events (SSE) 以实现响应流式传输。与 tower 生态系统集成,支持中间件,并提供细粒度的功能标志,允许开发者仅包含所需的 API 类型或功能,从而减小二进制文件大小。

适用人群

需要为 OpenAI 或兼容 LLM 提供者(如 Microsoft Azure OpenAI Service)构建类型安全、原生异步客户端的 Rust 开发者,用于开发 AI 驱动的应用程序。

主要亮点

  • OpenAI 兼容:支持自定义路径、头部和查询参数,可与非 OpenAI 提供者协同工作。
  • 容错性:对限流请求提供指数退避的自动重试机制。
  • 灵活的类型系统byot(Bring Your Own Types)功能允许用户使用自定义请求/响应类型(如 serde_json::Value),避免反序列化错误或处理非标准 API 结构。
  • 广泛的 API 支持:涵盖 OpenAI 的多种服务,包括聊天补全、助手、实时、嵌入、微调和图像生成。
  • WASM 支持:通过配套 crate 与 WebAssembly 兼容。
  • 可自定义 TLS:提供多种 TLS 后端选项(如 rustls、native-tls),以适应不同环境需求。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目