Method SubmitAsync
SubmitAsync(string, CancellationToken)
Asynchronously submits a question and returns a response based on the loaded documents.
public Task<DocumentQueryResult> SubmitAsync(string question, CancellationToken cancellationToken = default)
Parameters
questionstringThe question to ask.
cancellationTokenCancellationTokenToken to cancel the operation.
Returns
- Task<DocumentQueryResult>
A task containing a DocumentQueryResult with the generated response and references to source passages used.
Examples
using var chat = new PdfChat(chatModel, embeddingModel);
await chat.LoadDocumentAsync("report.pdf");
var result = await chat.SubmitAsync("What are the key findings?");
Console.WriteLine(result.Response.Completion);
// Follow-up questions maintain conversation context
var followUp = await chat.SubmitAsync("Can you elaborate on the first point?");
Console.WriteLine(followUp.Response.Completion);
Exceptions
- InvalidOperationException
Thrown if no documents have been loaded.
- ArgumentNullException
Thrown if
questionisnullor empty.- ObjectDisposedException
Thrown if this instance has been disposed.