✓ Total revenue $4.82B, up 19% YoY · source n2.4.1 · line 12
Use it from Python
Compile a document, then ask in plain language — every answer carries its source.
main.py
import asynciofrom vectorless import Engineasyncdefmain():asyncwith Engine(api_key="sk-...", model="gpt-4o")as engine: doc =await engine.compile(path="./report.pdf") res =await engine.ask("What is the total revenue?", doc_ids=[doc.doc_id],)print(res.answer)# grounded answerfor ev in res.evidence:# ...with sourcesprint(ev.node_title, ev.source_path)asyncio.run(main())
Or straight from your terminal
Same engine, same answers — index and query your documents without writing any code.
zsh — vectorless
# index a document (or a folder with -r)$ vectorless add ./report.pdf# ask a one-off question$ vectorless query "What is the total revenue?"# interactive REPL over your documents$ vectorless ask# inspect the compiled tree$ vectorless tree <doc_id>$ vectorless list
Inside the engine
From raw file to grounded answer — compile to a semantic tree, then reason over it. No vectors anywhere in the pipeline.
Stop embedding. Start reasoning.
Point Vectorless at your documents and ask in plain language. Every answer comes back with a traceable source.