#openai-api #api-client #interact #gpt #organization

gpt-rs

这个包提供了一个简单的方式来与 OpenAI API 交互

2 个版本

0.1.1 2023 年 7 月 26 日
0.1.0 2023 年 7 月 26 日

#35#organization

MIT 许可证

21KB
576 代码行

gpt

这个包提供了一个简单的方式来从 Rust 与 OpenAI API 交互。

示例

这个异步示例使用 Tokio 并启用了一些可选特性,因此你的 Cargo.toml 可能看起来像这样

[dependencies]
gpt = { git="https://github.com/Kobayashi-takumi/gpt-rs" }
tokio = { version = "1", features = ["full"] }

然后是代码

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(Config {
        api_key:"<Your API_KEY>".to_string(),
        organization: Some("<Your ORGANIZATION>"),
    })?;
    let res = Chat::builder()
        .config(Default::default())
        .request(vec!["hi".into()])
        .build()?
        .execute(&client)
        .await?;
}

创建聊天完成

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(Config {
        api_key:"<Your API_KEY>".to_string(),
        organization: Some("<Your ORGANIZATION>".to_string()),
    })?;
    let res = Chat::builder()
        .config(Default::default())
        .request(vec!["hi".into()])
        .build()?
        .execute(&client)
        .await?;
    Ok(())
}

创建图像

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(Config {
        api_key:"<Your API_KEY>".to_string(),
        organization: Some("<Your ORGANIZATION>"),
    })?;
    let res = CreateImage::builder()
        .request("doc".into())
        .build()?
        .execute(&client)
        .await;
    Ok(())
}

依赖

~6–18MB
~271K SLoC