27 lines
768 B
TypeScript
27 lines
768 B
TypeScript
import {
|
|
getManualsQdrantCorpus,
|
|
searchManualsQdrantCorpus,
|
|
} from "@/lib/manuals-qdrant-corpus"
|
|
|
|
export async function searchServiceKnowledge(args: {
|
|
query: string
|
|
limit?: number
|
|
}) {
|
|
const corpus = await getManualsQdrantCorpus()
|
|
const results = searchManualsQdrantCorpus(corpus, args.query, {
|
|
limit: args.limit ?? 4,
|
|
profile: "public_safe",
|
|
})
|
|
|
|
return results.map((result) => ({
|
|
score: result.score,
|
|
title: result.chunk.title,
|
|
manufacturer: result.chunk.manufacturer,
|
|
model: result.chunk.model,
|
|
sourceKind: result.chunk.sourceKind,
|
|
manualType: result.chunk.manualType,
|
|
sourceFilename: result.chunk.sourceFilename,
|
|
manualUrl: result.chunk.manualUrl,
|
|
snippet: result.chunk.text.slice(0, 600).trim(),
|
|
}))
|
|
}
|