Nomad changes
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s

This commit is contained in:
Henrik Jess Nielsen
2026-06-01 23:40:55 +02:00
parent 72b1a0a6ed
commit b4c07d3693
5723 changed files with 1130655 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
```ruby title="Ruby"
require 'kreuzberg'
require 'net/http'
class CloudOcrBackend
def name
'cloud-ocr'
end
def supported_languages
%w[eng fra deu]
end
def process_image(image_data, language)
uri = URI('https://api.example.com/ocr')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = "Bearer #{ENV['OCR_API_KEY']}"
req.body = image_data
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
raise StandardError, res.message unless res.is_a?(Net::HTTPSuccess)
{ content: JSON.parse(res.body)['text'] }
rescue StandardError => e
raise StandardError, e.message
end
end
Kreuzberg.register_ocr_backend(CloudOcrBackend.new)
config = Kreuzberg::ExtractionConfig.new(
ocr: Kreuzberg::OcrConfig.new(backend: 'cloud-ocr')
)
Kreuzberg.extract_file_sync('doc.pdf', config: config)
```