class EchoProvider extends Provider<
ChatModelOptions,
EmbeddingsModelOptions,
MediaGenerationModelOptions
> {
EchoProvider()
: super(
name: 'echo',
displayName: 'Echo',
defaultModelNames: {ModelKind.chat: 'echo'},
);
@override
ChatModel<ChatModelOptions> createChatModel({
String? name,
List<Tool<Object>>? tools,
double? temperature,
ChatModelOptions? options,
}) => EchoChatModel(
name: name ?? defaultModelNames[ModelKind.chat]!,
defaultOptions: options,
);
@override
MediaGenerationModel<MediaGenerationModelOptions> createMediaModel({
String? name,
List<Tool>? tools,
MediaGenerationModelOptions? options,
}) => throw UnsupportedError('Media generation not supported');
// ... other required methods
}