This commit is contained in:
26
docs/snippets/elixir/configuration/config_discover.exs
Normal file
26
docs/snippets/elixir/configuration/config_discover.exs
Normal file
@@ -0,0 +1,26 @@
|
||||
```elixir title="Elixir"
|
||||
alias Kreuzberg.ExtractionConfig
|
||||
|
||||
# Load configuration from file
|
||||
# Automatically discovers and loads configuration from the user's config directory
|
||||
config_path = Path.expand("~/.kreuzberg/config.json")
|
||||
|
||||
config = if File.exists?(config_path) do
|
||||
config_data = config_path |> File.read!() |> Jason.decode!()
|
||||
struct(ExtractionConfig, Map.new(config_data, fn {k, v} -> {String.to_atom(k), v} end))
|
||||
else
|
||||
IO.puts("Config file not found at #{config_path}. Using defaults.")
|
||||
%ExtractionConfig{}
|
||||
end
|
||||
|
||||
IO.puts("Configuration Source: #{if File.exists?(config_path), do: "#{config_path} (file)", else: "defaults"}")
|
||||
IO.puts("OCR Enabled: #{inspect(config.ocr["enabled"])}")
|
||||
IO.puts("Chunking Max Characters: #{inspect(config.chunking["max_characters"])}")
|
||||
IO.puts("Use Cache: #{inspect(config.use_cache)}")
|
||||
|
||||
{:ok, result} = Kreuzberg.extract_file("document.pdf", nil, config)
|
||||
|
||||
IO.puts("Document extraction complete")
|
||||
IO.puts("Content length: #{byte_size(result.content)} bytes")
|
||||
IO.puts("Languages detected: #{inspect(result.detected_languages)}")
|
||||
```
|
||||
Reference in New Issue
Block a user