Table of Contents

📝 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 and SubmitAsync methods in the MultiTurnConversation class to support prompts with image attachments
  • Added overloads to the Submit and SubmitAsync methods in the SingleTurnConversation 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 the LM class
  • Added EnableModelChecksumValidation property to the Configuration 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 the DeviceConfiguration 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 the ModelCard class
  • Added IsPredefined property to the ModelCard class

Improvements

  • The LLM class has been marked as obsolete. Use LM 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 the ModelCard class
  • Added GetPerformanceScore method to the DeviceConfiguration 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 the ModelCard class

Improvements

  • Improved performance with Phi 4 model



📅 Version 2024.12.9 (20 December 2024)

New Features

  • Added ValidateFileChecksum method to the ModelCard 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 the GpuDeviceInfo class
  • Added MaximumContextLength property to the TextExtraction class
  • Added overloads to GetOptimalContextSize methods in the DeviceConfiguration 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 the Configuration 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 the Summarizer class
  • Added TextShrinkingStrategy property to the KeywordExtraction 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 the MultiTurnConversation class
  • Added ContextRemainingSpace property to the AfterTokenSamplingEventArgs class
  • Added ContextSize property to the AfterTokenSamplingEventArgs 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 the LLM class
  • Added IsArray property to the TextExtractionElement 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 the GpuDeviceInfo class

Improvements

  • Inference speed improvements with Vulkan backend



📅 Version 2024.11.9 (27 November 2024)

New Features

  • Added UseAsyncModelAttributesLoading property to the Configuration class
  • Added DeviceDescription property to the GpuDeviceInfo class
  • Added TotalMemorySize property to the GpuDeviceInfo class
  • Added FreeMemorySize property to the GpuDeviceInfo 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 the Runtime 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 the Runtime class
  • Introduced the GpuDeviceInfo class
  • Added PreviousContent property to the ChatHistory.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 the Grammar class
  • Added WhitelistedValues property to the TextExtractionElementFormat class



📅 Version 2024.11.2 (05 November 2024)

New Features

  • Added overloads to GetEmbeddings and GetEmbeddingsAsync methods in the Embedder 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 the BeforeTokenSamplingEventArgs class
  • Added Perplexity property to the AfterTokenSamplingEventArgs class
  • Added ContinueLastAssistantResponse and ContinueLastAssistantResponseAsync methods to the MultiTurnConversation class

Improvements

  • Optimized dynamic sampling mechanisms



📅 Version 2024.10.5 (24 October 2024)

New Features

  • Added the GeneratedTokens property to the ChatHistory.Message class
  • Added the TerminationReason property to the ChatHistory.Message class
  • Introduced the TextExtractionElementFormat class
  • Introduced the TextExtractionElementFormat.TextCaseMode enumeration
  • Added the TextExtractionElementFormat property to the TextExtractionElement 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 the Grammar class

Improvements

  • Optimized dynamic sampling mechanisms



📅 Version 2024.10.1 (01 October 2024)

New Features

  • Added CreateTrainingObject method overload to the EmotionDetection class
  • Added GetTrainingData method to the EmotionDetection class
  • Introduced EmotionDetection.TrainingDataset enumeration
  • Introduced JsonNumArray, JsonIntArray and JsonStringArray members to the LMKit.Data.Json.JsonBasicType enumeration
  • Introduced TextTranslation.TrainingDataset enumeration
  • Added GetTrainingData method to the TextTranslation class
  • Added EnableDynamicSampling property to the Configuration 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 the SingleFunctionCall class
  • Introduced LMKit2024_09_INT member to the SentimentAnalysis.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 to RandomSampling, MirostatSampling, and Mirostat2Sampling classes
  • Introduced TrimAuto member to the InputLengthOverflowPolicy enumeration
  • Enabled deserialization of ChatHistory objects without specifying a Model 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 the Vocabulary class
  • Introduced Confidence property to the TextTranslation class
  • Added MaximumInputTokens property to the SingleTurnConversation 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 the Grammar 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 the FunctionCallEventArgs class
  • Added EnableVulkan property to the Runtime class
  • Included KeepLast property in the AfterTokenSamplingEventArgs 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 the Grammar class
  • Enabled function calling support with any model class 🔥
  • Introduced SingleFunctionCall and FunctionCallResult 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 the Grammar class

Improvements

  • Improved grammar sampling strategy, particularly with JSON schemes



📅 Version 2024.7.9 - Preview (31 July 2024)

New Features

  • Added Version property to the Runtime 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 the SingleTurnConversation 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! 🥳🎉
😺 🐱 🐾