This commit is contained in:
39
docs/snippets/elixir/advanced/quality_processing_example.exs
Normal file
39
docs/snippets/elixir/advanced/quality_processing_example.exs
Normal file
@@ -0,0 +1,39 @@
|
||||
```elixir title="Elixir"
|
||||
alias Kreuzberg.ExtractionConfig
|
||||
|
||||
# Process document with quality filtering
|
||||
config = %ExtractionConfig{
|
||||
quality_processing: %{
|
||||
"enabled" => true,
|
||||
"min_quality_score" => 0.8
|
||||
}
|
||||
}
|
||||
|
||||
case Kreuzberg.extract_file("document.pdf", nil, config) do
|
||||
{:ok, result} ->
|
||||
IO.puts("=== Quality Processing ===\n")
|
||||
|
||||
# Display quality metrics if available
|
||||
quality_score = result.quality_score
|
||||
if quality_score && quality_score > 0 do
|
||||
IO.puts("Quality Score: #{quality_score}")
|
||||
IO.puts("Content Quality: #{quality_status(quality_score)}")
|
||||
end
|
||||
|
||||
# Display content with quality assurance
|
||||
IO.puts("\n--- Extracted Content ---")
|
||||
content_preview = String.slice(result.content, 0..200)
|
||||
IO.puts(content_preview)
|
||||
IO.puts("\nTotal size: #{byte_size(result.content)} bytes")
|
||||
|
||||
{:error, reason} ->
|
||||
IO.puts("Extraction failed!")
|
||||
IO.puts("Error: #{inspect(reason)}")
|
||||
end
|
||||
|
||||
# Helper function to determine quality status
|
||||
defp quality_status(score) when score >= 0.9, do: "Excellent"
|
||||
defp quality_status(score) when score >= 0.8, do: "Good"
|
||||
defp quality_status(score) when score >= 0.7, do: "Fair"
|
||||
defp quality_status(_score), do: "Poor"
|
||||
```
|
||||
Reference in New Issue
Block a user