parquet_mcp_server
**摘要:** parquet_mcp_server 是一个用于从 Parquet 文件生成文本嵌入的 Python 服务器,支持 NLP 任务和 ML 工作流,并与 Claude Desktop 集成。
安装
# 克隆仓库
git clone ...
cd parquet_mcp_server
# 创建并激活虚拟环境
uv venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS/Linux
# 安装包
uv pip install -e .
环境配置
创建一个包含以下内容的 .env
文件:
EMBEDDING_URL=https://your-ollama-server/v1/embeddings
OLLAMA_URL=https://your-ollama-server
使用方法
1. 与 Claude Desktop 集成
将以下内容添加到 claude_desktop_config.json
文件中:
{
"mcpServers": {
"parquet-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/home/${USER}/workspace/parquet_mcp_server/src/parquet_mcp_server",
"run",
"main.py"
]
}
}
}
2. 使用测试客户端
# 创建样本 Parquet 文件
import pandas as pd
df = pd.DataFrame({'text': ['这是一个测试', '另一个测试句子']})
df.to_parquet('sample.parquet')
# 运行测试客户端
python src/test_mcp_embedding.py '{
"input_path": "sample.parquet",
"output_path": "output.parquet",
"column_name": "text",
"embedding_column": "embeddings"
}'
# 验证输出
df = pd.read_parquet('output.parquet')
print('列:', df.columns.tolist())
print('嵌入大小:', len(df['embeddings'].iloc[0]))
3. 使用代理接口
python src/parquet_mcp_server/client.py
示例提示:
- "请将 'input.parquet' 文件中的 'text' 列嵌入,并将输出保存到 'output.parquet'"
- "为 'data.parquet' 文件中的 'description' 列生成嵌入,并将其作为 'vectors' 保存到 'result.parquet'"
故障排除
-
SSL 验证错误:在
.env
文件中添加:PYTHONWARNINGS=ignore:Unverified HTTPS request REQUESTS_CA_BUNDLE="" CURL_CA_BUNDLE="" SSL_CERT_VERIFY=false
-
无嵌入生成:确认 Ollama 服务器正在运行、指定模型可用、输入文件格式正确
输出格式
嵌入作为 NumPy 数组保存在 Parquet 文件的指定列中,保留原始文本数据。