#gemini #ai #google #client #env-var

bin+lib gems

💎 Gemini API 交互的 cli、tui 和 sdk(WIP)

8 个版本

0.0.7 2024年3月4日
0.0.6 2024年3月3日

#119 in 科学


用于 autogpt

MIT 许可证

45KB
649

💎 Gems

Crates.io docs License

💎 GEMS:一个用于与 Gemini API 交互的 cli、tui 和 sdk,允许您生成创意内容、执行与文本相关的任务以及获取关于支持模型的详细信息。

📖 目录

🚀 安装

要安装 gems cli,使用以下 Cargo 命令

cargo install --locked gems --all-features

✨ 功能

  • 从终端与 Gemini API 交互。
  • 轻松生成创意内容。
  • 连续生成内容。
  • 计算文本中的标记数。
  • 将内容嵌入指定的模型。
  • 高效批量嵌入多个内容。
  • 获取当前模型的信息和列出可用模型。

用法

在使用 gems CLI 之前,请确保设置了以下环境变量

export GEMINI_API_KEY=<your_gemini_api_key>
export GEMINI_MODEL=<your_gemini_model>

Google AI Studio 生成 API 密钥。

⌨ 作为 CLI 使用

生成创意内容

gems generate -t "Hello"

分析图像并从文本生成内容

curl -o image.jpg https://storage.googleapis.com/generativeai-downloads/images/scones.jpg

gems vision -i image.jpg

gems vision -i image.jpg -t "What's in the image?"

连续生成内容

gems stream -t "Generate a short fictional story"

计算文本中的标记数

gems count -t "Hello There!"

将内容嵌入指定的模型

gems -m 'embedding-001' embed -t "Write a story about a magic backpack."

批量嵌入多个内容

gems -m 'embedding-001' batch -t "Write a story about a magic backpack.","Generate a poem about nature."

获取当前模型的信息

gems info

列出可用模型

gems list

🎨 选项

选项 描述
--api-key 指定访问 Gemini API 的 API 密钥。
--model 指定用于生成内容的模型。

🛠 子命令

子命令 描述
generate 生成创意内容。
vision 分析图像并从文本生成内容。
stream 流式传输内容的生成。
count 计算文本中的标记数。
embed 将内容嵌入指定的模型。
batch 批量嵌入多个内容。
info 获取当前模型的信息。
list 列出可用模型。

✨ 作为依赖项使用

  1. 添加 gems

    [dependencies]
    gems = "0.0.7"
    
  2. 使用 Client 结构体与 Gemini API 交互

    use gems::Client;
    
    #[tokio::main]
    async fn main() {
        let mut client = Client::new("your_api_key", "your_model");
    
        // Use the various functions provided by the client
        // For example:
        match client.generate_content("Hello").await {
            Ok(response) => {
                println!("{}", response);
            }
            Err(err) => {
                eprintln!("Error: {:?}", err);
            }
        }
    }
    

📌 示例

此仓库包含了一系列笔记本示例,展示如何使用 SDK 和 CLI。要使用此仓库中的笔记本,您需要设置环境。按照以下步骤开始:

  1. 将仓库克隆到您的本地机器

    git clone https://github.com/wiseaidev/gems.git
    
  2. 安装所需的依赖库。确保您已经安装了 RustJupyter Notebookevcxr_jupyter

    # Install a Rust toolchain (e.g. nightly):
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly
    
    # Install Jupyter Notebook
    pip install notebook
    
    # Install evcxr_jupyter
    cargo install evcxr_jupyter
    evcxr_jupyter --install 
    
  3. 导航到克隆的仓库并构建项目

    cd gems
    cargo build --release --all-features
    
  4. 启动 Jupyter Notebook

    jupyter notebook
    
  5. 通过在网页浏览器中点击您要探索的笔记本文件来访问笔记本。

ID 示例 在 GitHub 上打开 在 Binder 上启动 在 Colab 上启动
1 基本 Github Binder Open In Colab
2 火箭 Github Binder Open In Colab
3 Axum Github Binder Open In Colab

🤝 贡献

欢迎贡献和反馈!如果您想贡献,报告问题或建议改进,请在 GitHub 上与项目互动。您的贡献有助于提高此包对社区的价值。

📄 许可证

本项目受 MIT 许可证 许可。

依赖

~6–21MB
~283K SLoC