feat: IoD search process HTML/PDF content

This commit is contained in:
Nex Zhu
2025-02-14 23:24:27 +08:00
parent 51188b1428
commit 4c5d5cfe99
3 changed files with 33 additions and 19 deletions

View File

@@ -108,6 +108,7 @@ export const searchIod = async (query: string, keywords: string[]) => {
}
const docs: Document<Record<string, any>>[] = []
const resMap = new Map<string, IodRegistryEntry>()
for (const result of searchResults) {
const url = result.url
if (!url) continue
@@ -190,11 +191,15 @@ export const searchIod = async (query: string, keywords: string[]) => {
const resultsWithEmbeddings = await store.similaritySearch(query, 3)
const searchResult = resultsWithEmbeddings.map((result) => {
// `source` for PDF type
const key = result.metadata.url || result.metadata.source
if (!key) return null
const fullRes = resMap[key]
return {
url: result.metadata.url,
...fullRes,
content: result.pageContent
}
})
}).filter((r) => r)
return searchResult
}