Table of Contents

Method QueryPartitions

Namespace
LMKit.Retrieval
Assembly
LM-Kit.NET.dll

QueryPartitions(string, IEnumerable<PartitionSimilarity>, IConversation, CancellationToken)

Generates a text response by querying specified partitions within a conversation context.

public TextGenerationResult QueryPartitions(string question, IEnumerable<PartitionSimilarity> partitionSimilarities, IConversation chat, CancellationToken cancellationToken = default)

Parameters

question string

The question text to ask.

partitionSimilarities IEnumerable<PartitionSimilarity>

A collection of PartitionSimilarity instances providing context.

chat IConversation

The IConversation representing the chat context.

cancellationToken CancellationToken

A token to cancel the operation.

Returns

TextGenerationResult

A TextGenerationResult containing the generated response.

Examples

LM embeddingModel = LM.LoadFromModelID("embeddinggemma-300m");
RagEngine ragEngine = new RagEngine(embeddingModel);

LM chatModel = LM.LoadFromModelID("gemma3:4b");
IConversation chat = new SingleTurnConversation(chatModel);

// Find similar partitions first
var partitions = ragEngine.FindMatchingPartitions("What is RAG?", topK: 3);

// Generate a response using the partitions as context
TextGenerationResult result = ragEngine.QueryPartitions("What is RAG?", partitions, chat);
Console.WriteLine(result.Text);

Remarks

This method builds a RAG prompt from the provided partitions and submits it to the conversation. The default prompt template (LMKit.Retrieval.RagPromptBuilder.DefaultPromptTemplate) is used.

QueryPartitions(string, string, IEnumerable<PartitionSimilarity>, IConversation, CancellationToken)

Generates a text response by querying specified partitions within a conversation context, using a custom prompt template.

public TextGenerationResult QueryPartitions(string question, string promptTemplate, IEnumerable<PartitionSimilarity> partitionSimilarities, IConversation chat, CancellationToken cancellationToken = default)

Parameters

question string

The question text to ask.

promptTemplate string

The prompt template containing @context and @question placeholders.

partitionSimilarities IEnumerable<PartitionSimilarity>

A collection of PartitionSimilarity instances providing context.

chat IConversation

The IConversation representing the chat context.

cancellationToken CancellationToken

A token to cancel the operation.

Returns

TextGenerationResult

A TextGenerationResult containing the generated response.

Examples

string template =
    "## Context:\n@context\n\n" +
    "## Question:\n@question\n\n" +
    "## Answer:\n";

TextGenerationResult result = ragEngine.QueryPartitions(
    "Summarize the main idea.",
    template,
    partitions,
    chat);

Remarks

The template must contain the following placeholders (case-sensitive):

  • @context - Replaced with the concatenation of all non-empty Payload values.
  • @question - Replaced with the question value.

Replacement is performed on the template only; occurrences of @context or @question inside the inserted payload text are not processed.

Exceptions

ArgumentException

Thrown when promptTemplate is null, empty, whitespace, or missing required placeholders.