Serve it
LM-Kit One: the shared retrieval service
Intranet, helpdesk, and internal tools query one governed backend with identities, per-key grants, and audit. It scales horizontally, any node serving any request, as corpora and teams grow.
Policies, wikis, contracts, and tickets each have their own search box, and none of them agree. Give every tool the same retrieval service, and every answer a citation.
The enterprise search appliance died, the cloud replacements want the corpus uploaded, and in the vacuum every team duct-taped its own retrieval. The result is five indexes, five behaviors, zero citations.
One service owns the pipeline; every internal tool just calls it.
01
Each department's corpus becomes a collection with its own access grants.
03
Lexical and semantic candidates fuse, then rerank, per query.
04
Grounded answers cite document and page, with groundedness scored.
The org-wide backbone is a service; a single application's search can stay in process.
Serve it
Intranet, helpdesk, and internal tools query one governed backend with identities, per-key grants, and audit. It scales horizontally, any node serving any request, as corpora and teams grow.
Embed it
A single application that needs search over its own documents embeds the built-in vector store and the same retrieval pipeline, no service to stand up.
The properties that let one service carry every team's search.
Cited
Document, page, and passage behind every answer, a groundedness score, and unsupported claims flagged rather than smoothed over.
Operable
Full text on PostgreSQL, built-in SQLite, MySQL, or SQL Server; vectors beside it or in Qdrant. Search state lives where your DBAs have runbooks, or fully local with nothing to provision.
Governed
Collections carry grants, keys see what they were given, and every query is attributable; legal's corpus does not leak into the intranet bot.
Ranked results for search boxes; grounded answers for assistants. Both scoped by the caller's grants.
The intranet assistant's one call: an answer with its evidence attached.
curl http://your-server:5189/lmkit/v1/search/answer \
-H "Authorization: Bearer intranet-***" \
-H "Content-Type: application/json" \
-d '{"clusterId":"internal","tenantId":"<org-tenant-id>",
"collectionId":"<hr-policies-id>",
"question":"How much parental leave after 3 years of service?"}'
# answer: "16 weeks at full pay..." citations: leave-policy.pdf p.7
The search-box call: hybrid candidates, fused and reranked.
curl http://your-server:5189/lmkit/v1/search/search \
-H "Authorization: Bearer legal-***" \
-H "Content-Type: application/json" \
-d '{"clusterId":"internal","tenantId":"<org-tenant-id>",
"collectionId":"<contracts-id>",
"query":"Fabrikam renewal signature page",
"searchType":"Hybrid","topK":10,"rerank":true}'
The backbone composes documented capabilities you can inspect on their own.
Answer
Conversational retrieval with citations for the assistant experiences.
How RAG chat worksRank
Second-pass relevance that turns candidate lists into the right top ten.
How reranking worksUnderstand
Three-word queries become retrievable intent before they hit the index.
How expansion worksLocate
Exact, regex, fuzzy, and region search inside individual documents.
How document search worksScale
Retrieval over whole document sets, page-aware from ingestion to citation.
How document RAG worksRelated
The same service pointed outward: search shipped inside your product.
The SaaS use caseThis is the layer underneath it. The knowledge assistant is one consumer; the backbone is the governed search service that any number of internal tools query, each within its own collections and grants, so search behaves the same everywhere.
Grounding is enforced, not hoped for. Answers are generated from retrieved passages, cite document and page, carry a groundedness score, and unsupported claims are flagged; when retrieval finds nothing relevant, no-answer is the honest response.
As much or as little as you choose. The built-in SQLite store with its local vector index needs nothing external; PostgreSQL carries full text and vectors (pgvector) in one database; MySQL and SQL Server carry full text with vectors in Qdrant, and PostgreSQL or SQLite can pair with Qdrant too. Each cluster picks its own combination, and the service scales horizontally, any node serving any request.
Collections carry grants and API keys see only what they were given, enforced by the service on every storage engine, with row-level security adding a database-level layer on PostgreSQL. Legal's contracts and HR's files can share the backbone without sharing an audience.
Search, unified