#gemini #api-key #google #response #model #applications #prompt

ask_gemini

用于与 Google Gemini API 交互的库

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 网页编程

MIT 许可证

9KB
101

Google Gemini API for Rust: ask_gemini

Google Gemini API for Rust

ask_gemini 包是一个强大且易于使用的 Rust 包,旨在通过异步 API 调用 Google Gemini API。此库简化了发送提示和获取响应的过程,内部处理所有网络和序列化任务。它非常适合希望高效地将 Google Gemini API 功能集成到 Rust 应用程序中的开发者。

捐赠

请考虑通过捐赠支持此项目

  • USDT / ETH / ... : 0xE4C3595D8a1F73F3b3EC0e7c75065C33B6C81f6D
  • DASH: Xu6NwsnSyybjQ52vZKaU8txNurzc6FudFz
  • Bitcoin (TRX): TE6Y5CNyLDCeZjChTf7wFAuRfFznPdREoR
  • Bitcoin (BTC): 1PH8EnCMxWNwvFKsk8PxSx66f8CF9kiyw1

功能

  • 异步 API 调用:基于 tokioreqwestask_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请求或创建问题以报告错误、提问或添加新功能。

https://github.com/vvmspace/ask_gemini

依赖项

~6–17MB
~247K SLoC