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 编程
每月 81 次下载
在 techlead 中使用
33KB
512 行
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
项目的贡献!无论是报告错误、提出新功能、改进文档还是贡献代码,您的帮助都将受到极大的欢迎。以下是您如何贡献的说明
- 分支仓库:首先将
chat-gpt-lib-rs
仓库分支到您的GitHub账户。这将创建一个副本,您可以在不影响原始项目的情况下对其进行修改。 - 创建分支:在您的分支仓库中,为要进行的更改创建一个新分支。这有助于将您的更改与其他更改分开,并在以后更容易合并您的更改。
- 进行更改:在新分支中进行更改。这可能包括修复错误、添加新功能、改进文档或任何其他您认为可以改进项目的更改。
- 测试您的更改:确保您的更改按预期工作并且不会引入任何新的错误。如果项目有测试套件,请确保您的更改通过所有测试。
- 提交拉取请求:一旦您对更改感到满意,请提交一个拉取请求以将您的分支合并到主
chat-gpt-lib-rs
仓库。在您的拉取请求中,描述您所做的更改以及为什么您认为它们应该包含在项目中。 - 处理审阅反馈:在您提交拉取请求后,项目的其他贡献者可能会审阅您的更改并提供反馈。请做好准备,对更改进行进一步的修改或回答有关更改的问题。
请记住,对像chat-gpt-lib-rs
这样的开源项目的贡献是一种协作努力。对其他贡献者保持尊重和耐心,并记住我们所有人都在共同努力改进项目。
感谢您对chat-gpt-lib-rs
的贡献兴趣!
示例项目
现在有一个有趣的项目teachlead正在使用此项目。
许可证
本项目采用Apache License 2.0授权。有关详细信息,请参阅LICENSE文件。
依赖关系
~13–25MB
~480K SLoC