Expand description
§llmrs
Unofficial Rust SDK focused on calling IBM WatsonX APIs: watsonx.ai (text generation) and watsonx.orchestrate (assistants and chat).
§Features
- WatsonX AI: generate text, stream responses, list models, batch and chat completion
- WatsonX Orchestrate: agents, threads, send/stream messages
- Auth: IAM token handling
- Config: env-based; credentials in
.env(see.env.example)
§Quick Start
use llmrs::{WatsonxConnection, GenerationConfig, models::models};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = WatsonxConnection::new().from_env().await?;
let config = GenerationConfig::default().with_model(models::GRANITE_4_H_SMALL);
let result = client.generate_with_config("Hello!", &config).await?;
println!("{}", result.text);
Ok(())
}See examples/ for more.
Re-exports§
pub use client::WatsonxClient;pub use config::WatsonxConfig;pub use connection::WatsonxConnection;pub use error::Error;pub use error::Result;pub use types::BatchItemResult;pub use types::BatchGenerationResult;pub use types::BatchRequest;pub use types::ChatCompletionConfig;pub use types::ChatCompletionResult;pub use types::ChatMessage;pub use types::GenerationConfig;pub use types::GenerationResult;pub use types::ModelInfo;pub use orchestrate::Agent;pub use orchestrate::Message;pub use orchestrate::MessagePayload;pub use orchestrate::OrchestrateClient;pub use orchestrate::OrchestrateConfig;pub use orchestrate::OrchestrateConnection;pub use models::*;pub use orchestrate::*;
Modules§
- auth
- Authentication utilities for IBM Cloud services
- client
- WatsonX AI client implementation
- config
- WatsonX configuration.
- connection
- Simplified WatsonX AI connection helper
- env
- Central list of environment variable names.
- error
- Error types for llmrs
- models
- WatsonX model definitions and constants
- orchestrate
- Watson Orchestrate SDK Module
- security
- Minimal security support for API credentials.
- sse
- Server-Sent Events (SSE) parsing utilities
- types
- Core types for WatsonX operations