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服务器工具搜索输入的最大图像数。
