安装与使用总览
本文档给出从安装到调用的最短路径,并指向每个资源的完整参数与响应结构。
1. 安装
bash
cargo add ai-provider-sdk如果你的项目尚未启用 Tokio 运行时,补充:
bash
cargo add tokio --features macros,rt-multi-thread2. 配置 API Key
bash
export OPENAI_API_KEY="sk-..."可选环境变量:
OPENAI_BASE_URL(默认https://api.openai.com/v1)OPENAI_ORG_IDOPENAI_PROJECT_ID
3. 最小可运行示例(Responses)
rust
use ai_provider_sdk::{OpenAI, ResponseCreateParams};
#[tokio::main]
async fn main() -> Result<(), ai_provider_sdk::Error> {
let client = OpenAI::from_env()?;
let response = client
.responses()
.create(ResponseCreateParams::new("gpt-4.1-mini").input("hello"))
.await?;
println!("response id: {}", response.id);
Ok(())
}4. 如何使用(主线)
4.1 非流式请求(create)
- 构造
*CreateParams - 调用
create(params) - 从响应对象读取字段(最少保证存在
id)
4.2 流式请求(create_stream)
rust
use futures_util::StreamExt;
use ai_provider_sdk::{OpenAI, ResponseCreateParams};
let client = OpenAI::from_env()?;
let mut events = client
.responses()
.create_stream(ResponseCreateParams::new("gpt-4.1-mini").input("hello"))
.await?
.events();
while let Some(event) = events.next().await {
let event = event?;
println!("event={:?}, data={}", event.event, event.data);
}流式结束与错误语义见 Streaming。
4.3 单次请求覆盖(RequestOptions)
通过 RequestOptions 可为单次请求追加 header、query 或覆盖超时,完整示例见 /guide/configuration。
5. 下一步阅读
- 快速调用:/guide/getting-started
- 配置细节:/guide/configuration
- 资源与方法矩阵:/api/resources
- 资源细节:
6. 边界声明
当前 SDK 只覆盖文档中列出的已实现资源。未列出的 OpenAI 资源在本仓库中未实现。