Skip to content

Part Finder

Find existing parts by describing what they do.

Industry Level Difficulty Recommended mode
Mechanical engineering 1 of 5 Beginner flat
  • Engineers redesign parts that already exist.
  • Part numbers say nothing about function.
  • PLM search is keyword-based.
  1. Part descriptions and drawing notes are embedded in SrvDB.
  2. A functional description finds candidate parts.
  3. Scores rank how close each is.
  4. New parts added with upsert.
Today With Part Finder on SrvDB
New part numbers for old parts Reuse existing parts
Keyword PLM search Search by function
Part proliferation Fewer duplicates
  1. Export part metadata.
  2. Embed descriptions.
  3. Search by requirement.
  4. Review candidates.
  5. Add new parts.
  • Exact search (flat): every query compares against every stored vector, so results are exact and explainable.
  • upsert: inserts new items and replaces changed ones, so the knowledge base stays current.
  • Crash-safe persist(): after it returns, data survives a crash or power loss and reopens exactly as committed.
  • True cosine scores: scores in [-1, 1] mean the same in every mode, so thresholds are stable.
  • Bracket and fastener reuse
  • Standard-part selection
  • Supplier part lookup
  • Cost reduction
  • Design reviews
  • Obsolescence replacement

embed() is your embedding model (for example sentence-transformers, or a function that turns your records into feature vectors).

import json
import srvdb
db = srvdb.Database("./part-finder-db", dimension=768)
def ingest(items):
"""items: list of (id, text, metadata dict)"""
db.upsert(
ids=[i for i, _, _ in items],
embeddings=[embed(t) for _, t, _ in items],
metadatas=[json.dumps(m) for _, _, m in items],
)
db.persist() # crash-safe checkpoint
def existing_parts_like(requirement, k=5):
hits = db.search(embed(requirement), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • Engineers verify fit, form and function.
  1. Prototype: load a sample of real data with flat mode and check that searches return what an expert expects.
  2. Measure: if you move to an approximate mode, compare its results with flat on the same queries (recall).
  3. Pipeline: add continuous upsert and decide when to call persist().
  4. Harden: test restarts and crashes, add logging, review every output path with domain experts.
  5. Deploy: ship the database directory with the application or service.
Level Project What it does
1 · Beginner Part Finder (this page) Find existing parts by describing what they do.
2 · Intermediate FMEA Assistant Drafts and reviews FMEAs grounded in past FMEAs and failures.
3 · Advanced Vibration Signature Matcher Matches vibration signatures to known fault patterns.
4 · Expert Geometric Design Search Search CAD models by shape using 3D shape embeddings.
5 · Frontier Simulation Lookup Find the nearest previously simulated cases before running a new simulation.

See also: Use cases · Live examples (coming soon)