Method RecognizeAsync
- Namespace
- LMKit.TextAnalysis
- Assembly
- LM-Kit.NET.dll
RecognizeAsync(Attachment, CancellationToken)
Asynchronously recognizes named entities in the given image attachment.
public Task<List<NamedEntityRecognition.ExtractedEntity>> RecognizeAsync(Attachment content, CancellationToken cancellationToken = default)
Parameters
contentAttachmentThe attachment representing the image to analyze.
cancellationTokenCancellationTokenToken to cancel the operation.
Returns
- Task<List<NamedEntityRecognition.ExtractedEntity>>
A task that resolves to a list of detected NamedEntityRecognition.ExtractedEntity instances.
Examples
using LMKit.Model;
using LMKit.TextAnalysis;
using LMKit.Data;
using System;
using System.Threading.Tasks;
async Task ExtractFromDocumentAsync()
{
LM model = LM.LoadFromModelID("lmkit-tasks:4b-preview");
NamedEntityRecognition ner = new NamedEntityRecognition(model);
var pdfDocument = new Attachment("contract.pdf");
var entities = await ner.RecognizeAsync(pdfDocument);
Console.WriteLine($"Found {entities.Count} entities:");
foreach (var entity in entities)
{
Console.WriteLine($" [{entity.Type}] {entity.Value}");
}
}
Exceptions
- ArgumentNullException
Thrown when the attachment is null.
- InvalidModelException
Thrown when the underlying language model does not support vision input, which is required to analyze images for entity recognition.
RecognizeAsync(string, CancellationToken)
Asynchronously recognizes named entities in the given content.
public Task<List<NamedEntityRecognition.ExtractedEntity>> RecognizeAsync(string content, CancellationToken cancellationToken = default)
Parameters
contentstringThe non-null, non-empty input text to analyze.
cancellationTokenCancellationToken
Returns
- Task<List<NamedEntityRecognition.ExtractedEntity>>
A task that resolves to a list of NamedEntityRecognition.ExtractedEntity objects representing each detected entity.
Examples
using LMKit.Model;
using LMKit.TextAnalysis;
using System;
using System.Threading.Tasks;
async Task RecognizeEntitiesAsync()
{
LM model = LM.LoadFromModelID("lmkit-tasks:4b-preview");
NamedEntityRecognition ner = new NamedEntityRecognition(model);
string document = "The contract between Google and the European Commission was signed on March 1, 2024.";
var entities = await ner.RecognizeAsync(document);
foreach (var entity in entities)
{
Console.WriteLine($"[{entity.Type}] {entity.Value}");
}
}
Exceptions
- ArgumentException
Thrown if
contentis null or whitespace.