将文本映射到一个能够表达语义信息的向量空间中,使语义相似的文本在向量空间中的距离更近。
js这个项目里,用户提问后不一定直接走大模型生成,而是会先进入 Agent 的工具调用链。核心工具主要分四类。
第一类是推理工具,项目里默认挂了 sequentialthinking,作用是让 Agent 在复杂问题下先拆解问题、
再决定要不要调用别的工具。这个工具更像一个思考辅助,不直接查业务数据。
第二类是知识库检索工具,也就是 knowledge_base。当用户问设备说明书、操作手册、技术参数这类问题时,
Agent 会调用它去 Milvus 里做向量检索,返回相关 chunk、文件名、文件 ID、chunkId 和 score。
这个工具主要解决非结构化文档问答。
第三类是结构化业务查询工具,主要包括设备、空间、工单三组。比如:
find_devices:按设备名查设备
find_devices_by_space:查某个空间下的设备
find_spaces、find_child_spaces:查空间树
search_work_orders:查工单文本
这类工具主要解决数据库里已经结构化存储的数据查询。
第四类是统计分析工具,比如:
device_statistics
space_statistics
work_order_statistics
这类工具支持更灵活的统计查询,尤其是工单统计支持 SQL 输入,但项目里又加了 SQL 校验器,限制表白名单、禁止危险语句、强制 LIMIT,避免模型乱生成 SQL。

本文作者:曹子昂
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!