28 lines
792 B
Markdown
28 lines
792 B
Markdown
|
|
```rust title="Rust"
|
||
|
|
use kreuzberg::{extract_file, ExtractionConfig, ChunkingConfig, EmbeddingConfig};
|
||
|
|
|
||
|
|
let config = ExtractionConfig {
|
||
|
|
chunking: Some(ChunkingConfig {
|
||
|
|
max_characters: 512,
|
||
|
|
overlap: 50,
|
||
|
|
embedding: Some(EmbeddingConfig {
|
||
|
|
model: kreuzberg::EmbeddingModelType::Preset { name: "balanced".to_string() },
|
||
|
|
normalize: true,
|
||
|
|
..Default::default()
|
||
|
|
}),
|
||
|
|
..Default::default()
|
||
|
|
}),
|
||
|
|
..Default::default()
|
||
|
|
};
|
||
|
|
|
||
|
|
let result = extract_file("document.pdf", None, &config).await?;
|
||
|
|
|
||
|
|
if let Some(chunks) = result.chunks {
|
||
|
|
for (i, chunk) in chunks.iter().enumerate() {
|
||
|
|
if let Some(embedding) = &chunk.embedding {
|
||
|
|
println!("Chunk {}: {} dimensions", i, embedding.len());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|