SmartDocumentAdapter
Namespace: Wisej.AI.Adapters
Assembly: Wisej.AI
Represents a document adapter that can perform AI tasks using a document as a data source and interact with the user through a ChatBox control.
- C#
- VB.NET
public class SmartDocumentAdapter : SmartAdapter
Public Class SmartDocumentAdapter
Inherits SmartAdapter
This class integrates with the IEmbeddingStorageService to search within the document being managed. It provides properties to configure the bot's appearance and document handling, and events to manage responses.
Constructors
SmartDocumentAdapter()
Initializes a new instance of the SmartDocumentAdapter class.
Properties
AutoReset
Boolean: Gets or sets a value indicating whether the history of the conversation is cleared after each response. (Default: False)
BotAvatar
String: Gets or sets the avatar image source of the bot. (Default: "resource.wx/Wisej.AI/Icons/wisej-avatar.svg")
BotName
String: Gets or sets the name of the bot. (Default: "Wisej.AI")
ChatBox
ChatBox: Gets the associated ChatBox control.
ConversionService
IDocumentConversionService: Gets or sets the document conversion service used for converting documents to text.
FilePath
String: Gets or sets the file path of the document. (Default: null)
FileType
String: Gets or sets the file type. i.e. .docx, .pdf, .txt. If null it will be detected automatically. (Default: null)
MaxClusters
Int32: Get or sets the maximum number of vector clusters to generate when performing summarization tasks. (Default: 5)
MinSimilarity
Single: Gets or sets the minimum similarity threshold. (Default: 0.25)
Stream
Stream: Gets or sets the file path of the document. (Default: null)
TextSplitterService
ITextSplitterService: Gets or sets the text splitter service used for splitting text into smaller chunks.
TopN
Int32: Gets or sets the number of top results to retrieve. (Default: 10)
User
User: Gets the user representing the bot.
Methods
AskAsync(question)
| Parameter | Type | Description |
|---|---|---|
| question | String |
Returns: Task<String>.
Throws:
- ArgumentNullException When question is null.
OnAnswerReceived(e)
Raises the AnswerReceived event.
| Parameter | Type | Description |
|---|---|---|
| e | AnswerReceivedArgs | The AnswerReceivedArgs instance containing the event data. |
OnControlCreated(control)
| Parameter | Type | Description |
|---|---|---|
| control | Control |
OnControlDisposed(control)
| Parameter | Type | Description |
|---|---|---|
| control | Control |
ParseAnswer(text)
| Parameter | Type | Description |
|---|---|---|
| text | String |
Returns: String.
ParseSourceText(text)
| Parameter | Type | Description |
|---|---|---|
| text | String |
Returns: String.
ResetSession(removeMessages)
Resets the conversation history.
| Parameter | Type | Description |
|---|---|---|
| removeMessages | Boolean | Indicates whether all messages from the ChatBox control should also be removed. |
RunAsyncCore(control)
Executes the core logic asynchronously.
| Parameter | Type | Description |
|---|---|---|
| control | Control | The control associated with the operation. |
Returns: Task<Message>. A task representing the asynchronous operation.
Events
AnswerReceived
AnswerReceivedHandler Occurs when an answer is received.
Implements
| Name | Description |
|---|---|
| IToolProvider | Represents a provider that supplies tools. |