anthropic_client 0.1.0

A library for interacting with the Anthropic API
Documentation
use reqwest::blocking::Client;
use serde_json::json;
use std::env;

pub fn send_request(content: &str, model: &str) -> Result<String, Box<dyn std::error::Error>> {
    let api_key = env::var("ANTHROPIC_API_KEY").expect("ANTHROPIC_API_KEY must be set");
    let api_url = env::var("ANTHROPIC_API_URL").expect("ANTHROPIC_API_URL must be set");
    let api_version = env::var("ANTHROPIC_API_VERSION").expect("ANTHROPIC_API_VERSION must be set");
    let client = Client::new();

    let response = client
        .post(api_url)
        .header("x-api-key", api_key)
        .header("anthropic-version", api_version)
        .header("content-type", "application/json")
        .json(&json!({
            "model": model,
            "max_tokens": 1024,
            "messages": [
                {"role": "user", "content": content}
            ]
        }))
        .send()?;

    let body = response.text()?;
    Ok(body)
}