图像语义搜索服务器

Colpali MCP Server 是一个基于Python的MCP服务器,用于通过自然语言查询在图像数据库中进行语义搜索,支持图像和PDF的索引及多模态嵌入。

  • by camillebrl
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 camillebrl/colpali_mcp_server

使用说明

Colpali MCP服务器-Python

模型上下文协议(MCP)服务器,用于使用Colpali和Elasticsearch对图像数据库执行检索。

🚀 功能

  • 图像语义搜索 :使用自然语言查询查找相关图像
  • 图像和PDF索引 :自动索引单个图像或完整PDF
  • 嵌入multimodaux :使用 ColPali 的 生成结合视觉和语言的丰富嵌入
  • 库存可扩展 :Elasticsearch用于高效存储和搜索
  • API MCP标准 :与任何MCP客户端兼容

📋 先决条件

  • Python 3.10+
  • Elasticsearch 8.0+
  • Colpali推荐的GPU(也适用于CPU)

🔧 安装

git clone https://github.com/camillebrl/colpali_server
cd colpali_server
make install

🎯 使用

将mcp客户端添加到mcp.json:

{
  "mcpServers": {
    "colpali-server": {
          "command": "path to colpali_server/start_server.sh"
          "env": {
            "ES_HOST": "localhost:9200", # adapt to your elasticsearch hostname
            "ES_USER": "elastic", # adapt to your elasticsearch username
            "ES_PASSWORD": "mot_de_passe_elasticsearch" # adapt to your elasticsearch password
          }
    }
  }
}

与MCP客户端一起使用

服务器公开以下工具:

🔍 search_images

在数据库中搜索相关图像。

{
  "tool": "search_images",
  "arguments": {
    "query": "schéma d'architecture réseau",
    "top_k": 5
  }
}

📥 index_image

索引数据库中的新图像。 请注意,文件夹中的图像被索引为1乘1(批大小为1)。如果您可以访问更好的GPU,请尝试更大的batch-size。

{
  "tool": "index_image",
  "arguments": {
    "image_path": "/path/to/image.png",
    "source_file": "architecture.pdf",
    "page_number": 3,
    "metadata": {
      "author": "John Doe",
      "category": "network"
    }
  }
}

📊 get_index_stats

获取索引统计信息。

{
  "tool": "get_index_stats",
  "arguments": {}
}

🗑️ clear_index

完全清空索引(警告:不可逆)。

{
  "tool": "clear_index",
  "arguments": {
    "confirm": true
  }
}

调试

要查看服务器日志:

tail -n 1000 /tmp/colpali_mcp_startup.log

📚 资源

备注

如果您有更多的GPU容量,请将search-screenshots工具的image-rag-server.py中的maximul-top-k更改为+(取决于您的资源)。因为这实际上是VLM MCP服务器工具搜索输入的最大图像数。