A custom search engine with link crawling and an indexing pipeline and client frontend.
This repo is a uv workspace with separate components:
crawl/— link crawler that fetches and stores pagessearch/— BM25 index, CLI, and FastAPI search APIverdict-ml/— PageVerdict and LinkVerdict runtime; training and model releases live in labeling-labclient/— React frontend for the search API
Install dependencies:
uv syncChoose a data source:
Latest snapshot
uv run data-fetchCrawl locally
uv run crawl
uv run index
uv run embedSearch:
uv run search -q "tübingen attractions"Start the API and client in separate terminals:
uv run uvicorn tuebingen_search.api:appcd client
npm install # once
npm run devVite prints the local URL for the client.
For the crawl report, HTTP API, web client, and all options, see the component
READMEs linked above (e.g. search/).