#ChatGPT #api-client #openai #openai-api #api-response #gpt #api

chat-gpt-lib-rs

一个用于与 OpenAI 的 ChatGPT API 交互的 Rust 库,提供了一个简单的接口来发送 API 请求并处理响应

19 个不稳定版本 (4 个破坏性更新)

0.5.1 2024 年 5 月 22 日
0.5.0 2024 年 5 月 22 日
0.4.1 2024 年 5 月 14 日
0.3.4 2024 年 3 月 12 日
0.1.7 2023 年 3 月 23 日

#388 in Web 编程

Download history • Rust 包仓库 11/week @ 2024-05-02 • Rust 包仓库 248/week @ 2024-05-09 • Rust 包仓库 209/week @ 2024-05-16 • Rust 包仓库 100/week @ 2024-05-23 • Rust 包仓库 19/week @ 2024-05-30 • Rust 包仓库 53/week @ 2024-06-06 • Rust 包仓库 13/week @ 2024-06-13 • Rust 包仓库 37/week @ 2024-06-20 • Rust 包仓库 43/week @ 2024-06-27 • Rust 包仓库 105/week @ 2024-07-04 • Rust 包仓库 37/week @ 2024-07-11 • Rust 包仓库 5/week @ 2024-07-18 • Rust 包仓库 29/week @ 2024-07-25 • Rust 包仓库 9/week @ 2024-08-01 • Rust 包仓库 8/week @ 2024-08-08 • Rust 包仓库 35/week @ 2024-08-15 • Rust 包仓库

每月 81 次下载
techlead 中使用

Apache-2.0

33KB
512

Crates.io Documentation Codecov Dependency status

ChatGPT Rust 库

一个用于与 OpenAI 的 ChatGPT API 交互的 Rust 库。此库简化了向 ChatGPT API 发送请求和处理响应的过程。

功能

  • 用于与 ChatGPT API 交互的简单易用的接口
  • 强类型结构用于请求参数和响应数据
  • 支持使用 Serde 进行序列化和反序列化
  • 一个示例 CLI 聊天应用程序,展示了库的使用方法
  • 具有令牌估计功能

利用 Rustls 进行 TLS 层,消除了对 OpenSSL 的需求,并使 Linux 上的 musl 能够实现无缝的本地执行。

安装

将以下行添加到 'Cargo.toml' 文件的 '[dependencies]' 部分

chat-gpt-lib-rs = "<put here the latest and greatest version number>"

然后,运行 cargo build 下载并编译依赖项。

使用方法

首先,导入必要的组件

use chat_gpt_lib_rs::{ChatGPTClient, ChatInput, Message, Model, Role};

接下来,使用您的 API 密钥创建一个新的客户端

let api_key = "your_api_key_here";
let base_url = "https://api.openai.com";
let client = ChatGPTClient::new(api_key, base_url);

要发送聊天消息,创建一个 ChatInput 结构体并调用 chat 方法

let chat_input = ChatInput {
    model: Model::Gpt_4o,
    messages: vec![
        Message {
            role: Role::System,
            content: "You are a helpful assistant.".to_string(),
        },
        Message {
            role: Role::User,
            content: "Who won the world series in 2020?".to_string(),
        },
    ],
    ..Default::default()
};

let response = client.chat(chat_input).await.unwrap();

响应将是一个包含 API 响应数据的 'ChatResponse' 结构体。

示例 CLI 聊天应用程序

示例文件夹中提供了两个示例 CLI 聊天应用程序

简单聊天应用程序

cli-simple-chat-example.rs 展示了如何使用 chat-gpt-lib-rs 库通过命令行界面与基于 GPT-3 架构的 AI 模型交互。要运行示例,首先在 .env 文件或作为环境变量中设置 OPENAI_API_KEY,然后执行以下命令

cargo run --example cli-simple-chat-example

示例将提示用户输入问题,AI 聊天机器人将回答。对话将继续,直到用户退出程序。

可选地,您可以将初始用户输入作为命令行参数提供

cargo run --example cli-simple-chat-example "Hello, computer!"

花哨聊天应用程序

cli-chat-example.rs 展示了如何使用 chat-gpt-lib-rs 库通过命令行界面创建交互式 AI 聊天机器人。要运行示例,首先在 .env 文件或作为环境变量中设置 OPENAI_API_KEY,然后执行以下命令

cargo run --example cli-chat-example

示例将提示用户输入消息,AI聊天机器人将回答。对话将持续到用户退出程序。

可选地,您可以将初始用户输入作为命令行参数提供

cargo run --example cli-chat-example "Hello, computer!"

为了增强带有图标的体验,请使用支持Nerd Fonts的终端。要启用此功能,请在.env文件中设置USE_ICONS=true或作为环境变量。

文档

有关请求参数和响应结构的更多详细信息,请参阅OpenAI API文档

贡献

我们欢迎对chat-gpt-lib-rs项目的贡献!无论是报告错误、提出新功能、改进文档还是贡献代码,您的帮助都将受到极大的欢迎。以下是您如何贡献的说明

  1. 分支仓库:首先将chat-gpt-lib-rs仓库分支到您的GitHub账户。这将创建一个副本,您可以在不影响原始项目的情况下对其进行修改。
  2. 创建分支:在您的分支仓库中,为要进行的更改创建一个新分支。这有助于将您的更改与其他更改分开,并在以后更容易合并您的更改。
  3. 进行更改:在新分支中进行更改。这可能包括修复错误、添加新功能、改进文档或任何其他您认为可以改进项目的更改。
  4. 测试您的更改:确保您的更改按预期工作并且不会引入任何新的错误。如果项目有测试套件,请确保您的更改通过所有测试。
  5. 提交拉取请求:一旦您对更改感到满意,请提交一个拉取请求以将您的分支合并到主chat-gpt-lib-rs仓库。在您的拉取请求中,描述您所做的更改以及为什么您认为它们应该包含在项目中。
  6. 处理审阅反馈:在您提交拉取请求后,项目的其他贡献者可能会审阅您的更改并提供反馈。请做好准备,对更改进行进一步的修改或回答有关更改的问题。

请记住,对像chat-gpt-lib-rs这样的开源项目的贡献是一种协作努力。对其他贡献者保持尊重和耐心,并记住我们所有人都在共同努力改进项目。

感谢您对chat-gpt-lib-rs的贡献兴趣!

示例项目

现在有一个有趣的项目teachlead正在使用此项目。

许可证

本项目采用Apache License 2.0授权。有关详细信息,请参阅LICENSE文件。

依赖关系

~13–25MB
~480K SLoC