Alternatives
Products that do what Sculptor – Python library for LLM structured data extraction (MIT) does
I built Sculptor after repeatedly seeing founders try to hire data scientists for a task that ultimately boiled down to extracting structured data from unstructured text (customer records, social posts, websites, etc) using an LLM API. We ended up reinventing this pattern internally at least three times in the past year, so I published Sculptor as a streamlined, open-source solution: - Simple schema-based extraction, with parallelization and type validation. - Multi-step pipelines with filtering or transforms between steps. - Configure everything in YAML/JSON for easy reuse. It’s MIT…
- 1

- 2TA
I built this tool because I wanted a way to just take a bunch of URLs or domains, and query their content in RAG applications. It takes away the pain of crawling, extracting content, chunking, vectorizing, and updating periodically. I'm curious to see if it can be useful to others. I meant to launch this six months ago but life got in the way...
2024 · embedding.io
- 3LS
2024 · github.com
- 4KG
Hi HN! My latest side project is knowledge graph that maps the French culinary network using data extracted from restaurant reviews from LeFooding.com. The project uses LLMs to extract structured information from unstructured text. Some technical aspects you may be interested in: - Used structured generation to reliably parse unstructured text into a consistent schema - Tested multiple models (Mistral-7B-v0.3, Llama3.2-3B, gpt4o-mini) for information extraction - Created an interactive visualization using gephi-lite and Retina (WebGL) - Built (with Claude) a simple Flask web app to clean and…
2025 · theophilecantelob.re
- 5SO
Built a tool for transforming unstructured data into structured outputs using language models (with 100% adherence). If you're facing problems getting GPT to adhere to a schema (JSON, XML, etc.) or regex, need to bulk process some unstructured data, or generate synthetic data, check it out. We run our own tuned model (you can self-host if you want), so, we're able to have incredibly fine grained control over text generation. Repository: https://github.com/automorphic-ai/trex Playground: https://automorphic.ai/playground
2023 · automorphic.ai
- 6AK
I shipped a wiki layer for AI agents that uses markdown + git as the source of truth, with a bleve (BM25) + SQLite index on top. No vector or graph db yet. It runs locally in ~/.wuphf/wiki/ and you can git clone it out if you want to take your knowledge with you. The shape is the one Karpathy has been circling for a while: an LLM-native knowledge substrate that agents both read from and write into, so context compounds across sessions rather than getting re-pasted every morning. Most implementations of that idea land on Postgres, pgvector, Neo4j, Kafka, and a dashboard. I…
Apr 2026 · github.com
- 7IJ
Hi HackerNews, Lately, I have seen an explosion in posts offering paid APIs/services to get unstructured data into LLMs (i.e. langchain extract, ragflow, unstructured, unstract, just to name a few) and I have been largely disappointed by them, either because they fail to implement multimodal support, fail to give good context for "really tricky" PDFs / Word docs / Powerpoints, or are just plain difficult to use. In light of all these posts I figured I'd share my solution that has been working smoothly for me and my clients. I put it up on GitHub for free so you can check it…
2024 · github.com
- 8CA
Synthetic data generation is an essential step in training and evaluating LLMs/Agents/RAG pipelines, but tooling around this is still lacking. We're introducing Curator, an open-source library designed to streamline the data curation process. While there are many libraries to prompt LLMs, the semantics of generating synthetic data is different from prompting. For example, we need to process a large number of prompts (sometimes in millions or more) while accepting some failures, utilize several stages of prompting, incorporate human feedback, and filter out bad data using verifiers…
2025 · github.com
- 9AL
Hey HN! After struggling with complex prompt engineering and unreliable parsing, we built L1M, a simple API that lets you extract structured data from unstructured text and images. curl -X POST https://api.l1m.io/structured \ -H "Content-Type: application/json" \ -H "X-Provider-Url: demo" \ -H "X-Provider-Key: demo" \ -H "X-Provider-Model: demo" \ -d '{ "input": "A particularly severe crisis in 1907 led Congress to enact the Federal Reserve Act in 1913", "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": {…
2025 · l1m.io
- 10LS
I built this library because langchain was too bloated and I needed a simple abstraction to call multiple LLM APIs. litellm has two functions - completion(), embedding()
2023 · github.com
- 11RL
We've been building data pipelines that scrape websites and extract structured data for a while now. If you've done this, you know the drill: you write CSS selectors, the site changes its layout, everything breaks at 2am, and you spend your morning rewriting parsers. LLMs seemed like the obvious fix — just throw the HTML at GPT and ask for JSON. Except in practice, it's more painful than that: - Raw HTML is full of nav bars, footers, and tracking junk that eats your token budget. A typical product page is 80% noise. - LLMs return malformed JSON more often than you'd expect, especially with…
Mar 2026 · github.com
- 12SE
I built a CLI tool in Go that extracts structured data (JSON, CSV, Parquet) from messy PDFs and HTML pages. The core idea: LLMs are great at understanding structure but wasteful for bulk data extraction. So smelt uses a two-pass architecture: 1. A fast Go capture layer parses the document and detects table-like regions 2. Those regions (not the whole document) get sent to Claude for schema inference — column names, types, nesting 3. The Go layer then does deterministic extraction using the inferred schema This means the LLM is never in the hot path of actual data processing. It figures out…
Mar 2026 · github.com
- 13IS
Everything that would be here is in the README. I hope this gets big, it has tons of potential.
2013 · github.com
- 14LA
G'day, HN! I'm one of the maintainers of `llm`. I've been working alongside a trusty group of contributors to bring this project to life, and we're now at a point where we're ready to share it with the world. Large language models (LLMs) are taking the computing world by storm due to their emergent abilities that allow them to perform a wide variety of tasks, including translation, summarization, code generation, and even some degree of reasoning. However, the ecosystem around LLMs is still in its infancy, and it can be difficult to get started with these models. `llm` is a one-stop shop for…
2023 · github.com
- 15IG
2024 · columns.ai
- 16GB
Hey HN, We’re excited to share PySpur, an open-source tool that provides a graph-based interface for building, debugging, and evaluating LLM workflows. Why we built this: Before this, we built several LLM-powered applications that collectively served thousands of users. The biggest challenge we faced was ensuring reliability: making sure the workflows were robust enough to handle edge cases and deliver consistent results. In practice, achieving this reliability meant repeatedly: 1. Breaking down complex goals into simpler steps: Composing prompts, tool calls, parsing steps, and branching…
2024 · github.com
- 17TU
LLM-Powered document extraction & analysis tool
2024 · dataku.ai
- 18IM
Every time I wanted to use LLMs in my existing pipelines the integration was very bloated, complex, and too slow. This is why I created a lightweight library that works just like scikit-learn, the flow generally follows a pipeline-like structure where you “fit” (learn) a skill from sample data or an instruction set, then “predict” (apply the skill) to new data, returning structured results. High-Level Concept Flow Your Data --> Load Skill / Learn Skill --> Create Tasks --> Run Tasks --> Structured Results --> Downstream Steps And the bast part: Every step can be saved and reused as…
2025 · github.com
- 19

- 20MS
Hey HN, I’m the author. I built Misata because existing tools (Faker, Mimesis) are great for random rows but terrible for relational or temporal integrity. I needed to generate data for a dashboard where "Timesheets" must happen after "Project Start Date," and I wanted to define these rules via natural language. How it works: LLM Layer: Uses Groq/Llama-3.3 to parse a "story" into a JSON schema constraint config. Simulation Layer: Uses Vectorized NumPy (no loops) to generate data. It builds a DAG of tables to ensure parent rows exist before child rows (referential integrity).…
Dec 2025 · github.com
- 21LW
Apr 2026 · llmwiki.app
- 22IM
It’s written in Python and I call it GoalChain. It lets you build a conversation flow graph that the user traverses. When there’s enough input it spits out a dictionary with the defined fields. Otherwise it will jump state to state as led by the user. It was fun to write, and it’s surprisingly effective if you keep in mind you’re prompt-engineering every string and field name. README.md has a mini-tutorial. Would be cool to get some ideas for how to build it further and what improvements I could make.
2024 · github.com
- 23

- 24

Ranked by how close each launch is in meaning, then by votes. Refine with a description →