Do you think that there are security or data exfiltration risks with their approach, e.g. putting classified documents/emails into private company's LLMs to summarize information or identify certain ideological motivations? I don't see how they could begin to understand the scope of what they're working with without A.I. assistance.
Kudos on a great game! If you ever expand or open source this, let me know. The mechanics and design are great and could really blossom into something fun and expansive (especially if users could submit levels).
Can't say it'll solve all your problems, but try Florence-2. It's worked well on some handwritten documents for me when all the text is a relatively uniform size.
If you play ten note chords — one for each finger — in quick succession, that can rack up a lot of inserts in short time period (say, medium-worst case, 100Hz, for playing a chord like that five times per second, counting both “on” and “off” events).
It’s also worth taking into consideration damper pedal velocity changes. When you go from “off” (velocity 0) to fully “on” and depressed (velocity 127), a lot of intermediate values will get fired off at high frequency.
Ultimately though you are right; it’s not enough frequency of information to overload SQLite (or a file system), probably by several orders of magnitude.
I recently had the idea to record every note coming out of my digital piano in real-time. That way if I come up with a good idea when noodling around I don’t have to hope I can remember it later.
I was debating what storage layer to use and decided to try SQLite because of its speed claims — essentially a single table where each row is a MIDI event from the piano (note on, note off, control pedal, velocity, timestamp). No transactions, just raw inserts on every possible event. It so far has worked beautifully: it’s performant AND I can do fun analysis later on, e.g. to see what keys I hit more than others or what my average note velocity is.
Agreed. Tesseract is not able to handle handwriting or text that is distorted well, e.g. colored text over an image background — to the point that it would hurt any downstream LLM trying to make sense of the contents. It won’t even pick out bounding boxes.
I doubt they are running an OCR model, but if they actually were it would likely be an in-house one trained with more modern techniques.
Each box is a torch module[1], which can technically encapsulate any amount of computation or contain sub-modules. The smallest boxes or leaf nodes are those that contain no sub-modules. They can still run an arbitrary number of functions depending on the node.
I wonder how people’s learning habits will change with AI tools like GitHub Copilot. I used it for several months but randomly got logged out and am now finding myself valuing the slight inconvenience of looking up official documentation (and surprised how much more sluggish I felt for the first week).
Going through extra steps to learn something through primary sources and valuing being uncomfortable at times are important for my evolution as a programmer.
Hi HN, I’m excited to present Semantra, a tool and search UI where you can easily embed/query your own documents semantically (by meaning). Semantic embedding models are lightweight and can run on consumer grade CPUs. This project provides an embedding engine and human-in-the-loop web interface where you can run and iteratively refine queries. The project intentionally tries to make this interface as expressive and intuitive as possible without the use of any generative text models like ChatGPT. This makes the tool private, secure, and fast!
The tool is currently a Python CLI you pass files (text/PDF documents) into and it embeds them and launches a web UI. Embeddings are saved by file hash so files are only processed once and subsequent calls are instant. For a future direction, I am working on a native desktop app rewrite in Flutter and porting the project to use entirely C API-compatible libraries (which is a fun challenge when so many existing frameworks depend on Python). This will ideally make the tool easy for anyone to download and install and even opens up the possibility of mobile ports.
I’m excited to hear any comments or feedback! I’d love to know how it meets your needs and/or what features would make your lives easier.
I don’t fully understand the fascination with retrieval augmented generation. The retrieval part is already really good and computationally inexpensive — why not just pass the semantic search results to the user in a pleasant interface and allow them to synthesize their own response? Reading a generated paragraph that obscures the full sourcing seems like a practice that’s been popularized to justify using the shiny new tech, but is the generated part what users actually want? (Not to mention there is no bulletproof way to prevent hallucinations, lies, and prompt injection even with retrieval context.)