Method FindMatchingPartitions
FindMatchingPartitions(string, int, float, bool, bool, CancellationToken)
Initiates a search operation to find similarities within the text entries contained in all registered DataSource objects.
public List<PartitionSimilarity> FindMatchingPartitions(string text, int topK = 3, float minScore = 0.5, bool forceUniqueDataSource = false, bool forceUniqueSection = false, CancellationToken cancellationToken = default)
Parameters
text
stringThe text string used to find similar entries.
topK
intMaximum number of PartitionSimilarity instances to return. Default is 3.
minScore
floatMinimum similarity score required (range [0 - 1]). Default is 0.5.
forceUniqueDataSource
boolIf true, all returned candidates must come from the same DataSource. Default is false.
forceUniqueSection
boolIf true, returned results must come from the same Section. Default false.
cancellationToken
CancellationTokenA CancellationToken to cancel the operation.
Returns
- List<PartitionSimilarity>
A list of PartitionSimilarity objects meeting the criteria.
Examples
using LMKit.Data;
using LMKit.Model;
using LMKit.Retrieval;
using System;
using System.Collections.Generic;
class Example
{
static void Main()
{
LM embeddingModel = new LM(new Uri("https://example-embedding-uri.com"));
RagEngine ragEngine = new RagEngine(embeddingModel);
// Suppose we've already added data sources via ragEngine.AddDataSource(...)
// We want to find the top 2 partitions matching a query
List<PartitionSimilarity> similarities = ragEngine.FindMatchingPartitions(
text: "AI research advancements",
topK: 2,
minScore: 0.4f
);
Console.WriteLine("Similar partitions found: " + similarities.Count);
}
}
Exceptions
- ArgumentNullException
Thrown if there are no data sources registered.
- OperationCanceledException
Thrown if the operation is canceled.
FindMatchingPartitions(Attachment, int, float, bool, bool, CancellationToken)
Finds the top topK
PartitionSimilarity instances matching the content of the given Attachment.
The attachment's content is converted to embeddings (text or vision), and a similarity search is performed against all registered data sources.
public List<PartitionSimilarity> FindMatchingPartitions(Attachment attachment, int topK = 3, float minScore = 0.5, bool forceUniqueDataSource = false, bool forceUniqueSection = false, CancellationToken cancellationToken = default)
Parameters
attachment
AttachmentThe Attachment containing the content to query for similar partitions.
topK
intThe maximum number of PartitionSimilarity results to return. Default is 3.
minScore
floatThe minimum similarity score threshold (0 to 1) for returned results. Default is 0.5.
forceUniqueDataSource
boolIf true, results will be constrained to a single DataSource. Default is false.
forceUniqueSection
boolIf true, results will be constrained to a single Section. Default is false.
cancellationToken
CancellationTokenAn optional CancellationToken to cancel the operation.
Returns
- List<PartitionSimilarity>
A list of PartitionSimilarity objects that meet the specified criteria.