40 lines
977 B
Markdown
40 lines
977 B
Markdown
|
|
```php title="PHP"
|
||
|
|
<?php
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
use Kreuzberg\Kreuzberg;
|
||
|
|
use Kreuzberg\ExtractionConfig;
|
||
|
|
use Kreuzberg\ChunkingConfig;
|
||
|
|
use Kreuzberg\EmbeddingConfig;
|
||
|
|
|
||
|
|
$config = new ExtractionConfig(
|
||
|
|
chunking: new ChunkingConfig(
|
||
|
|
maxCharacters: 1024,
|
||
|
|
overlap: 100,
|
||
|
|
embedding: new EmbeddingConfig(
|
||
|
|
normalize: true,
|
||
|
|
batchSize: 32,
|
||
|
|
showDownloadProgress: false
|
||
|
|
)
|
||
|
|
)
|
||
|
|
);
|
||
|
|
|
||
|
|
$result = Kreuzberg::extractFileSync('document.pdf', null, $config);
|
||
|
|
|
||
|
|
if ($result->getChunks()) {
|
||
|
|
foreach ($result->getChunks() as $chunk) {
|
||
|
|
echo "Chunk content: " . substr($chunk->getContent(), 0, 100) . "...\n";
|
||
|
|
|
||
|
|
$embedding = $chunk->getEmbedding();
|
||
|
|
if ($embedding) {
|
||
|
|
echo "Embedding dimension: " . count($embedding) . "\n";
|
||
|
|
echo "First 5 values: ";
|
||
|
|
echo implode(", ", array_slice($embedding, 0, 5));
|
||
|
|
echo "\n";
|
||
|
|
}
|
||
|
|
echo "\n";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
?>
|
||
|
|
```
|