这是一个示例,用于将markdown文档嵌入并矢量化,以便通过MCP使用RAG进行解释。
矢量化使用了Plamo-Embedding-1B。
首先,将要作为搜索目标的markdown文件放置在特定目录中,并使用以下命令将其转换为Parquet文件。
uv run main.py --directory ~/path/to/markdown/files --parquet vectors.parquet
运行以下命令以生成单个二进制文件,该文件将作为dist/server。
uv run pyinstaller --clean --strip --noconfirm --onefile server.py
根据需要使用的客户端进行相应设置。
如果是Claude Desktop,则如下所示:
VECTOR_PARQUET应指定为之前转换的文件。
uv run mcp install server.py -v VECTOR_PARQUET=/path/to/vectors.parquet
配置如下所示:
{
"mcpServers": {
"DuckDB-RAG-MCP-Sample": {
"command": "/path/to/dist/server",
"env": {
"VECTOR_PARQUET": "/path/to/vectors.parquet"
}
}
}
}
uv run mcp dev server.py
DuckDB RAG MCP 示例是在Apache License, Version 2.0下提供的。