#ai #llm #api-client #language-model #request-response #api-bindings #aleph-alpha

aleph-alpha-api

通过 Rust 代码与 Aleph Alpha API 提供的大语言模型进行交互

1 个不稳定版本

0.1.0 2023 年 12 月 8 日

#794 in 机器学习

MIT 许可证

1MB
867

aleph-alpha-api-rs

这是一个 Aleph Alpha API 的非官方 Rust API 客户端。与 Aleph Alpha 自身的 Rust 客户端 相比,这个实现使用直接反映通过 HTTP 发送和接收的 JSON 请求和响应结构的请求和响应结构。数据由请求结构拥有,避免了生命周期问题,并使得克隆和存储请求变得简单。可以使用构建器模式来填充请求结构的可选值。

简单的文本补全示例

use aleph_alpha_api::{error::ApiError, Client, CompletionRequest, LUMINOUS_BASE};

const AA_API_TOKEN: &str = "<YOUR_AA_API_TOKEN>";

async fn print_completion() -> Result<(), ApiError> {
    let client = Client::new(AA_API_TOKEN.to_owned())?;

    let request =
        CompletionRequest::from_text(LUMINOUS_BASE.to_owned(), "An apple a day".to_owned(), 10)
            .temperature(0.8)
            .top_k(50)
            .top_p(0.95)
            .best_of(2)
            .minimum_tokens(2);

    let response = client.completion(&request, Some(true)).await?;

    println!("An apple a day{}", response.best_text());

    Ok(())
}

#[tokio::main]
async fn main() {
    print_completion().await.unwrap();
}

运行采样报告示例

采样报告示例生成 250 个随机提示的补全,这些提示是作为 Open-Assistant 项目的部分收集的。

用于补全的采样参数通过 JSON 配置文件指定。您找到了两个通用模型和指令调整模型的示例配置(*-control 变体)

通过命令行参数 --config 指定要使用的配置文件。

在运行示例之前,请确保已将 API 令牌设置为 AA_API_TOKEN 环境变量

export AA_API_TOKEN=<YOUR_AA_API_TOKEN>
cargo run --example sampling_report -- --config examples/config/sampling_default.json --model luminous-base

依赖关系

~29–46MB
~602K SLoC