项目介绍:openai-api-rust
openai-api-rust
是一个为 OpenAI API 提供的简单 Rust 客户端。它旨在帮助开发者通过 Rust 编程语言与 OpenAI API 进行交互。虽然该库提供了一些便捷功能,但是大部分功能是与 OpenAI API 本身保持一致的。
安装方法
要在 Rust 项目中使用 openai-api-rust
,只需在项目中添加以下依赖项即可:
$ cargo add openai-api
这条命令将自动在项目的 Cargo.toml
文件中添加对 openai-api
的依赖。
快速入门
下面展示了一个简单的入门示例,介绍如何使用该库进行一次 API 调用:
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_token = std::env::var("OPENAI_SK")?;
let client = openai_api::Client::new(&api_token);
let prompt = String::from("Once upon a time,");
println!(
"{}{}",
prompt,
client.complete(prompt.as_str()).await?
);
Ok(())
}
在这个例子中,首先需要从环境变量中获取 API 令牌 OPENAI_SK
,并使用它创建一个客户端实例。接下来,用户可以输入起始语句(prompt),然后调用 complete
方法来获取补全的文本结果。
基本用法
创建文本补全
开发者可利用 openai-api-rust
执行简单的文本补全操作,也可以自定义复杂的补全请求。以下是一个创建文本补全的基本示例:
let response = client.complete_prompt("Once upon a time").await?;
println!("{}", response);
此代码段展示了如何通过简短的起始语句请求内容补全,结果可以通过 Display
实例转化为字符串进行输出。
使用 CompletionArgs 构建自定义请求
如果需要对请求进行更细致的配置,开发者可以使用 CompletionArgs
生成器:
let args = openai_api::api::CompletionArgs::builder()
.prompt("Once upon a time,")
.engine("text-davinci-003")
.max_tokens(20)
.temperature(0.7)
.top_p(0.9)
.stop(vec!["\n".into()]);
let completion = client.complete_prompt(args).await?;
println!("Response: {}", completion.choices[0].text);
println!("Model used: {}", completion.model);
在这个例子中,开发者可以指定使用的引擎(如 text-davinci-003
)、返回令牌的最大数量(max_tokens
)、结果序列的随机性控制(temperature
和 top_p
),以及任何停止序列来定制化 API 调用。
结语
openai-api-rust
为开发者提供了一个灵活且易于使用的工具,用于通过 Rust 语言与 OpenAI API 进行互操作。通过简单的安装和快速上手的代码示例,开发者可以迅速开展项目并探索 OpenAI 提供的强大功能。