LlmChatView class

A widget that displays a chat interface for interacting with an LLM (Language Model).

This widget provides a complete chat interface, including a message history view and an input area for sending new messages. It is configured with an LlmProvider to manage the chat interactions.

Example usage:

LlmChatView(
  provider: MyLlmProvider(),
  style: LlmChatViewStyle(
    backgroundColor: Colors.white,
    // ... other style properties
  ),
)
Inheritance
Annotations

Constructors

LlmChatView({required LlmProvider provider, LlmChatViewStyle? style, ResponseBuilder? responseBuilder, LlmStreamGenerator? messageSender, SpeechToTextConverter? speechToText, List<String> suggestions = const [], String? welcomeMessage, void onCancelCallback(BuildContext context)?, void onErrorCallback(BuildContext context, LlmException error)?, String cancelMessage = 'CANCEL', String errorMessage = 'ERROR', bool enableAttachments = true, bool enableVoiceNotes = true, bool? autofocus, Key? key})
Creates an LlmChatView widget.

Properties

autofocus bool?
Whether to autofocus the chat input field when the view is displayed.
final
cancelMessage String
The text message to display when the user cancels a chat operation.
final
enableAttachments bool
Whether to enable file and image attachments in the chat input.
final
enableVoiceNotes bool
Whether to enable voice notes in the chat input.
final
errorMessage String
The text message to display when an error occurs during a chat operation.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onCancelCallback → void Function(BuildContext context)?
The action to perform when the user cancels a chat operation.
final
onErrorCallback → void Function(BuildContext context, LlmException error)?
The action to perform when an error occurs during a chat operation.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
viewModel ↔ ChatViewModel
The view model containing the chat state and configuration.
latefinal

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<LlmChatView>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited