forgeai 0.1.1

Unified Rust SDK for multi-provider GenAI
Documentation

forgeai

High-level Rust SDK client for multi-provider GenAI.

Install

cargo add forgeai --features openai
cargo add forgeai-adapter-openai

Quick start

use forgeai::forgeai_core::{ChatRequest, Message, Role};
use forgeai::Client;
use forgeai_adapter_openai::OpenAiAdapter;
use serde_json::json;
use std::sync::Arc;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let adapter = OpenAiAdapter::from_env()?;
    let client = Client::new(Arc::new(adapter));

    let response = client
        .chat(ChatRequest {
            model: "gpt-4o-mini".to_string(),
            messages: vec![Message {
                role: Role::User,
                content: "Hello from forgeai".to_string(),
            }],
            temperature: Some(0.2),
            max_tokens: Some(128),
            tools: vec![],
            metadata: json!({}),
        })
        .await?;

    println!("{}", response.output_text);
    Ok(())
}

Advanced APIs

  • chat_stream(...)
  • chat_with_tools(...)
  • chat_with_tools_streaming(...)