Method GetTopCategories
- Namespace
- LMKit.TextAnalysis
- Assembly
- LM-Kit.NET.dll
GetTopCategories(IList<string>, string, int, bool, CancellationToken)
Classifies the specified plain text into up to a specified maximum number of categories.
public List<int> GetTopCategories(IList<string> categories, string content, int maxCategories, bool normalize = true, CancellationToken cancellationToken = default)
Parameters
categoriesIList<string>A list of predefined category names.
contentstringThe plain text to be classified.
maxCategoriesintThe maximum number of top categories to return.
normalizeboolOptional. Specifies whether input parameters should be normalized. Default is
true.cancellationTokenCancellationTokenOptional. A CancellationToken for cancelling the operation.
Returns
Examples
// Synchronous usage:
var categories = new List<string> { "finance", "travel", "entertainment", "politics", "technology" };
string text = "The government unveiled a new technology policy impacting the finance sector.";
// Returns the top 3 categories:
IList<int> topCategories = categorization.GetTopCategories(categories, text, 3);
Console.WriteLine("Top categories:");
foreach (var index in topCategories)
{
Console.WriteLine(categories[index]);
}
GetTopCategories(IList<string>, IList<string>, string, int, bool, CancellationToken)
Classifies the specified plain text into up to a specified maximum number of categories.
public List<int> GetTopCategories(IList<string> categories, IList<string> categoryDescriptions, string content, int maxCategories, bool normalize = true, CancellationToken cancellationToken = default)
Parameters
categoriesIList<string>A list of predefined category names.
categoryDescriptionsIList<string>Optional descriptions for each category.
contentstringThe plain text to be classified.
maxCategoriesintThe maximum number of top categories to return.
normalizeboolSpecifies whether input parameters should be normalized. Default is
true.cancellationTokenCancellationTokenCancellationToken for cancelling the operation.
Returns
GetTopCategories(IList<string>, ImageBuffer, int, bool, CancellationToken)
Classifies the given image into up to a specified maximum number of categories, assuming the underlying language model supports vision input.
public List<int> GetTopCategories(IList<string> categories, ImageBuffer image, int maxCategories, bool normalize = true, CancellationToken cancellationToken = default)
Parameters
categoriesIList<string>A list of predefined category names.
imageImageBufferThe image to classify.
maxCategoriesintThe maximum number of top categories to return.
normalizeboolSpecifies whether input parameters should be normalized (default is
true).cancellationTokenCancellationTokenA
CancellationTokenused to cancel the operation.
Returns
- List<int>
A list of zero-based indices representing the top matching categories for the given image.
Exceptions
- InvalidModelException
Thrown if the underlying model does not support vision when an image is provided.
GetTopCategories(IList<string>, Attachment, int, bool, CancellationToken)
Classifies the content provided as an attachment into up to a specified maximum number of categories. The attachment can contain either plain text or image data. If the attachment is an image requiring vision processing, the underlying language model must support vision input.
public List<int> GetTopCategories(IList<string> categories, Attachment content, int maxCategories, bool normalize = true, CancellationToken cancellationToken = default)
Parameters
categoriesIList<string>A list of predefined category names.
contentAttachmentThe attachment to be classified.
maxCategoriesintThe maximum number of top categories to return.
normalizeboolSpecifies whether input parameters should be normalized. Default is
true.cancellationTokenCancellationTokenCancellationToken for cancelling the operation.
Returns
Exceptions
- InvalidModelException
Thrown when the attachment is an image that requires vision input but the underlying language model does not support vision.
GetTopCategories(IList<string>, IList<string>, Attachment, int, bool, CancellationToken)
Classifies the content provided as an attachment into up to a specified maximum number of categories.
public List<int> GetTopCategories(IList<string> categories, IList<string> categoryDescriptions, Attachment content, int maxCategories, bool normalize = true, CancellationToken cancellationToken = default)
Parameters
categoriesIList<string>A list of predefined category names.
categoryDescriptionsIList<string>Optional descriptions for each category.
contentAttachmentThe attachment to be classified.
maxCategoriesintThe maximum number of top categories to return.
normalizeboolSpecifies whether input parameters should be normalized. Default is
true.cancellationTokenCancellationTokenCancellationToken for cancelling the operation.
Returns
Exceptions
- InvalidModelException
Thrown when the attachment is an image that requires vision input but the underlying language model does not support vision.