HackerTrans
TopNewTrendsCommentsPastAskShowJobs

nhirschfeld

no profile record

Submissions

[untitled]

1 points·by nhirschfeld·vor 27 Tagen·0 comments

Show HN: Kreuzberg Cloud – ultra fast content intelligence – in public beta

kreuzberg.dev
5 points·by nhirschfeld·vor 2 Monaten·4 comments

[untitled]

1 points·by nhirschfeld·vor 3 Monaten·0 comments

Show HN: Liter-LLM, Universal LLM client in Rust with bindings for 11 languages

github.com
2 points·by nhirschfeld·vor 4 Monaten·0 comments

Show HN: Kreuzberg Comparative Benchmarks

kreuzberg.dev
1 points·by nhirschfeld·vor 5 Monaten·0 comments

[untitled]

1 points·by nhirschfeld·letztes Jahr·0 comments

[untitled]

1 points·by nhirschfeld·letztes Jahr·0 comments

Show HN: Kreuzberg v3.0 – Modern Python Document Extraction

5 points·by nhirschfeld·letztes Jahr·0 comments

Ask HN: Interest in a pgvector-based RAG system library?

3 points·by nhirschfeld·letztes Jahr·2 comments

Show HN: Kreuzberg – Modern async Python library for document text extraction

github.com
197 points·by nhirschfeld·letztes Jahr·75 comments

comments

nhirschfeld
·vor 2 Monaten·discuss
Hi HN!

I'm the maintainer of Kreuzberg, an open-source document intelligence library (https://github.com/kreuzberg-dev/kreuzberg). Some of you may have used it for RAG ingestion.

We're launching Kreuzberg Cloud, a SAAS API and a self-hosted system. It's in public beta, and I would like to invite you all to give it a try.

What out MVP offers: we offer very fast CPU optimized document and code intelligence. You can extract content from more than 90 document file formats and 300 code file formats into Markdown (or plaintext/djot), with additional features (same pricing tier) including chunking, embeddings, keyword extraction - and various types of intelligence.

The OSS library is used as the base engine of the cloud system. Our initial offering is $0.008/page, and you get the first 10K pages free, no card required.

We also offer our entire system for self-hosting - using helm charts. We are looking for design partners, so if thats relevant - shoot me a line.
nhirschfeld
·letztes Jahr·discuss
You'll need to use a different OCR engine. Look at easy ocr
nhirschfeld
·letztes Jahr·discuss
Yes, there have already been several suggestions here for other backend etc.

You should try using a different PSM to see if you get better results.

If it's scientific texts specifically, look at grobid
nhirschfeld
·letztes Jahr·discuss
You still need to write it to file to process it via pandoc/tesseract etc.

There are alternative options to tesseract ofc.
nhirschfeld
·letztes Jahr·discuss
thats why Kreuzberg also exposes a sync API for you to consume.
nhirschfeld
·letztes Jahr·discuss
didnt know this!
nhirschfeld
·letztes Jahr·discuss
I haven't, testing it out is on my todo list for sure
nhirschfeld
·letztes Jahr·discuss
I google this for a while...
nhirschfeld
·letztes Jahr·discuss
I'm actually considering another library with optional API called `Kreuzköln` - probably without the Umlaut!
nhirschfeld
·letztes Jahr·discuss
Retrieval Augmented Generation. Its a class of techniques for generating content using LLMs. I'd recommend Googling this.
nhirschfeld
·letztes Jahr·discuss
Thanks for asking!

It's both. The OCR part is ofc CPU bound, but the entire text extraction involves reading files, or writing and then reading files.

Without async, these simply block.

As for efficiency - if you're working in an async application context you have to "asyncify" these operations or suffer the consequences.
nhirschfeld
·letztes Jahr·discuss
Amazing, would be interested in reading your experience
nhirschfeld
·letztes Jahr·discuss
Sorry to hear...
nhirschfeld
·letztes Jahr·discuss
Yup, easy OCR is good.

My reasons for using Tesseract - easy OCR is larger, and it has a significant cold start.

It benchmarks better for many OCR tasks though, so I'm thinking of adding it as an alternative backend.
nhirschfeld
·letztes Jahr·discuss
interesting!
nhirschfeld
·letztes Jahr·discuss
lol ;).

But seriously, in 13 years living here, only one guy tried to pick pocket me.
nhirschfeld
·letztes Jahr·discuss
Thanks, I'll check these links.

In my tests I found tesseract quite good for regular text documents. For other kinds of texts it's not great.

As for using models - there are some good small language models as well, and of course LLMs.

I sorta feel though that if one needs complex OCR, or a vision model for layout, one should opt for either a commercial solution that abstracts the deployment and GPU management, or bake ones own system.

For most use cases involving text documents though, my subjective opinion is that tesseract is sufficient.
nhirschfeld
·letztes Jahr·discuss
That's my neighborhood in Berlin, which I love
nhirschfeld
·letztes Jahr·discuss
So, for PDF we need to distinguish between two types of text extraction-

1. Text extraction from a searchable PDF.

2. OCR.

For 1. Kreuzberg uses pypdfium2, which is a python binding for pdfium - the chromium PDF engine. In this regard Kreuzberg has top notch performance. Much faster than miner.six, PDFplumber etc.

Note PyMuPDF has top notch performance but also an AGPL license, and is almost unusable because of this without paying.

For 2. Kreuzberg uses Tesseract, which is very solid. Performance is good, and Kreuzberg utilizes async worker processes to optimize concurrency.

OCR though is a complex world. If what you need is to extract text from standard text documents (broadly speaking), Tesseract and hence Kreuzberg are a good choice.

If what you need is things like layout extraction, hand writing recognition, complete bonding box metadata etc. than you need to use an alternative - commercial one probably.