FakeChatModel class final
A ChatModel that returns scripted answers and records what it was asked.
final model = FakeChatModel.text('Paris.');
await agent.run('What is the capital of France?');
expect(model.callCount, 1);
expect(model.lastRequest.messages.last.text, contains('France'));
- Implemented types
- Available extensions
Constructors
-
FakeChatModel({List<
FakeTurn> turns = const <FakeTurn>[], ModelInfo? info, Duration latency = Duration.zero}) -
Creates a model that plays
turnsin order. - FakeChatModel.failing(AgenticException error, {ModelInfo? info})
-
Creates a model that always fails with
error.factory - FakeChatModel.failingThenAnswering({required AgenticException error, int times = 1, String then = 'Recovered.', ModelInfo? info})
-
Creates a model that fails
timestimes, then answers withthen.factory - FakeChatModel.text(String text, {ModelInfo? info})
-
Creates a model that always answers with
text.factory -
FakeChatModel.toolCall({required List<
ToolCallPart> toolCalls, String then = 'Done.', ModelInfo? info}) -
Creates a model that requests
toolCalls, then answers withthen.factory
Properties
- callCount → int
-
How many calls this model received.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- info → ModelInfo
-
What this model is and what it supports.
final
- isDisposed → bool
-
Whether dispose has been called.
no setter
- lastRequest → ChatRequest
-
The most recent request.
no setter
- latency → Duration
-
Artificial delay before each answer, for exercising timeouts.
final
-
requests
→ List<
ChatRequest> -
Every request this model received, in order.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
checkSupports(
ChatRequest request) → void -
Available on ChatModel, provided by the ChatModelOperations extension
Verifies this model can satisfyrequest. -
dispose(
) → Future< void> - Releases every resource held by this object.
-
enqueue(
FakeTurn turn) → void - Appends a turn to the script.
-
generate(
ChatRequest request, {AgenticContext? context}) → Future< ChatResponse> -
Generates a complete answer.
override
-
generateStructured<
T> (ChatRequest request, {required String name, required JsonSchema schema, required T fromJson(JsonMap json), AgenticContext? context}) → Future< T> -
Available on ChatModel, provided by the ChatModelOperations extension
Answers with a value conforming toschema. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
prompt(
String prompt, {String? system, double? temperature, int? maxOutputTokens, AgenticContext? context}) → Future< String> -
Available on ChatModel, provided by the ChatModelOperations extension
Answers a single prompt and returns the text. -
reset(
) → void - Forgets recorded requests and rewinds the script.
-
stream(
ChatRequest request, {AgenticContext? context}) → Stream< ChatChunk> -
Generates an answer incrementally.
override
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited