The Client is where the provider strategy is assembled. It is not the extraction logic itself; it is the runtime configuration used by the pipeline.
Basic flow
- choose your model provider
- choose OCR and renderer if needed
- create the client with those providers
- call
Extract[T]
Example
client := ovrin.New(
ovrin.WithModel(model),
ovrin.WithOCR(ocr),
ovrin.WithRenderer(renderer),
)
Notes
- provider modules are separated from the core
- only the modules you need enter your dependency graph
- extraction logic remains the same regardless of the provider behind the seam