Releases: cafferychen777/mLLMCelltype
Releases · cafferychen777/mLLMCelltype
mLLMCelltype v2.0.0
mLLMCelltype v2.0.0
Breaking Changes
- Logger defaults changed:
UnifiedLoggerconsole output is now disabled by default. Useconfigure_logger(console_output = TRUE)to enable.
New Model Support
- OpenAI: GPT-5.2, GPT-5.1, GPT-5, o3-pro, o4-mini
- Anthropic: Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.5
- Google: Gemini 3 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash
- X.AI: Grok 4, Grok 4.1, Grok 4 Heavy
- DeepSeek: DeepSeek R1
- Alibaba: Qwen 3 Max
- Zhipu: GLM-4.7
- MiniMax: MiniMax M2.1
Architecture Improvements
- Unified logging: consolidated dual debug mechanisms into single
log_debug()approach - Complete audit trail: all
warning()calls paired withlog_warn(); LLM consensus decisions logged - NAMESPACE fix:
QwenProcessorcorrectly exported;.qwen_endpoint_cacheremoved from public API - Cluster ID preservation throughout annotation pipeline
Bug Fixes
- Fixed
@exportmisplacement exporting internal state instead ofQwenProcessorclass - Fixed missing
tissue_nameparameter in API integration tests - Fixed
print()bypassing logging system in model comparison - Fixed trailing newlines causing double-spaced console output
- Improved NA handling in API key validation
Package Info
- R Package: mLLMCelltype_2.0.0.tar.gz
- Tests: 174 PASS, 0 FAIL, 0 WARN
mLLMCelltype v1.2.9: Cache System Fix and Improvements
mLLMCelltype v1.2.9 Release Notes
🎉 Major Updates
Cache System Fix (#65)
- Fixed critical cache isolation issue: OpenRouter models were incorrectly reusing cache from regular models
- Solution: Modified
create_cache_key()function to properly normalize provider for OpenRouter models (models containing '/') - Impact: Prevents cache pollution and ensures accurate cell type annotations when switching between providers
New Features
- Cache Management Module: Added
cache_manager.pywith utilities for cache inspection and managementget_cache_info(): Get information about current cache stateclear_mllmcelltype_cache(): Interactive cache clearing- CLI interface:
python -m mllmcelltype.cache_manager
- Comprehensive Documentation: Added detailed cache system documentation in
docs/CACHE_SYSTEM.md - Example Scripts: Added cache management examples in
examples/cache_management_example.py
Code Quality Improvements
- Fixed all ruff linting errors across the Python package
- Added
.gitignoreto exclude temporary test files - Updated import ordering and removed unused imports
- Added comprehensive test suite for cache system validation
📦 Package Information
Python Package
- Version: 1.2.9
- Files:
mllmcelltype-1.2.9.tar.gz- Source distributionmllmcelltype-1.2.9-py3-none-any.whl- Wheel distribution
R Package
- Version: 1.2.9
- File:
mLLMCelltype_1.2.9.tar.gz
🐛 Bug Fixes
- Cache isolation between regular and OpenRouter models
- Import order issues in examples
- Unused variable warnings
- F-string formatting issues
📚 Documentation Updates
- Added comprehensive cache system documentation
- Updated examples to demonstrate proper model usage
- Added API key configuration example (
.env.example)
🧪 Testing
- Added extensive test suite for cache system
- Verified cache isolation with real API calls
- Tested edge cases including tissue context variations
Installation
Python
pip install mllmcelltype==1.2.9R
install.packages("mLLMCelltype_1.2.9.tar.gz", repos = NULL, type = "source")Acknowledgments
Thanks to @eason-analytics for reporting the cache issue (#65) and providing detailed reproduction steps!
mLLMCelltype v1.2.8
Release of mLLMCelltype v1.2.8 (R package) and v1.2.3 (Python package)
v1.2.4 - Critical Bug Fix Release
Critical Bug Fixes
Fixed Major as.logical(from) Error
- Resolved critical error that occurred when processing large numbers of clusters (60+ clusters)
- This error was caused by non-character data being passed to
strsplit()functions - Users can now successfully process datasets with many clusters without encountering type coercion errors
Enhanced API Response Handling
- Added comprehensive
tryCatch()blocks around allstrsplit()operations in API processing functions - Improved response validation to prevent function/closure types from being processed as character strings
- Enhanced error handling for all API processing functions:
process_openrouter.Rprocess_anthropic.Rprocess_openai.Rprocess_deepseek.Rprocess_qwen.Rprocess_stepfun.Rprocess_minimax.Rprocess_zhipu.Rprocess_gemini.Rprocess_grok.R
Improvements
- Better NULL value handling: Improved
unlist()operations to filter out NULL values and handle errors gracefully - Enhanced logging: Added more detailed error logging for debugging API response issues
- Improved consensus checking: Enhanced
check_consensus.Rto handle edge cases with malformed responses
Technical Details
- Fixed issue where large cluster datasets could cause type coercion errors in response parsing
- Added validation for function/closure types in API responses to prevent downstream errors
- Improved error messages to provide better diagnostics for API response issues
Installation
# Install from GitHub
devtools::install_github("cafferychen777/mLLMCelltype", subdir = "R")What's Changed
- Enhanced robustness when processing large datasets
- Improved error handling across all API integrations
- Better debugging capabilities with enhanced logging
Full Changelog: v1.2.3...v1.2.4
mLLMCelltype 1.2.0
1.2.0 (2025-04-28)
Improvements
- First CRAN release
- Updated documentation and vignettes
- Improved package structure for CRAN compliance
- Fixed CITATION file format
- Updated URL to https://cafferyang.com/mLLMCelltype/
v1.1.4 Release
mLLMCelltype v1.1.4 (2025-04-24)
New Features & Improvements
- Expanded OpenRouter models list to support free models
- Resolved inconsistency issues between international and mainland China versions of Qwen models
Bug Fixes
- Fixed OpenRouter model handling in the consensus check process
- Fixed undefined current_clusters variable in README files by adding explicit variable definition and comments
Other Updates
- Updated DESCRIPTION file
This version improves model compatibility and fixes several key issues. We recommend all users to update to this version.