Spaces:
Running
Running
Commit History
-
feat: Enhance metrics collection and assistant item correlation
- Added support for correlating conversation items with speech items in the `MetricsCollector`, allowing for improved tracking of assistant responses. - Introduced new data classes `AssistantItemSpeechBinding` and `PendingAssistantItemEvent` to manage the relationship between chat items and speech IDs. - Updated methods in `MetricsCollector` to handle the new item correlation logic, including adjustments to item addition and speech handling. - Enhanced `TurnTracer` to support new flags for tracking speech completion and assistant text observations. - Added unit tests to validate the new correlation features and ensure proper functionality of the updated metrics collection mechanisms.6549fd6 -
feat: Enhance turn tracing and metrics collection
- Introduced `LANGFUSE_ASSISTANT_TEXT_GRACE_TIMEOUT_MS` in `.env.example` and `settings.py` to manage the grace period for waiting on assistant text before finalizing traces. - Refactored `MetricsCollector` and `TurnTracer` to support new metrics and improve handling of user utterances and assistant text sources. - Updated `PocketTTS` initialization to streamline parameter handling. - Enhanced tests to validate the new features and ensure proper functionality of the updated tracing and metrics collection mechanisms.04178a2
-
codex fixex
7fdafe4 -
feat: Introduce MCP connection timeout handling and enhance configuration
- Added `MCP_CONN_TIMEOUT_SEC` setting to manage timeout for MCP tool requests in `settings.py`. - Updated `.env.example` to include MCP timeout configuration. - Enhanced `LLMRuntimeConfig` and `ConfiguredMCPServerHTTP` to utilize the new MCP timeout setting. - Implemented error handling for MCP tool timeouts and unavailability, providing user guidance in case of failures. - Updated assistant instructions to reflect new behavior regarding tool retries after failures. - Enhanced tests to validate MCP timeout handling and ensure proper functionality of the new settings.8193c41 -
feat: Enhance voice activity detection and turn tracing features
- Updated VAD parameters in `.env.example` for improved responsiveness and accuracy, including adjustments to `VAD_MIN_SILENCE_DURATION`, `VAD_THRESHOLD`, and endpointing delays. - Introduced a new `PendingUserUtterance` class in `metrics_collector.py` to manage user utterances more effectively, allowing for better tracking of speech-to-text transitions. - Refactored `TurnTracer` to support coalescing of user transcripts, enabling the merging of immediate continuations into prior turns for a more seamless conversation flow. - Updated settings in `settings.py` to reflect new defaults for voice processing and turn detection. - Enhanced tests to validate the new features and ensure proper functionality of the updated VAD and turn tracing mechanisms.4a03ace
-
feat: Add Deepgram STT provider support and enhance configuration options
- Introduced Deepgram as a new STT provider in `STTSettings`, including settings for model ID and language. - Updated `.env.example` and `README.md` to document the new Deepgram STT settings and their usage. - Enhanced the assistant's configuration summary to include details for the Deepgram STT provider. - Refactored the STT factory to support initialization of Deepgram STT engines, with appropriate logging for configuration. - Added tests to validate the integration of Deepgram STT and ensure proper handling of settings across different scenarios.c394e23 -
feat: Add NVIDIA TTS provider support and enhance configuration options
- Introduced NVIDIA as a new TTS provider in `VoiceSettings`, including settings for API key, voice, language code, server, function ID, and SSL usage. - Updated `.env.example` and `README.md` to document the new NVIDIA TTS settings and their usage. - Enhanced the assistant's configuration summary to include details for the NVIDIA TTS provider. - Refactored the TTS factory to support initialization of NVIDIA TTS engines, with appropriate logging for configuration. - Added tests to validate the integration of NVIDIA TTS and ensure proper handling of settings across different scenarios.6e34c93 -
feat: Add support for Deepgram TTS provider and related configurations
- Introduced `TTS_PROVIDER` and `DEEPGRAM_API_KEY` settings in `VoiceSettings` to support Deepgram as a TTS option. - Updated `.env.example` to document the new TTS provider settings and their usage. - Refactored the assistant's configuration summary to include details for the selected TTS provider. - Enhanced session management to utilize the new TTS factory for creating TTS engines. - Added tests to validate the integration of Deepgram and ensure proper handling of TTS settings.9b5c112 -
feat: Introduce MCP startup greeting timeout and PocketTTS connection timeout settings
- Added `MCP_STARTUP_GREETING_TIMEOUT_SEC` to `LLMSettings` and `VoiceSettings` for controlling the startup greeting interruption behavior. - Introduced `POCKET_TTS_CONN_TIMEOUT_SEC` to define the timeout for PocketTTS synthesis attempts. - Updated `.env.example` and `README.md` to document the new timeout settings and their intended usage. - Refactored session management to utilize the new timeout settings for improved control over greeting and TTS behavior. - Enhanced tests to validate the new timeout configurations and ensure proper functionality.62404fa -
feat: Enhance LiveKit worker configuration and documentation
- Added `LIVEKIT_INITIALIZE_PROCESS_TIMEOUT_SEC` to `.env.example` and `LiveKitSettings` for configuring idle worker bootstrap timeout. - Updated `README.md` to document the new timeout setting and its intended usage. - Refactored server initialization in `session.py` to incorporate the new timeout setting. - Enhanced tests to validate the new LiveKit settings and ensure proper initialization behavior.60ef510 -
refactor: Consolidate LLM runtime configuration using LLMSettings
- Refactored the LLM runtime initialization to utilize a single LLMSettings object, simplifying parameter management. - Updated the assistant instructions to promote concise responses and clarify tool usage. - Enhanced test cases to validate the new LLMSettings integration and ensure proper functionality across different scenarios.1641cad -
feat: Update Ollama configuration for cloud and local usage
19bb8f7 -
feat: Add support for extra MCP server URLs and enhance assistant instructions
- Introduced to allow configuration of additional MCP servers in and settings. - Updated to document the new configuration option and its usage. - Enhanced the assistant's instructions to include a summary of the current configuration, improving user awareness of the system setup. - Implemented a new function to resolve and deduplicate MCP server URLs. - Added tests to validate the new functionality and ensure proper handling of MCP server configurations.6febd52 -
feat: Update default Ollama model and enhance trace history management
- Changed the default Ollama model from 'kimi-k2.5' to 'qwen3-coder-next' in settings.py. - Modified trace history management in main.js to push new trace entries and sort them by creation time and trace ID, ensuring proper order and limiting history size.a92fd8b -
feat: Add Langfuse tracing support and UI enhancements
- Updated .env.example and README.md to include LANGFUSE_PROJECT_ID and LANGFUSE_PUBLIC_TRACES configurations. - Enhanced session bootstrap payload to include Langfuse settings for tracing. - Implemented UI components for displaying trace history and dropdown functionality. - Updated main.js to manage trace dropdown interactions and render trace history. - Added tests to validate Langfuse tracing behavior and ensure proper metadata handling.3f6837a
-
feat: Update LLM runtime configuration and tests for thinking behavior
5e3ba57 -
feat: Enhance turn pipeline summary with partial updates and tool activity tracking
- Introduced a method to publish partial turn pipeline summaries during tool step events. - Updated MetricsCollector and TurnTracer to handle partial summaries and tool activity checks. - Enhanced UI to reflect loading states for tool execution and total turn durations based on summary completeness. - Added tests to ensure proper publishing of partial summaries during tool execution phases.f801a21 -
feat: Introduce turn pipeline summary and enhance tool execution metrics
- Added a new method to publish a detailed turn pipeline summary, including phases and tool execution metrics.0a97994
-
feat: Update Ollama configuration and validation for cloud usage
- Enhanced .env.example and README.md to include examples for using Ollama Cloud with OpenAI-compatible endpoints. - Implemented validation in llm_runtime.py to prevent the use of ':cloud' aliases with the Ollama Cloud endpoint. - Updated default LLM provider to 'ollama' in settings.py and adjusted default model to 'qwen2.5:7b'. - Added tests to ensure proper rejection of invalid model configurations for Ollama Cloud.0167890 -
feat: Enhance assistant behavior and tool feedback mechanisms
- Updated assistant instructions to prevent tool calls for self-description requests. - Introduced allowed_tool_names parameter to control tool usage in pre-tool feedback. - Enhanced MetricsCollector and TurnTracer to support tool step announcements and error handling. - Added tests to validate new assistant instructions and tool feedback behavior.c13fca7
-
feat: Add post-tool response timeout and enhance error handling in channel metrics
d0f8e17
-
feat: Implement LLM warm-up functionality and update connection settings
fa9dd6d -
feat: Add LLM runtime and STT factory implementations
- Introduced to manage LLM configurations and MCP runtime decisions, supporting NVIDIA and Ollama providers. - Implemented to create STT instances based on the configured provider, supporting NVIDIA and Moonshine STT. - Added a test for generating footer HTML in the Streamlit app, ensuring correct behavior with the Ollama provider.8f7da58 -
Add MCP runtime support and update configuration: Introduce MCP_ENABLED setting in settings.py and .env.example, enhance README with MCP runtime details, and implement MCP runtime decision logic in agent.py. Update agent instructions and ensure fallback to legacy runtime when MCP is unavailable.
882a5d7
-
Update dependencies and enhance logging: Modify pyproject.toml to include additional features in livekit-agents and update transformers version. Add cryptography package to uv.lock and refactor metrics logging in agent.py to improve clarity and remove unused code. Adjust maximum endpointing delay in settings.py and update UI tooltip descriptions for better user understanding.
43dafc9
-
Update deployment environment configuration: Replace hardcoded default environment in agent.py
3a97ef8 -
Add LLM connection settings and enhance error handling: Introduce new parameters for LLM connection timeout, retry attempts, and stall timeout in .env.example and settings.py. Update agent.py to log errors and session closures, and implement a watchdog for LLM stall detection in MetricsCollector.
3d758c5
-
Update PocketTTS configuration and logging: Change sample rate handling to enforce native 24kHz, adjust idle process count in .env.example, and enhance audio diagnostics in main.js for better tracking of remote audio track events.
93ad4ad
-
Enhance agent metrics logging and configuration: Add detailed logging for various metrics (VAD, EOU, STT, LLM, TTS) in agent.py,
4730cee -
Add error handling for session bootstrap failures: Implement a client-safe error response payload in session_bootstrap.py and update Streamlit routes to use this new error handling.
3a5c3c8
-
Update trace finalize timeout and enhance assistant text handling
5e589a1 -
Enhance VAD configuration and add fallback participant ID support: Update VAD_MIN_SPEECH_DURATION and VAD_MIN_SILENCE_DURATION for faster response times. Introduce fallback participant ID logic in MetricsCollector to handle cases where participant metadata is absent, ensuring accurate trace reporting.
ef8254e -
Update Langfuse tracing configuration and enhance metrics collection: Increase trace finalize timeout in .env.example and settings.py. Add support for speech created events in MetricsCollector to capture assistant text. Refactor metrics handling to include additional latency metrics and improve test coverage for speech handling scenarios.
0146898
-
Enhance Langfuse tracing functionality: Add new configuration options for trace timeouts and maximum pending tasks in .env.example and settings.py. Update MetricsCollector to handle assistant text finalization and improve trace task management. Refactor agent logic to ensure accurate trace status reporting and enhance test coverage for tracing behavior.
0e98d54 -
Add Langfuse tracing support and enhance agent dispatch logic: Introduce optional Langfuse tracing configuration in .env.example and settings.py. Update agent and metrics collector to handle Langfuse traces per user turn. Refactor agent dispatch logic to ensure proper agent management and session metadata handling in the Streamlit app. Enhance UI to display session and trace information.
63d722c
-
Implement speech-to-text provider selection and configuration: Update environment settings to support both Moonshine and NVIDIA STT providers, refactor STT initialization logic in the agent, and enhance footer generation in the Streamlit app for improved user experience. Update dependencies and settings management for better flexibility in model selection.
0bfc688
-
Refactor Streamlit app layout and enhance UI styling: Update page configuration for a wider layout, improve header visibility, and apply new CSS styles for better user experience. Adjust audio visualization in JavaScript for improved responsiveness and aesthetics.
1ec6fec
-
implement LLM provider selection and configuration: Update environment settings to support HuggingFace alongside NVIDIA, refactor LLM initialization logic in the agent, and enhance settings management for improved flexibility in model selection.
090f2a4
-
Enhance LiveKit integration: Add audio input and VAD configurations, update settings, and improve Streamlit app for better agent dispatch and error handling.
f70205c
-
Add LiveKit agent dispatch functionality and update settings for agent configuration. Enhance Streamlit app to dispatch agent upon room token creation.
1bf5975 -
Update environment configuration for LiveKit integration, modify Dockerfile for Python version compatibility, and enhance settings management with LiveKit parameters.
5ec72cd -
Refactor Open Voice Agent: Transition to Hatch for build system, restructure agent components, and streamline conversation graph
9af190b
-
Add Pocket TTS plugin with configuration settings and integration into LLMFactory
11c8a27 -
Add Moonshine STT Plugin using ONNX Runtime
76b1422
-
Refactor LLM and voice provider settings, enhance configuration options, and update dependencies
a16f712 -
Add initial test suite for LLM providers
5cb235d -
refactor code structure
369ffd3 -
Refactor voice provider architecture to support NVIDIA integration, update environment configuration, and remove obsolete services. Enhance dependency management in pyproject.toml and .gitignore.
65b597c
-
implement core services and dependencies
81dd251
-
implement main entry point for Open Voice Agent with CLI support for running FastAPI, Streamlit, or both. Enhance Streamlit UI for audio processing and integrate WebSocket communication. Update dependencies in pyproject.toml and remove requirements.txt.
affeafa