refactor core providers

This commit is contained in:
Fabian Freund
2025-02-19 23:02:48 +01:00
parent 94db9b73d4
commit b81fc1cc42
15 changed files with 47 additions and 34 deletions
+21
View File
@@ -0,0 +1,21 @@
import 'package:lensai/data/models/drag_data.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'global_drop.g.dart';
@Riverpod()
class WillAcceptDrop extends _$WillAcceptDrop {
// ignore: use_setters_to_change_properties api decision
void setData(DropTargetData data) {
state = data;
}
void clear() {
state = null;
}
@override
DropTargetData? build() {
return null;
}
}
+26
View File
@@ -0,0 +1,26 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'global_drop.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$willAcceptDropHash() => r'97b47784ef9101757602b4408d1f545ef2308830';
/// See also [WillAcceptDrop].
@ProviderFor(WillAcceptDrop)
final willAcceptDropProvider =
AutoDisposeNotifierProvider<WillAcceptDrop, DropTargetData?>.internal(
WillAcceptDrop.new,
name: r'willAcceptDropProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$willAcceptDropHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$WillAcceptDrop = AutoDisposeNotifier<DropTargetData?>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
+40
View File
@@ -0,0 +1,40 @@
import 'package:langchain_openai/langchain_openai.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'models.g.dart';
// @Riverpod(keepAlive: true)
// ChatOpenAI summarizerModel(Ref ref) {
// final openaiApiKey = Platform.environment['OPENAI_API_KEY'];
// return ChatOpenAI(
// apiKey: openaiApiKey,
// baseUrl: 'https://api.together.xyz/v1',
// defaultOptions: const ChatOpenAIOptions(model: 'deepseek-ai/DeepSeek-V3'),
// );
// }
@Riverpod(keepAlive: true)
ChatOpenAI chatModel(Ref ref) {
const openaiApiKey = 'FfTBKW1t5dOOXVoiaF2hbXPAHiz3fvfy';
return ChatOpenAI(
apiKey: openaiApiKey,
baseUrl: 'https://api.deepinfra.com/v1/openai',
defaultOptions: const ChatOpenAIOptions(
model: 'meta-llama/Llama-3.3-70B-Instruct-Turbo',
),
);
}
@Riverpod(keepAlive: true)
OpenAIEmbeddings embeddingModel(Ref ref) {
const openaiApiKey = 'FfTBKW1t5dOOXVoiaF2hbXPAHiz3fvfy';
return OpenAIEmbeddings(
apiKey: openaiApiKey,
baseUrl: 'https://api.deepinfra.com/v1/openai',
model: 'BAAI/bge-m3',
);
}
@Riverpod(keepAlive: true)
int embeddingDimensions(Ref ref) => 1024;
+61
View File
@@ -0,0 +1,61 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'models.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$chatModelHash() => r'9e44e8fa1d688968841933aac8e13212cf41f4ed';
/// See also [chatModel].
@ProviderFor(chatModel)
final chatModelProvider = Provider<ChatOpenAI>.internal(
chatModel,
name: r'chatModelProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$chatModelHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef ChatModelRef = ProviderRef<ChatOpenAI>;
String _$embeddingModelHash() => r'40111a5f08b43afe6edd399ff0e6c022b3387265';
/// See also [embeddingModel].
@ProviderFor(embeddingModel)
final embeddingModelProvider = Provider<OpenAIEmbeddings>.internal(
embeddingModel,
name: r'embeddingModelProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$embeddingModelHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef EmbeddingModelRef = ProviderRef<OpenAIEmbeddings>;
String _$embeddingDimensionsHash() =>
r'e34f544a18a7e2bd6a479b21f2016b0c0e2ba96c';
/// See also [embeddingDimensions].
@ProviderFor(embeddingDimensions)
final embeddingDimensionsProvider = Provider<int>.internal(
embeddingDimensions,
name: r'embeddingDimensionsProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$embeddingDimensionsHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef EmbeddingDimensionsRef = ProviderRef<int>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
+11
View File
@@ -0,0 +1,11 @@
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lensai/core/routing/routes.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'router.g.dart';
@Riverpod(keepAlive: true)
GoRouter router(Ref ref) {
return GoRouter(debugLogDiagnostics: true, routes: $appRoutes);
}
+26
View File
@@ -0,0 +1,26 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'router.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$routerHash() => r'25fc899b87c080600f6e1d87d510db333378bdfd';
/// See also [router].
@ProviderFor(router)
final routerProvider = Provider<GoRouter>.internal(
router,
name: r'routerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$routerHash,
dependencies: null,
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef RouterRef = ProviderRef<GoRouter>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package