praxis-llm
Provider-agnostic LLM client library with support for Chat Completions and Responses API (reasoning).
Features
- Chat Completions API
- Responses API with reasoning support
- Streaming support for both APIs
- History reconstruction for conversation management
- Provider-agnostic traits for easy extensibility
Installation
[]
= "0.1"
Usage
Chat Completions
use ;
let client = new?;
let request = new;
let response = client.chat_completion.await?;
println!;
Streaming
use ;
use StreamExt;
let client = new?;
let request = new;
let mut stream = client.chat_completion_stream.await?;
while let Some = stream.next.await
Reasoning (Responses API)
use ;
let client = new?;
let request = new.with_reasoning;
let response = client.response.await?;
if let Some = response.reasoning
if let Some = response.message
Examples
See the examples/ directory for complete working examples:
01_chat.rs- Basic chat completion02_chat_streaming.rs- Streaming chat03_reasoning.rs- Responses API with reasoning04_reasoning_streaming.rs- Streaming with reasoning
Run examples:
License
MIT