rig-dyn 1.0.3

A dynamic client-provider abstraction framework for Rust applications on top of rig-core
Documentation
use std::env;

use anyhow::Result;
use rig::{
    client::CompletionClient,
    completion::Prompt,
};
use rig_dyn::Provider;

#[tokio::main]
async fn main() -> Result<()> {
    let provider = Provider::OpenAI;
    let api_key = env::var("OPENAI_API_KEY")?;

    let client = provider.client(&api_key, None)?;
    let agent = client
        .agent("gpt-4o")
        .preamble("You are a helpful assistant.")
        .temperature(0.7)
        .build();

    let response = agent.prompt("Hello, World!").await?;
    println!("{response}");

    Ok(())
}