If your use case is RAG over messy enterprise data, LlamaIndex is the one I'd reach for first. The data connectors are extensive (150+ sources), LlamaParse handles malformed PDFs better than most, and the retrieval quality, especially with hybrid search combining semantic + keyword, is noticeably better than rolling your own solution.
The rough edges show up around cloud feature maturity and some API inconsistencies when you push edge cases. Integration with certain connectors can throw compatibility issues that the docs don't always cover well, so expect to dig into GitHub issues or community forums. Also, it's very Python-heavy so TypeScript teams may hit some friction depending on which features they need.
Overall though, for anyone building knowledge assistants or document-heavy AI apps, LlamaIndex gives you ingestion, indexing, retrieval and evaluation in one cohesive package. That's rare and genuinely saves weeks of setup work.