Start Building with Generative AI in Minutes
Unlock the full potential of Generative AI in your .NET applications with LM-Kit.NET.
Our free trial provides unlimited access to all features—no time limits, no registration required. Start experimenting today and seamlessly integrate AI capabilities into your .NET ecosystem.
Prerequisites
Before getting started, ensure your environment meets the following requirements:
- .NET Framework: Version 4.6.2 or later
- Development Environment: Visual Studio 2019 or later, or Visual Studio Code
- Operating Systems: Windows or macOS
Unlimited, No Signup Trial
Made by developers for developers! Our trial gate lets you explore everything without time limits or the need to share personal data. Access all features and test our platform freely.
- Unlimited Access: Full feature access with no locked components
- No Time Limits: Take your time—explore without any trial expiration
- No Registration Needed: Skip the signup process and download directly
Installing LM-Kit.NET via NuGet
Follow these simple steps to install the LM-Kit.NET SDK using NuGet Package Manager:
Option 1: Install via Console
- Open the NuGet Package Manager Console in Visual Studio.
- Run the following command:
Install-Package LM-Kit.NET
Option 2: Install via UI
- Right-click on your project in the Solution Explorer.
- Select Manage NuGet Packages….
- Search for LM-Kit.NET in the Browse tab.
- Click Install to add the package to your project.
Optional: Enable CUDA Support (GPU Acceleration)
For enhanced performance using Nvidia GPU acceleration, install the appropriate CUDA backend:
For Windows:
Install-Package LM-Kit.NET.Backend.Cuda12.Windows
For Linux:
Install-Package LM-Kit.NET.Backend.Cuda12.Linux
Example Use Cases
using LMKit;
using LMKit.TextGeneration;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model
var model = new LMKit.Model.LLM("my-model.gguf");
// Create a multi-turn conversation instance
var chat = new LMKit.TextGeneration.MultiTurnConversation(model);
// Submit a prompt and get the response.
var response = chat.Submit("Why are cats so cute?");
// Output the generated text
Console.WriteLine("Response: " + response.Completion);
}
}
}
using LMKit.Extraction;
using LMKit.Model;
using System;
using System.Collections.Generic;
// Initialize the language model (LLM)
LLM languageModel = new LLM("https://huggingface.co/lm-kit/phi-3.5-mini-3.8b-instruct-gguf/resolve/main/Phi-3.5-mini-Instruct-Q4_K_M.gguf?download=true");
// Create an instance of TextExtraction using the LLM
TextExtraction textExtraction = new TextExtraction(languageModel);
// Define the elements to extract
textExtraction.Elements = new List
{
new TextExtractionElement("Name", ElementType.String, "The person's full name"),
new TextExtractionElement("Age", ElementType.Integer, "The person's age"),
new TextExtractionElement("Birth Date", ElementType.Date, "The person's date of birth.")
};
// Set the content to extract data from
textExtraction.SetContent("Jane Smith, aged 28, born on 5 Nov of the year 1981");
// Perform the extraction synchronously
TextExtractionResult result = textExtraction.Parse();
// Access the extracted items
foreach (var item in result.Items)
{
Console.WriteLine($"{item.TextExtractionElement.Name}: {item.Value}");
}
using LMKit.TextGeneration;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model
var model = new LMKit.Model.LLM("my-model.gguf");
// Create a TextTranslation instance
var textTranslation = new LMKit.Translation.TextTranslation(model);
string text = "Allons boire une bière après le travail !";
Language detectedLanguage = textTranslation.DetectLanguage(text);
// Output the detected language
Console.WriteLine($"Detected Language: {detectedLanguage}");
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the AI model, because language barriers are so last century.
var model = new LMKit.Model.LLM("my-model.gguf");
// Let the AI handle the translation, because Google Translate can't always save you.
var translator = new LMKit.Translation.TextTranslation(model);
// Translate something that sounds more philosophical in French than it probably is.
string response = translator.Translate("Bonjour, comment vas-tu ? J'ai récemment lu un article fascinant sur l'impact de l'intelligence artificielle sur la littérature moderne. Qu'en penses-tu ?", LMKit.TextGeneration.Language.English);
// Show off the AI's linguistic finesse with a dash of existential thought.
Console.WriteLine("Translated version: " + response);
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model
var model = new LMKit.Model.LLM("https://huggingface.co/lm-kit/lm-kit-sentiment-analysis-2.0-1b-gguf/resolve/main/lm-kit-sentiment-analysis-2.0-1b-q4.gguf?download=true");
// Create a classifier
var classifier = new LMKit.TextAnalysis.SentimentAnalysis(model)
{
NeutralSupport = true
};
// Ask the model for its hot take on our brilliance
var sentiment = classifier.GetSentimentCategory("LM-Kit is so convenient, it practically runs on sunshine and good karma!");
// Drumroll, please... the model's about to flatter us
Console.WriteLine($"Sentiment: {sentiment}"); // Positive! Just like our developer optimism after 10 cups of coffee.
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model
var model = new LMKit.Model.LLM("https://huggingface.co/lm-kit/phi-3.5-mini-3.8b-instruct-gguf/resolve/main/Phi-3.5-mini-Instruct-Q4_K_M.gguf?download=true");
// Create a classifier
var classifier = new LMKit.TextAnalysis.EmotionDetection(model)
{
NeutralSupport = true// Because sometimes you just feel "meh"
};
// Ask the model for its hot take on our brilliance
var emotion = classifier.GetEmotionCategory("I just tried to make spaghetti, and somehow ended up with a culinary masterpiece!");
Console.WriteLine($"Emotion: {emotion}");
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Initialize the LLM model by providing the URL to the model file
var model = new LMKit.Model.LLM("https://huggingface.co/lm-kit/phi-3.5-mini-3.8b-instruct-gguf/resolve/main/Phi-3.5-mini-Instruct-Q4_K_M.gguf?download=true");
// Create a text classifier using the loaded model
var classifier = new LMKit.TextAnalysis.Categorization(model);
// Define a list of categories that the classifier can choose from
var categories = new string[]
{
"sport", "finance", "technology", "entertainment",
"health", "education", "science", "travel",
"lifestyle", "food", "gaming"
};
// Input text for classification
var inputText = "Physical activity helps build strength, endurance, and promotes a sense of camaraderie among participants";
// Get the most appropriate category for the input text from the list of categories
int category = classifier.GetBestCategory(categories, inputText);
// Output the predicted category to the console
if (category != -1)
{
Console.WriteLine($"Category: {categories[category]}");
}
else
{
Console.WriteLine("No match");
}
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model - because we need the brains behind this operation!
var model = new LMKit.Model.LLM("my-model.gguf");
// Create a TextRewriter instance - turning your casual thoughts into corporate gold.
var rewriter = new LMKit.TextEnhancement.TextRewriter(model);
// Submit a prompt and get a more professional response.
// Perfect for when you're trying to sound like you have your life together!
string response = rewriter.Rewrite("I want to apply my candidature to LM-Kit as I would like to work with fancy people",
LMKit.TextEnhancement.TextRewriter.CommunicationStyle.Professional);
// Output the transformed text - hopefully making you sound like a polished professional, instead of a 'fancy people' fan.
Console.WriteLine("Here’s a more professional style: " + response);
}
}
}
using LMKit;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Load the model like it's rocket science.
var model = new LMKit.Model.LLM("my-model.gguf");
// Call in the grammar rescue squad.
var corrector = new LMKit.TextEnhancement.TextCorrection(model);
// Fix the world's weirdest sentence.
string response = corrector.Correct("My cat don't never flyed to the moon because he too much tired from baking a pizza in the bathtub last Tuesday");
// Display the miracle correction.
Console.WriteLine("Corrected version: " + response);
}
}
}
using LMKit;
using LMKit.Configuration;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Enable KV (key-value) cache recycling
LMKit.GlobalConfiguration.EnableKVCacheRecycling = true;
// Disable model caching
LMKit.GlobalConfiguration.EnableModelCache = false;
// Enable token healing
LMKit.GlobalConfiguration.EnableTokenHealing = true;
// Discover more parameters in the LMKit.GlobalConfiguration static class.
// Code to use LM-Kit.NET goes here
}
}
}
using LMKit.Embeddings;
using LMKit.Model;
using System.Diagnostics;
namespace ConsoleApp5
{
internal class Program
{
static async Task Main(string[] args)
{
LLM model = new LLM("https://huggingface.co/lm-kit/nomic-embed-text-1.5/resolve/main/nomic-embed-text-1.5-F16.gguf?download=true");
Embedder embedder = new Embedder(model);
Stopwatch sw = Stopwatch.StartNew();
string input = "How do I bake a chocolate cake?";
string[] examples = new string[]
{
"How do I bake a chocolate cake?",
"What is the recipe for chocolate cake?",
"I want to make a chocolate cake.",
"Chocolate cake is delicious.",
"How do I cook pasta?",
"I need instructions to bake a cake.",
"Baking requires precise measurements.",
"I like vanilla ice cream.",
"The weather is sunny today.",
"What is the capital of France?",
"Paris is a beautiful city.",
"How can I improve my coding skills?",
"Programming requires practice."
};
float[] inputEmbedding = await embedder.GetEmbeddingsAsync(input);
float[][] exampleEmbeddings = await embedder.GetEmbeddingsAsync(examples);
sw.Stop();
Console.WriteLine($"Elapsed (ms): {Math.Round(sw.Elapsed.TotalMilliseconds)} - Similarities:");
for (int index = 0; index < examples.Length; index++)
{
float similarity = Embedder.GetCosineSimilarity(inputEmbedding, exampleEmbeddings[index]);
Console.WriteLine($"{similarity} {examples[index]}");
}
}
}
}
Ready to Deploy? Choose Our Free Community License!
🚀 Take Your App to the Next Level with LM-Kit.NET’s Community Edition 🚀
Whether you’re developing new AI-powered solutions or enhancing existing applications, our Community License offers powerful, cross-platform AI capabilities for free. Enjoy the full spectrum of Generative AI tools, from text generation and RAG to content retrieval and more—all packed in a single, easy-to-use SDK.
Deploy with confidence, no strings attached, and start transforming your ideas into reality today.