3 个版本

0.1.2 2024 年 2 月 10 日
0.1.1 2024 年 2 月 10 日
0.1.0 2024 年 2 月 10 日

#149数据库实现

MIT 许可证

43KB
1K SLoC

思维导图

Latest version Documentation License

一个快速高效的语义搜索引擎,用 Rust 构建,用于生成和搜索笔记的嵌入

展示

笔记监视

image

服务器查询

curl -G --data-urlencode "q=poison" http://127.0.0.1:5001/
curl -G --data-urlencode "q=poison" --data-urlencode "format=json" http://127.0.0.1:5001/
image

纯 CLI 使用

image

安装

cargo install mindmap

用法

$ mindmap --help
Search your notes at the speed of thought

Usage: mindmap <COMMAND>

Commands:
  setup           Initial config setup
  watch           Watches your MindMap directory for changes
  recompute-all   Recomputes your entire MindMap
  recompute-file  Recomputes a specific file
  query           Queries the MindMap for items
  server          Starts the MindMap server
  help            Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

设置(高级)

MindMap 将为配置文件选择一个合理的默认值,但您也可以手动创建它。我们创建了一个实用命令来帮助您完成此操作。只需运行 mindmap setup,它将为您创建配置文件。

$ mindmap setup

如果您不确定配置选项的默认值,请随时按 enter 选择。

模型

有几个模型可供选择。这些模型包括

  • AllDistilrobertaV1
  • AllMiniLmL12V2
  • AllMiniLmL6V2
  • BertBaseNliMeanTokens
  • DistiluseBaseMultilingualCased
  • ParaphraseAlbertSmallV2
  • SentenceT5Base

服务器

尽管支持使用 midnmap query 进行单个查询,但 MindMap 还支持服务器模式。服务器模式对于将 MindMap 与其他工具集成很有用,并且比 CLI 模式快得多,因为它只需加载一次模型并将其保留在内存中。要使用服务器,只需运行 mindmap server,它将开始监听配置文件中指定的地址。

$ mindmap server
Starting server at: 127.0.0.1:5001

然后,要与服务器通信,只需向根路径发送带有查询参数 q 的 GET 请求。

$ curl -G --data-urlencode "q=are boats cool?" http://127.0.0.1:5001/
~/mindmap/test.md:5:5
~/mindmap/test.md:3:3
~/mindmap/test.md:1:1
~/mindmap/other_data.md:16:17
~/mindmap/other_data.md:48:48
~/mindmap/other_data.md:59:64
~/mindmap/other_data.md:43:43
~/mindmap/other_data.md:31:32
~/mindmap/other_data.md:41:41
~/mindmap/other_data.md:57:57

返回的文件列表将格式为 file_path:line_number:column_number

mindmap.nvim 是一个 Neovim 插件,允许您快速搜索和编辑您的 MindMap 笔记。

依赖项

~66MB
~1M SLoC