6 个版本

0.0.7 2023 年 5 月 16 日
0.0.6 2023 年 5 月 15 日

1973Web 编程

MIT 许可证

21KB
253

Anthropic 非官方 Rust SDK 🦀

GitHub Workflow Status Project license Pull Requests welcome Rust docs Rust crate

anthropic-rs 是一个非官方的 Rust 库,用于与 Anthropic REST API 交互,支持异步。

想在 Rust 中玩 Claude?这里是你的地方!

用法

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // Load the environment variables from the .env file.
    dotenv().ok();

    // Build from configuration.
    let cfg = AnthropicConfig::new()?;
    let client = Client::try_from(cfg)?;

    let complete_request = CompleteRequestBuilder::default()
        .prompt(format!("{HUMAN_PROMPT}How many toes do dogs have?{AI_PROMPT}"))
        .model("claude-v1".to_string())
        .stream_response(false)
        .stop_sequences(vec![HUMAN_PROMPT.to_string()])
        .build()?;

    // Send a completion request.
    let complete_response = client.complete(complete_request).await?;

    println!("completion response: {complete_response:?}");

    Ok(())
}

你可以在 示例 目录中找到完整的示例。

配置

anthropic-rs 使用 dotenv 自动从 .env 文件中加载环境变量。您也可以手动在您的环境中设置这些变量。以下是一些配置变量的示例

ANTHROPIC_API_KEY="..."
ANTHROPIC_DEFAULT_MODEL="claude-v1"

将 "..." 替换为您的实际令牌和首选项。

您也可以在创建新的 Client 实例时手动设置这些变量,更多详情请参阅用法部分。

功能

  • 完成 (/v1/complete)

贡献

欢迎对 anthropic-rs 的贡献!请随意提交拉取请求或创建一个问题。

许可证

anthropic-rs 在 MIT 许可证 下发布。

致谢

  • Anthropic API 参考 的清晰和简洁的文档。
  • SDK 的架构灵感来源于 async-openai,这是一个为 OpenAI 开发的异步 Rust 库。我们衷心感谢创建者们的宝贵工作。我们设想,开发一个与各种 AI GPT 提供商的 API 交互的标准接口将带来显著的好处。例如,它可以促进开发能够无缝与不同提供商接口的多功能包装器。

依赖关系

~11–26MB
~406K SLoC