Files
fil/docs/snippets/dart/api/client_chunk_text.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

1.1 KiB

import 'dart:convert';
import 'dart:io';

import 'package:http/http.dart' as http;

Future<void> main() async {
  final file = File('document.pdf');
  final bytes = await file.readAsBytes();

  final request = http.MultipartRequest(
    'POST',
    Uri.parse('http://localhost:8000/extract'),
  )
    ..files.add(
      http.MultipartFile.fromBytes(
        'file',
        bytes,
        filename: 'document.pdf',
      ),
    )
    ..fields['chunking'] = jsonEncode({
      'max_characters': 800,
      'overlap': 100,
    });

  final streamed = await request.send();
  final response = await http.Response.fromStream(streamed);
  if (response.statusCode >= 400) {
    throw HttpException('Server returned ${response.statusCode}: ${response.body}');
  }

  final result = jsonDecode(response.body) as Map<String, dynamic>;
  final chunks = result['chunks'] as List<dynamic>?;
  if (chunks != null) {
    print('${chunks.length} chunks');
    for (final chunk in chunks) {
      final content = (chunk as Map<String, dynamic>)['content'] as String? ?? '';
      print('  ${content.length} chars');
    }
  }
}