5 个版本
0.1.4 | 2024 年 6 月 3 日 |
---|---|
0.1.3 | 2024 年 5 月 30 日 |
0.1.2 | 2024 年 5 月 30 日 |
0.1.1 | 2024 年 5 月 30 日 |
0.1.0 | 2024 年 5 月 30 日 |
#1018 in 网页编程
9KB
101 行
Google Gemini API for Rust: ask_gemini
ask_gemini
包是一个强大且易于使用的 Rust 包,旨在通过异步 API 调用 Google Gemini API。此库简化了发送提示和获取响应的过程,内部处理所有网络和序列化任务。它非常适合希望高效地将 Google Gemini API 功能集成到 Rust 应用程序中的开发者。
捐赠
请考虑通过捐赠支持此项目
- USDT / ETH / ... : 0xE4C3595D8a1F73F3b3EC0e7c75065C33B6C81f6D
- DASH: Xu6NwsnSyybjQ52vZKaU8txNurzc6FudFz
- Bitcoin (TRX): TE6Y5CNyLDCeZjChTf7wFAuRfFznPdREoR
- Bitcoin (BTC): 1PH8EnCMxWNwvFKsk8PxSx66f8CF9kiyw1
功能
- 异步 API 调用:基于
tokio
和reqwest
,ask_gemini
提供了对 Gemini 的非阻塞 API 调用。 - 错误处理:提供全面错误处理,提供有关网络问题或数据序列化的清晰错误消息。
- 可定制:支持自定义 API 密钥和模型规范,提供默认值以实现即时设置和使用。
- 安全:实现安全的 API 请求的最佳实践,并确保数据完整性。
Google Gemini API 密钥
从 Google AI Studio 获取您的 Google Gemini API 密钥。
安装
使用 cargo 将 ask_gemini
添加到您的 Cargo.toml 文件
cargo add ask_gemini tokio
或直接编辑您的 Cargo.toml 文件
[dependencies]
ask_gemini = "0.1.2"
tokio = "1.38.0"
用法
以下是一个简单的示例,说明如何使用 ask_gemini
向 Gemini API 发送提示并接收响应
use ask_gemini::Gemini;
#[tokio::main]
async fn main() {
let gemini = Gemini::new(Some("your_api_key_here"), None);
let prompt = "Hello, world!";
match gemini.ask(prompt).await {
Ok(response) => println!("Response: {:?}", response),
Err(e) => eprintln!("Error: {}", e),
}
}
使用环境变量
您还可以将 API 密钥设置为环境变量
export GEMINI_API_KEY="your_api_key_here"
然后创建一个新的 Gemini
实例,而不指定 API 密钥
use ask_gemini::Gemini;
#[tokio::main]
async fn main() {
let gemini = Gemini::new(None, None);
let prompt = "Hello, world!";
match gemini.ask(prompt).await {
Ok(response) => println!("Response: {:?}", response),
Err(e) => eprintln!("Error: {}", e),
}
}
自定义模型
您可以在创建新的 Gemini
实例时指定自定义模型
use ask_gemini::Gemini;
#[tokio::main]
async fn main() {
let gemini = Gemini::new(None, Some("model_name_here"));
let prompt = "Hello, world!";
match gemini.ask(prompt).await {
Ok(response) => println!("Response: {:?}", response),
Err(e) => eprintln!("Error: {}", e),
}
}
配置
- API 密钥:确保您有来自 Gemini API 的有效 API 密钥。这可以在创建
Gemini
实例时指定,或将其设置为环境变量GEMINI_API_KEY
。 - 模型:在创建
Gemini
实例时可选地指定模型。如果没有指定,则使用默认模型。
贡献
欢迎贡献!请随意提交pull请求或创建问题以报告错误、提问或添加新功能。
依赖项
~6–17MB
~247K SLoC