
React语 义相似度搜索组件 提升用户体验
semantic-autocomplete扩展了MUI的自动完成功能,在客户端实现语义相似度搜索。这个React组件使用小型量化机器学习模型,支持自定义阈值、结果回调和模型选择。它可以轻松集成到现有项目中,适用于网页段落语义排序等场景,为开发者提供灵活的搜索解决方案。
语义自动完成是一个 React 组件,它扩展了 v5 MUI 的自动完成功能,并使用一个小型、量化的机器学习(ML)模型在客户端执行语义相似度搜索。该模型只需下载一次,之后就从浏览器缓存中获取。所有功能都集成在这个 React 组件中!
按含义对网页段落进行排序:
https://mihaiii.github.io/semantic-autocomplete/

安装:
npm install --save semantic-autocomplete
然后导入:
import SemanticAutocomplete from "semantic-autocomplete";
由于语义自动完成扩展了 MUI 的自动完成,整个 v5 MUI 自动完成 API 也适用于语义自动完成。唯一的例外是 filterOptions 属性。
如果你已经在项目中使用了 autocomplete,只需替换标签名称即可。 🙌
查看此页面了解如何使用 MUI 的自动完成,同样适用于语义自动完成。
除了 MUI 的自动完成 API 外,还提供以下属性:
threshold:如果设置了值,组件将过滤掉低于此余弦相似度值的选项。默认无值(表示不过滤,仅排序)。点击查看代码示例。
onResult:选项排序/过滤完成后的回调函数,使用结果选项数组作为第一个参数。点击查看代码示例。
model:Huggingface ML 模型仓库的名称。它必须包含 ONNX 嵌入模型。仓库的文件夹结构必须是 transformers.js 使用的标准结构。如果你想更改默认使用的模型,这个过滤器可能会有帮助。我为这个组件制作了一些小型模型。试试看哪个最适合你的用例。默认值:Mihaiii/Venusaur(指向这个仓库),它加载 ONNX 量化模型,大小约 15 MB。点击这里查看代码示例
pipelineParams:加载模型时传递给 transformer.js 的参数。默认值:{ pooling: "mean", normalize: true }。更多信息请参见此页面。