2 个不稳定版本
0.2.0 | 2024年1月5日 |
---|---|
0.1.1 | 2023年11月7日 |
0.1.0 |
|
在 #auth-token 分类中排名 20
每月下载量 24 次
23KB
511 行
async-gigachat
为 GigaChat 提供的异步 Rust 库
概述
async-gigachat
是一个为 GigaChat REST API 提供的非官方 Rust 库。
用法
该库从环境变量 GIGACHAT_AUTH_TOKEN
中读取 授权令牌。
# On macOS/Linux
export GIGACHAT_AUTH_TOKEN='YTAxNj...'
# On Windows Powershell
$Env:GIGACHAT_AUTH_TOKEN='YTAxNj...'
- 访问 示例目录 了解如何使用
async-gigachat
。 - 访问 docs.rs/async-gigachat 查看文档。
聊天完成示例
use anyhow::Ok;
use async_gigachat::{
chat::{ChatCompletionRequestBuilder, ChatMessageBuilder, Role, Chat},
client::Client,
config::GigaChatConfig,
};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let config = GigaChatConfig::default();
let client: Client = Client::with_config(config);
let question = ChatMessageBuilder::default()
.role(Role::User)
.content("Hey, how's it going?")
.build()?;
let request = ChatCompletionRequestBuilder::default()
.messages(vec![question.clone()])
.model("GigaChat:latest")
.build()?;
let response = Chat::new(client).completion(request).await?;
println!("{}: {}", question.role, question.content);
println!("{}: {}", response.choices.get(0).unwrap().message.role, response.choices.get(0).unwrap().message.content);
Ok(())
}
许可证
本项目采用 MIT 许可证。
依赖项
~8–20MB
~310K SLoC