#openai #chat-completion #image #input #wrapper #openai-api #models

rusty-openai

一个支持图像输入的非官方OpenAI包装器

2 个版本

0.1.5 2024年8月8日
0.1.0 2024年8月7日

#616 in Web编程

Download history 203/week @ 2024-08-03 16/week @ 2024-08-10

每月 219 下载

自定义许可证

71KB
1.5K SLoC

OpenAI Rust SDK

Crates.io docs.rs License

欢迎来到OpenAI Rust SDK,它是将OpenAI强大功能集成到Rust项目中的一站式解决方案。此SDK提供了对OpenAI API的便捷抽象,使您能够轻松执行生成补全、创建和编辑图像、审查文本、微调模型等任务。

目录

安装

要使用此SDK,请在您的Cargo.toml文件中添加以下依赖项

[dependencies]
rusty-openai = "0.1.5"
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12.5", features = ["json", "multipart"] }

入门

要开始使用OpenAI Rust SDK,请按照以下步骤操作

初始化OpenAI客户端

首先,使用您的API密钥创建一个OpenAI结构体实例。

use rusty_openai::openai::OpenAI;

#[tokio::main]
async fn main() {
    let openai = OpenAI::new("YOUR_API_KEY", "https://api.openai.com/v1");
}

生成聊天补全

要生成聊天补全,创建一个ChatCompletionRequest对象,并从补全API调用create方法

use rusty_openai::openai::OpenAI;
use rusty_openai::openai_api::completion::ChatCompletionRequest;
use serde_json::json;

#[tokio::main]
async fn main() {
    let openai = OpenAI::new("YOUR_API_KEY", "https://api.openai.com/v1");

    let messages = vec![
        json!({
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Hello"
                },
            ]
        })
    ];

    let request = ChatCompletionRequest::new("gpt-4".to_string(), messages)
        .max_tokens(300)
        .temperature(0.7);

    let chat_response = openai.completions().create(request).await;

    match chat_response {
        Ok(chat) => println!("{}", json!(chat).to_string()),
        Err(err) => eprintln!("Error: {}", err),
    }
}

此简单示例演示了如何使用SDK生成聊天补全。有关更详细的使用方法和更多端点,请参阅文档

文档

有关所有可用端点和它们各自的方法的详细信息,请参阅完整的SDK文档

许可证

此SDK根据MIT许可证授权。有关更多详细信息,请参阅LICENSE文件。

注意

请注意,此库缺少详细的文档,以及官方库中缺失的其他端点。您可能会问,为什么我会在Rust上创建这个库,当已经有Rust上的仓库和库时。

为什么?

当前的库不支持图像,功能不足,并且没有积极维护。


用OpenAI和Rust愉快地编码!如果您遇到任何问题或有疑问,请随时在GitHub仓库上提交问题。贡献和改进始终欢迎。


依赖项

~6–18MB
~254K SLoC