addDocumentFromFile method

Future<SourceAddResult> addDocumentFromFile(
  1. String filePath, {
  2. String? metadata,
  3. String? name,
  4. ChunkingStrategy? strategy,
  5. Duration? chunkDelay,
  6. void onProgress(
    1. int done,
    2. int total
    )?,
  7. String? collectionId,
})

Add a document from a file path using a Rust-side ingest fast path.

Implementation

Future<SourceAddResult> addDocumentFromFile(
  String filePath, {
  String? metadata,
  String? name,
  ChunkingStrategy? strategy,
  Duration? chunkDelay,
  void Function(int done, int total)? onProgress,
  String? collectionId,
}) async {
  final normalized = _normalizeCollectionId(collectionId);
  final service = await _serviceForCollection(normalized);

  if (normalized == SourceRagService.defaultCollectionId) {
    _startOperation();
  }
  try {
    return await service.addSourceFromFileWithChunking(
      filePath,
      metadata: metadata,
      name: name,
      strategy: strategy,
      chunkDelay: chunkDelay,
      onProgress: onProgress,
    );
  } finally {
    if (normalized == SourceRagService.defaultCollectionId) {
      _endOperation();
    }
  }
}