📝 LM-Kit.NET Change History
📅 Version 2025.1.2 (11 January 2025)
Improvements
- Enhanced GPU device memory management
- Optimized dynamic sampling mechanisms
- Various performance improvements
New Features
- Initial support for multimodal capabilities with vision handling (VLM)
- Added support for the LMK model format
- Introduced the
Prompt
class - Introduced the
Attachment
class - Added overloads to the
Submit
andSubmitAsync
methods in theMultiTurnConversation
class to support prompts with image attachments - Added overloads to the
Submit
andSubmitAsync
methods in theSingleTurnConversation
class to support prompts with image attachments
📅 Version 2025.1.1 (1 January 2025)
Improvements
- Optimized dynamic sampling mechanisms
- Improved error handling
New Features
- Added
HasVision
property to theLM
class - Added
EnableModelChecksumValidation
property to theConfiguration
class
📅 Version 2024.12.13 (29 December 2024)
Improvements
- Optimized dynamic sampling mechanisms
- Improved performance with IBM Granite models
New Features
- Added overloads to the
GetPerformanceScore
methods in theDeviceConfiguration
class to obtain the model's performance score from a specified path
Bug Fixes
- An unhandled exception was raised when a model could not be loaded
📅 Version 2024.12.12 (26 December 2024)
New Features
- Added
ShortModelName
property to theModelCard
class - Added
IsPredefined
property to theModelCard
class
Improvements
- The
LLM
class has been marked as obsolete. UseLM
class as it replacement
Bug Fixes
GpuDeviceInfo.DeviceType
was returning an invalid value
📅 Version 2024.12.11 (23 December 2024)
New Features
- Added
Architecture
property to theModelCard
class - Added
GetPerformanceScore
method to theDeviceConfiguration
class - Added support for Llama-3_1-Nemotron-51B and InfiniAI Megrez 3b models
📅 Version 2024.12.10 (22 December 2024)
New Features
- Added
LocalPath
property to theModelCard
class
Improvements
- Improved performance with Phi 4 model
📅 Version 2024.12.9 (20 December 2024)
New Features
- Added
ValidateFileChecksum
method to theModelCard
class - The ModelCard class can now retrieve model metadata directly from Hugging Face servers without downloading the models
📅 Version 2024.12.8 (19 December 2024)
New Features
- Added
GetDeviceFromNumber
method to theGpuDeviceInfo
class - Added
MaximumContextLength
property to theTextExtraction
class - Added overloads to
GetOptimalContextSize
methods in theDeviceConfiguration
class to obtain the optimal context size from the available resources and model - Introduced the
ModelCard
class - Introduced the
ModelCapabilities
enumeration - Added
ModelStorageDirectory
property to theConfiguration
class
Improvements
- Improved summarization engine
📅 Version 2024.12.7 (15 December 2024)
New Features
- Introduced the
Summarizer.OverflowResolutionStrategy
enumeration - Introduced the
TextShrinkingStrategy
enumeration - Added
OverflowStrategy
property to theSummarizer
class - Added
TextShrinkingStrategy
property to theKeywordExtraction
class - Introduced the
DeviceConfiguration
class
Improvements
- Improved summarization of very large text
Bug Fixes
- Prevent the
MultiTurnConversation
class from requesting a context size exceeding the model's capacity
📅 Version 2024.12.6 (13 December 2024)
New Features
- Introduced the
Summarizer
class - Introduced the
Summarizer.SummarizerResult
class
Improvements
- Enhanced MAUI compatibility for macOS development
📅 Version 2024.12.5 (11 December 2024)
New Features
- Added
ContextRemainingSpace
property to theMultiTurnConversation
class - Added
ContextRemainingSpace
property to theAfterTokenSamplingEventArgs
class - Added
ContextSize
property to theAfterTokenSamplingEventArgs
class
📅 Version 2024.12.4 (10 December 2024)
Improvements
- Changed type of ChatHistory.Message.PreviousContent to ChatHistory.Message
- Improved CPU backend speed on Windows
📅 Version 2024.12.3 (07 December 2024)
Bug Fixes
- The items in ChatHistory.Message.PreviousContent were not set in the correct order
- The KeywordExtraction.KeywordCount setter was ignored
Improvements
- Improved the sampling strategy in scenarios with a low context length
📅 Version 2024.12.2 (07 December 2024)
New Features
- The Windows Vulkan runtime is now included in the NuGet package
Improvements
- Optimized dynamic sampling mechanisms
📅 Version 2024.12.1 (06 December 2024)
New Features
- Introduced the
LLM.TemplateFormatFlags
enumeration - Introduced the
KeywordExtraction
class - Introduced the
KeywordExtraction.KeywordItem
class - Added
ChatTemplateFormatFlags
property to theLLM
class - Added
IsArray
property to theTextExtractionElement
class
Improvements
- Optimized dynamic sampling mechanisms
- Improved support for large text bodies in the embedding engine
📅 Version 2024.11.10 (29 November 2024)
New Features
- Introduced the
DeviceType
enumeration - Added
DeviceType
property to theGpuDeviceInfo
class
Improvements
- Inference speed improvements with Vulkan backend
📅 Version 2024.11.9 (27 November 2024)
New Features
- Added
UseAsyncModelAttributesLoading
property to theConfiguration
class - Added
DeviceDescription
property to theGpuDeviceInfo
class - Added
TotalMemorySize
property to theGpuDeviceInfo
class - Added
FreeMemorySize
property to theGpuDeviceInfo
class
Improvements
- Improved NuGet package compatibility with MAUI
- Various inference speed improvements
- Improved handling of model loading failures
📅 Version 2024.11.8 (25 November 2024)
New Features
- Added
SetLogTextWriter
method to theRuntime
class
📅 Version 2024.11.7 (25 November 2024)
New Features
- Added maccatalyst RID for MAUI
📅 Version 2024.11.6 (25 November 2024)
New Features
- Vulkan backend in now enabled by default
- Introduced the
Runtime.BackendType
enumeration - Added
Backend
static property to theRuntime
class - Introduced the
GpuDeviceInfo
class - Added
PreviousContent
property to theChatHistory.Message
class
📅 Version 2024.11.5 (23 November 2024)
Improvements
- Enhanced inference speed
- Improved compatibility with MAUI
📅 Version 2024.11.4 (18 November 2024)
New Features
- Added Vulkan backend for Linux
- Added support for .NET 9
Improvements
- Improved compatibility with macOS ARM and macOS x64
- Enhanced CPU inference speed
📅 Version 2024.11.4 (12 November 2024)
New Features
- Added
CreateGrammarFromStringList
method to theGrammar
class - Added
WhitelistedValues
property to theTextExtractionElementFormat
class
📅 Version 2024.11.2 (05 November 2024)
New Features
- Added overloads to
GetEmbeddings
andGetEmbeddingsAsync
methods in theEmbedder
class to support batch processing of multiple inputs
📅 Version 2024.11.1 (04 November 2024)
New Features
- Added support for Granit models
- Added
Perplexity
property to theBeforeTokenSamplingEventArgs
class - Added
Perplexity
property to theAfterTokenSamplingEventArgs
class - Added
ContinueLastAssistantResponse
andContinueLastAssistantResponseAsync
methods to theMultiTurnConversation
class
Improvements
- Optimized dynamic sampling mechanisms
📅 Version 2024.10.5 (24 October 2024)
New Features
- Added the
GeneratedTokens
property to theChatHistory.Message
class - Added the
TerminationReason
property to theChatHistory.Message
class - Introduced the
TextExtractionElementFormat
class - Introduced the
TextExtractionElementFormat.TextCaseMode
enumeration - Added the
TextExtractionElementFormat
property to theTextExtractionElement
class
Improvements
- Enhanced structured text extraction
- Added new formatting options to text extraction elements
- Improved function calling capabilities
- Refined JSON data sampling
- Optimized dynamic sampling mechanisms
📅 Version 2024.10.4 (17 October 2024)
Improvements
- Structured text extraction improvements
- Function calling improvements
- Refined JSON data sampling
- Optimized dynamic sampling mechanisms
📅 Version 2024.10.3 (16 October 2024)
New Features
- Added
TextExtraction
class - Added
TextExtractionResult
class - Added
TextExtractionResultElement
class - Added
ElementType
enumeration - Added
DateTime
parameter type support to function calling
Improvements
- Optimized dynamic sampling mechanisms
📅 Version 2024.10.2 (09 October 2024)
New Features
- Added
TextExtractionElement
class - Added
CreateJsonGrammarFromExtractionElements(IEnumerable<TextExtractionElement> extractionElements)
method overload to theGrammar
class
Improvements
- Optimized dynamic sampling mechanisms
📅 Version 2024.10.1 (01 October 2024)
New Features
- Added
CreateTrainingObject
method overload to theEmotionDetection
class - Added
GetTrainingData
method to theEmotionDetection
class - Introduced
EmotionDetection.TrainingDataset
enumeration - Introduced
JsonNumArray
,JsonIntArray
andJsonStringArray
members to theLMKit.Data.Json.JsonBasicType
enumeration - Introduced
TextTranslation.TrainingDataset
enumeration - Added
GetTrainingData
method to theTextTranslation
class - Added
EnableDynamicSampling
property to theConfiguration
class
Improvements
- Improvements to generic classification accuracy and speed
- Improved global performance with Llama 3.2 models
- Improved global performance with Qwen 2.5 models
- Fine-tuning: extended compatibility to all Llama architectures
- Improved sampling of JSON array structures
📅 Version 2024.9.4 (25 September 2024)
New Features
- Added support for array parameters in function calls
- Added
ForceFunctionSelection
property to theSingleFunctionCall
class - Introduced
LMKit2024_09_INT
member to theSentimentAnalysis.TrainingDataset
enumeration
Improvements
- Improved function calling accuracy and speed
- Improved emotion detection engine accuracy and speed
- Strong improvements to generic classification accuracy and speed
- Improved accuracy of the language detection engine
Bug Fixes
- Fixed an memory leak in the fine-tuning engine
📅 Version 2024.9.3 (18 September 2024)
Improvements
- Improved function calling accuracy
- Enhanced language detection accuracy
- Boosted generic classification accuracy and speed
- Increased inference speed on CPU
📅 Version 2024.9.2 (11 September 2024)
New Features
- Added
Seed
property toRandomSampling
,MirostatSampling
, andMirostat2Sampling
classes - Introduced
TrimAuto
member to theInputLengthOverflowPolicy
enumeration - Enabled deserialization of
ChatHistory
objects without specifying aModel
parameter
Improvements
- Further increased inference speed on CPU
- Enhanced internal API for better error handling
📅 Version 2024.9.1 (6 September 2024)
Improvements
- Optimized inference speed on CPU
- Implemented checks to prevent access to disposed objects
- Improved exception handling in quantization features
📅 Version 2024.9.0 (3 September 2024)
New Features
- Added
GetToken
method to theVocabulary
class - Introduced
Confidence
property to theTextTranslation
class - Added
MaximumInputTokens
property to theSingleTurnConversation
class
Improvements
- Enhanced JSON content sampling strategy
- Extended CUDA backend compatibility across more Windows configurations
- Improved accuracy of the language detection engine
- Enhanced compatibility with MAUI
📅 Version 2024.8.4 - Preview (26 August 2024)
New Features
- Introduced
GlobalConfiguration
static class
Improvements
- Refined JSON content sampling strategy
- Improved function calling accuracy and speed
- Increased inference speed with Gemma2 models
- Enhanced classification accuracy with tiny-small models
Bug Fixes
- Fixed an issue when computing embeddings from a token array matching the context size
📅 Version 2024.8.3 - Preview (21 August 2024)
Improvements
- Improved support for Phi 3.5 models
📅 Version 2024.8.2 - Preview (20 August 2024)
New Features
- Added
CreateJsonGrammarFromJsonScheme
method to theGrammar
class
Improvements
- Improved JSON content sampling strategy
- Enhanced function calling accuracy and speed
📅 Version 2024.8.1 - Preview (15 August 2024)
New Features
- Added Vulkan backend 🔥
- Introduced
FunctionCallResult
property to theFunctionCallEventArgs
class - Added
EnableVulkan
property to theRuntime
class - Included
KeepLast
property in theAfterTokenSamplingEventArgs
class
Improvements
- Refined JSON content sampling strategy
- Enhanced function calling accuracy and speed
📅 Version 2024.8.0 - Preview (8 August 2024)
New Features
- Added
CreateJsonGrammarFromFields
method to theGrammar
class - Enabled function calling support with any model class 🔥
- Introduced
SingleFunctionCall
andFunctionCallResult
classes - Added
LMFunctionAttribute
attribute
Improvements
- Enhanced grammar sampling strategy, especially for JSON schemes
📅 Version 2024.7.10 - Preview (6 August 2024)
New Features
- Added support for Google Gemma 2 2B models 🔥
- Introduced
CreateJsonGrammarFromTextFields
method to theGrammar
class
Improvements
- Improved grammar sampling strategy, particularly with JSON schemes
📅 Version 2024.7.9 - Preview (31 July 2024)
New Features
- Added
Version
property to theRuntime
class
Bug Fixes
- Fixed an issue enabling neutral emotion support in the
EmotionDetection
class - Resolved issues when running fine-tuning with gradient checkpointing
📅 Version 2024.7.8 - Preview (30 July 2024)
New Features
- Added
MaximumContextLength
property to theSingleTurnConversation
class
Improvements
- Enhanced inference engine handling of context overflow scenarios
📅 Version 2024.7.7 - Preview (29 July 2024)
Improvements
- Enhanced compatibility with .NET Framework 4.6.2
Bug Fixes
- Resolved a crash related to grammar sampling
📅 Version 2024.7.6 - Preview (27 July 2024)
New Features
- Added support for LLaMA 3.1 models 🔥
Improvements
- Enhanced logging mechanism
🎉 Version 2024.7.1 - Preview (23 July 2024)
🎉🥳 Initial release! 🥳🎉
😺 🐱 🐾