Releases: idiap/sdialog
v0.4.0 🔊
🔊 Audio Generation Module & Enhanced Interpretability 🎉
This release introduces the new sdialog.audio module, enabling audio conversation generation from text dialogues, along with expanded interpretability capabilities and new backend support.
🎙️ Transform Dialogues into Audio
-
🔊 New
sdialog.audioModule:
Convert any text dialog to audio with a single line:dialog.to_audio(). The module includes:- Multiple TTS engines (Kokoro, Hugging Face models)
- Voice databases with automatic voice assignment based on persona attributes (age, gender, language)
- Acoustic simulation with ray tracing for realistic room acoustics and spatial audio
- Microphone simulation with professional impulse responses (Shure, Sennheiser, Sony)
- Room generation with customizable dimensions, materials, and furniture placement
- Multiple export formats (WAV, MP3, FLAC) with custom sampling rates
- Background/foreground effects for environmental realism
→ 7 comprehensive tutorials covering all audio generation capabilities
→ Install with:pip install sdialog[audio]
🧠 Enhanced Interpretability & Steering
-
🔍 Input Inspection:
Inspect layer and component inputs (not just outputs) withInspector(target="model.layers.15", inspect_input=True) -
📊 Input Token Analysis:
Access activations for input tokens (not only generated ones) viainspector.input[i][j].actwhereiis turn index andjis input token index
→ Enables deeper mechanistic analysis of prompt processing
🌐 New Backend Support
-
🤖 Anthropic Integration:
Added support for Anthropic's Claude models (#100) -
☁️ Azure OpenAI:
Native support for Azure OpenAI deployments (#100)
🐛 Bug Fixes
- 💾 Agent Memory Reset:
Fixed memory reset issue when no prompt system and no persona is provided
🎯 What's Next
This major update enables:
- End-to-end audio dialogue generation for training data, evaluation, and production systems
- Deeper model analysis through enhanced interpretability tools
- Broader deployment options with Anthropic and Azure support
Full Changelog: View detailed changes
v0.3.3 🚀
🚀 New Server Module & Enhanced Evaluation Tools
This release introduces the new sdialog.server module, enabling agent serving through an Ollama/OpenAI-compatible REST API, along with key improvements to evaluation tools and agent flexibility.
🖥️ Serve Your Agents via API
- 🌐 New
sdialog.serverModule:
Serve agents directly through an Ollama/OpenAI-compatible REST API, making SDialog agents compatible with external UIs like Open WebUI.
→ Easily integrate your agents into existing chat interfaces or dashboards.
(#92)
💬 Dialogue Management Enhancements
- 📦 Load from Hugging Face:
AddedDialog.from_huggingface()— directly load or download dialogues from Hugging Face datasets for instant experimentation.
(#59)
🧠 Agent & Evaluation Improvements
- ⚙️ Agent Initialization:
EnhancedAgentinitialization now allows agents to act as proxies for external conversational systems (e.g., API-based or hybrid setups).
(#90, fa1d8f3) - 🧩 LLM Judge Flexibility:
sdialog.evaluationLLM judge methods now accept custom user-defined template arguments.
(#86)
🐛 Bug Fixes
- 📈 Corrected Readability Scores:
Fixed the computation of Flesch Reading Ease and Gunning Fog metrics for more accurate linguistic evaluation.
(d1d4260)
🎯 What’s Next
This update lays the groundwork for production-ready conversational systems, allowing users to:
- Host SDialog agents via REST APIs
- Connect easily to front-end chat interfaces
- Extend evaluation pipelines with domain-specific templates
Full Changelog: View detailed changes
v0.3.0 🚀
🚀 Major Feature Release - Enhanced Agent Capabilities & Evaluation Tools
This release introduces significant new capabilities to SDialog, focusing on advanced agent functionality, comprehensive evaluation tools, and improved dialogue generation.
🤖 Agent & Orchestration Enhancements
- 🧠 Agent Thinking Capabilities: Agents can now handle internal thinking processes for more sophisticated reasoning
- 🛠️ Agent Tools Support: Added tools capabilities to Agents (e.g. RAG or any other function) with new tutorial
- 📦 New
sdialog.agentsModule: Restructured and movedAgentclass into dedicated module - 🔗 Direct Model Access: Added
base_modelattribute toAgentfor direct access to underlying LLM models for mechanistic interpretability
🎭 Personas & Context Modeling
- 🏢 Customer Service Personas: New
CustomerandSupportAgentpersonas for customer service dialogues - 🌍 Context Modeling: New
ContextandContextGeneratorclasses to explicitly model shared conversation context - 📊 Persona Introspection: Added static method to get list of all attributes from any
BasePersonasubclass
💬 Dialogue Generation & Processing
- 🔄 Dialogue Paraphrasing: New
Paraphraserclass to paraphrase dialogues while preserving meaning - 🔗 Dialog Merge Functionality: Option to merge consecutive turns from same speaker when loading dialogs
- 🐍 Built-in String Support: Added support for built-in str functions on
Dialogclass
📈 Evaluation & Analysis
- 📝 Linguistic Analysis: New
LinguisticFeatureScoreto compute Flesch reading ease, Gunning fog, hesitation rate, and mean turn length - 🎯 Improved LLM Judges: Enhanced attribute naming (
yes→positive,feedback→reason)
🔧 Technical Improvements
- 💾 Enhanced Caching: Added
clear_cache()method to config - 🏗️ Improved Metadata Handling: Better metadata management across the system
- 🔍 Simplified Interpretability: Streamlined inspection target definitions
- 🐛 Bug Fixes: Fixed potential issues in
PersonaDialogGenerator
📚 Documentation & Developer Experience
- 📖 Comprehensive API Documentation: Refactored and added docstrings with examples for all components
- 🎓 Updated Tutorials: All tutorials now work with new code and include "Open in Colab" badges
- 🤖 AI Assistant Support: Automatic generation of
llm.txtfor better AI coding assistant integration - 📝 Complete API Reference: Full documentation ready for official release
🎯 What's Next
This release significantly expands SDialog's capabilities, making it more powerful for:
- Complex dialogue generation with thinking agents
- Customer service scenario simulation
- Advanced dialogue evaluation and analysis
- Research in dialogue systems and conversational AI
Full Changelog: View detailed changes
v0.1.0 🌱
🚀 Initial Release after JSALT 2025
This release marks the first official version following the work done during JSALT 2025.
More than 500 commits have been added since the initial basic release, representing major changes and improvements to the package. Below is a summary of some key updates:
✅ Implemented Features
- Multi-backend support: Hugging Face, Ollama, OpenAI, AWS
- Improved dialog format
- Persona generation support
- Interpretability module (
sdialog.interpretability): Includes inspectors, steerers, hooks, and intruders (mechanistic interpretability) - Evaluation module (
sdialog.evaluation): Provides metrics, scoring methods (including LLM-as-a-judge), evaluators, and dataset comparators
❌ Still in Progress
- Audio module (
sdialog.audio) is not yet fully integrated - Documentation updates are still pending