This commit is contained in:
55
docs/snippets/ruby/config/chunking_config.md
Normal file
55
docs/snippets/ruby/config/chunking_config.md
Normal file
@@ -0,0 +1,55 @@
|
||||
```ruby title="Ruby"
|
||||
require 'kreuzberg'
|
||||
|
||||
config = Kreuzberg::ExtractionConfig.new(
|
||||
chunking: Kreuzberg::ChunkingConfig.new(
|
||||
max_characters: 1000,
|
||||
overlap: 200
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
```ruby title="Ruby - Markdown with Heading Context"
|
||||
require 'kreuzberg'
|
||||
|
||||
config = Kreuzberg::ExtractionConfig.new(
|
||||
chunking: Kreuzberg::ChunkingConfig.new(
|
||||
chunker_type: "markdown",
|
||||
max_characters: 500,
|
||||
overlap: 50,
|
||||
sizing_type: "tokenizer",
|
||||
sizing_model: "Xenova/gpt-4o"
|
||||
)
|
||||
)
|
||||
|
||||
result = Kreuzberg.extract_file("document.md", config)
|
||||
|
||||
result.chunks.each do |chunk|
|
||||
if chunk.metadata.heading_context
|
||||
puts "Headings:"
|
||||
chunk.metadata.heading_context.headings.each do |heading|
|
||||
puts " #{' ' * (heading.level - 1) * 2}Level #{heading.level}: #{heading.text}"
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
```ruby title="Ruby - Prepend Heading Context"
|
||||
require 'kreuzberg'
|
||||
|
||||
config = Kreuzberg::ExtractionConfig.new(
|
||||
chunking: Kreuzberg::ChunkingConfig.new(
|
||||
chunker_type: "markdown",
|
||||
max_characters: 500,
|
||||
overlap: 50,
|
||||
prepend_heading_context: true
|
||||
)
|
||||
)
|
||||
|
||||
result = Kreuzberg.extract_file("document.md", config)
|
||||
|
||||
result.chunks.each do |chunk|
|
||||
# Each chunk's content is prefixed with its heading breadcrumb
|
||||
puts chunk.content[0, 100]
|
||||
end
|
||||
```
|
||||
Reference in New Issue
Block a user