transformrs 1.0.0

An interface for AI APIs
Documentation
extern crate transformrs;

use std::error::Error;
use transformrs::models::models;
use transformrs::models::Models;
use transformrs::Provider;

async fn test_models(provider: Provider) -> Result<Models, Box<dyn Error + Send + Sync>> {
    let keys = transformrs::load_keys(".env");
    let key = keys.for_provider(&provider).unwrap();
    let resp = models(&provider, &key).await;
    let resp = match resp {
        Ok(resp) => resp,
        Err(e) => {
            return Err(e);
        }
    };
    println!("{:?}", resp.raw());
    let resp = resp.structured();
    Ok(resp.unwrap())
}

#[tokio::test]
async fn test_models_groq() {
    let models = test_models(Provider::Groq).await.unwrap();
    assert!(models.contains("llama3-8b-8192"));
}

#[tokio::test]
async fn test_models_openai() {
    let models = test_models(Provider::OpenAI).await.unwrap();
    assert!(models.contains("gpt-4o"));
}