2 个不稳定版本

0.2.0 2024年1月5日
0.1.1 2023年11月7日
0.1.0 2023年11月6日

#auth-token 分类中排名 20

每月下载量 24

MIT 许可证 MIT

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...'

聊天完成示例

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