DataJuicer-模型数据处理-MCP
Data-Juicer 是一个一站式系统,用于处理文本和多模态数据,适用于基础模型。Data-Juicer MCP 服务器提供数据处理算子,以协助完成数据清洗、过滤、去重等任务。
服务介绍
MCP服务器
概览
Data-Juicer MCP 服务器提供数据处理算子,以协助完成数据清洗、过滤、去重等任务。
为了适应不同的使用场景,我们提供两种服务器供选用:
- Recipe-Flow(数据菜谱): 允许根据算子的类型和标签进行筛选,并支持将多个算子组合成一个数据菜谱来运行。
- Granular-Operators(细粒度算子): 将每个算子作为一个独立的工具提供,可以灵活地通过环境变量指定需要使用的算子列表,从而构建定制化的数据处理管道。
请注意,Data-Juicer MCP 服务器目前处于早期开发阶段。其功能和可用工具可能会随着我们继续开发和改进服务器而发生变化和扩展。
支持两种部署方式:stdio 和 SSE 。 stdio 方法不支持多进程。如果需要多进程或多线程功能,则必须使用 SSE 部署方法。 以下提供了每种方法的配置详细信息。
Recipe-Flow
-
get_data_processing_ops- 根据指定的类型和标签检索可用的数据处理算子列表(若不指定,则返回全部算子)
- 输入:
op_type(str, optional): 要检索的数据处理算子类型tags(List[str], optional): 用于过滤算子的标签列表match_all(bool): 是否所有指定的标签都必须匹配。默认为 True
- 返回:包含可用算子详细信息的字典
-
run_data_recipe- 执行数据菜谱
- 输入:
dataset_path(str): 要处理的数据集路径process(List[Dict]): 要执行的处理步骤列表,字典包含算子名称和参数字典export_path(str, optional): 导出数据集的路径,默认为 None,这意味着数据集将导出到 './outputs'
- 返回:执行结果的字符串
针对特定数据处理请求,MCP client 应先调用get_data_processing_ops获取相关的算子信息,从中选择匹配需求的算子,然后调用run_data_recipe运行选择的算子组合。
配置
以下配置示例演示了如何使用 stdio 和 SSE 方法设置 Recipe-Flow 服务器。 这些示例仅用于说明目的,应根据特定 MCP 客户端的配置格式进行调整。
stdio
将以下内容添加到 MCP 客户端的配置文件中(例如,claude_desktop_config.json 或类似的配置文件):
"mcpServers": {
"DJ_recipe_flow": {
"transport": "stdio",
"command": "/path/to/python",
"args": [
"/path/to/data_juicer/tools/DJ_mcp_recipe_flow.py"
],
"env": {
"SERVER_TRANSPORT": "stdio"
}
}
}
SSE
要使用 SSE 部署,首先需要单独启动 MCP 服务器。
-
运行 MCP 服务器:执行 MCP 服务器脚本,指定端口号:
python /path/to/data_juicer/tools/DJ_mcp_recipe_flow.py --port=8080 -
配置您的 MCP 客户端:将以下内容添加到 MCP 客户端的配置文件中:
"mcpServers": { "DJ_recipe_flow": { "url": "http://127.0.0.1:8080/sse" } }
注意:
- URL:
url应指向正在运行的服务器的 SSE 端点(通常为http://127.0.0.1:<port>/sse)。 如果在启动服务器时使用了不同的值,请调整端口号。 - 单独的服务器进程:SSE 服务器必须在 MCP 客户端尝试连接之前运行。
- 防火墙:确保防火墙允许连接到指定的端口。
Granular-Operators
默认情况下,该 MCP 服务器将返回所有Data-Juicer算子工具,每个工具都独立运行。
可通过指定环境变量 DJ_OPS_LIST_PATH 控制 MCP 服务器返回的算子工具:
- 创建一个
.txt文件。 - 将算子名称添加到文件中,例如:ops_list_example.txt。
- 将算子列表的路径设置为环境变量
DJ_OPS_LIST_PATH。
配置
以下配置示例演示了如何使用 stdio 和 SSE 方法设置 Granular-Operators 服务器。 这些示例仅用于说明目的,应根据特定 MCP 客户端的配置格式进行调整。
stdio
将以下内容添加到 MCP 客户端的配置文件中:
"mcpServers": {
"DJ_granular_ops": {
"transport": "stdio",
"command": "/path/to/python",
"args": [
"/path/to/data_juicer/tools/DJ_mcp_granular_ops.py"
],
"env": {
"DJ_OPS_LIST_PATH": "/path/to/ops_list.txt",
"SERVER_TRANSPORT": "stdio"
}
}
}
SSE
要使用 SSE 部署,首先需要单独启动 MCP 服务器。
-
设置环境变量:确保已设置服务器所需的任何环境变量,例如
DJ_OPS_LIST_PATH。 -
运行 MCP 服务器:执行 MCP 服务器脚本,指定端口号:
python /path/to/data_juicer/tools/DJ_mcp_granular_ops.py --port=8081 -
配置 MCP 客户端:将以下内容添加到 MCP 客户端的配置文件中:
"mcpServers": { "DJ_granular_ops": { "url": "http://127.0.0.1:8081/sse" } }
注意:
- URL:
url应指向正在运行的服务器的 SSE 端点(通常为http://127.0.0.1:<port>/sse)。 如果在启动服务器时使用了不同的值,请调整端口号。 - 单独的服务器进程:SSE 服务器必须在 MCP 客户端尝试连接之前运行。
- 防火墙:确保防火墙允许连接到指定的端口。
查找你的 Python 路径
要查找 Python 可执行文件路径,请使用以下命令:
Windows (Command Prompt/Terminal):
where python
Linux/macOS (Terminal):
which python