searchSimilar method

  1. @override
Future<List<RetrievalResult>> searchSimilar({
  1. required String query,
  2. int topK = 5,
  3. double threshold = 0.0,
})
override

Search for similar documents.

Implementation

@override
Future<List<RetrievalResult>> searchSimilar({
  required String query,
  int topK = 5,
  double threshold = 0.0,
}) async {
  if (_vectorStoreRepository == null) {
    throw StateError('VectorStore not initialized. Call initializeVectorStore() first.');
  }

  if (_initializedEmbeddingModel == null) {
    throw StateError('Embedding model not created. Call createEmbeddingModel() first.');
  }

  // Generate query embedding and search
  final queryEmbedding = await _initializedEmbeddingModel!.generateEmbedding(query);
  return await _vectorStoreRepository!.searchSimilar(
    queryEmbedding: queryEmbedding,
    topK: topK,
    threshold: threshold,
  );
}