Optuna MCP服务器
  ](https://github.com/optuna/optuna-mcp) 
A. 模型上下文协议(MCP) 使用自动化优化和分析的服务器 奥普图纳.
用例
例如,Optuna MCP服务器可用于以下用例。
- LLM的自动超参数优化
- 通过聊天界面对Optuna的优化结果进行交互式分析
- 优化其他MCP工具的输入和输出
有关详细信息,请参阅 示例部分.
安装
Optuna MCP服务器可以使用以下方式安装 uv 或者Docker。 本节介绍如何使用Claude Desktop作为示例MCP客户端安装Optuna MCP服务器。
紫外线使用
在开始安装过程之前,请先安装 uv 从 星体.
然后,将Optuna MCP服务器配置添加到MCP客户端。 要将其包含在Claude Desktop中,请转到Claude>设置>开发人员>编辑配置> claude_desktop_config.json 并添加以下内容:
{
"mcpServers": {
"Optuna": {
"command": "/path/to/uvx",
"args": [
"optuna-mcp"
]
}
}
}此外,您可以使用以下命令指定Optuna存储 --storage 坚持结果的论点。
{
"mcpServers": {
"Optuna": {
"command": "/path/to/uvx",
"args": [
"optuna-mcp",
"--storage",
"sqlite:///optuna.db"
]
}
}
}添加此内容后,请重新启动Claude Desktop应用程序。 有关Claude Desktop的更多信息,请查看 快速入门页面.
使用Docker
您还可以使用Docker运行Optuna MCP服务器。确保你的机器上安装并运行了Docker。
{
"mcpServers": {
"Optuna": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--net=host",
"-v",
"/PATH/TO/LOCAL/DIRECTORY/WHICH/INCLUDES/DB/FILE:/app/workspace",
"ghcr.io/optuna/optuna-mcp:latest",
"--storage",
"sqlite:////app/workspace/optuna.db"
]
}
}
}Optuna MCP提供的工具
Optuna MCP提供以下工具。 具体来说,它提供了Optuna的基本功能,如研究、试验、可视化和仪表板。 由于MCP客户端知道工具列表和每个工具的详细信息,因此用户不需要记住这些详细信息。
学习
- 创建学习 -使用给定的研究名称和方向创建新的Optuna研究。
如果研究已经存在,则只需加载即可。 - study_name :研究名称(字符串,必填)。 - directions:优化方向(文本字符串列表最小化/最大化,可选)。
- set_sampler -为研究设置采样器。
- name :采样器的名称(字符串,必填)。
- get_all_study_names -从存储器中获取所有研究名称。
- set_metrc_names -设置度量名称。Metric_names是用于区分每个目标值的标签。
- metric_names :每个目标的度量名称列表(字符串列表,必填)。
- get_metrc_names -获取metric_names。
- 无需参数。
- get_directions -了解研究方向。
- 无需参数。
- 获取样本 -以CSV格式获取所有试验。
- 无需参数。
- 最佳试验 -得到最好的审判。
- 无需参数。
- 最佳材料 -研究中位于帕累托前沿的回归试验。
- 无需参数。
试用
- 问 -使用Optuna建议新参数。
- search_space :Optuna的搜索空间(字典,必填)。
- 告诉 -报告试验结果。
- trial_number :试验编号(整数,必填)。 - values :试验结果(浮点数或浮点数列表,必填)。
- set_trial_user_attr -设置试用的用户属性。
- trial_number:试验编号(整数,必填)。 - key:用户属性的键(string,必填)。 - value:用户属性的值(任何类型,必填)。
- 获取试用版 -在试用中获取用户属性。
- trial_number:试验编号(整数,必填)。
可视化
- 绘图优化历史 -将优化历史图作为图像返回。
- target:index指定要显示的值(整数,可选)。 - target_name:要在轴标签上显示的目标名称(字符串,可选)。
- plot_hypervolume_历史 -将超容积历史图作为图像返回。
- reference_point :计算超体积的参考点列表(浮点数列表,必填)。
- plot_pareto_front -将帕累托前沿图作为多目标优化的图像返回。
- target_names:用作轴标题的目标名称列表(字符串列表,可选)。 - include_dominated_trials:一个包含所有主导试验目标值的标志(布尔值,可选)。 - targets:用于指定要显示的目标值的索引列表。(整数列表,可选)。
- plot_contour -将轮廓图作为图像返回。
- params :要可视化的参数列表(字符串列表,可选)。 - target :一个索引,用于指定要显示的值(整数,必填)。 - target_name :要在颜色栏上显示的目标名称(字符串,必填)。
- plot_parallel坐标 -将平行坐标图作为图像返回。
- params :要可视化的参数列表(字符串列表,可选)。 - target :一个索引,用于指定要显示的值(整数,必填)。 - target_name :要显示在轴标签和图例上的目标名称(字符串,必填)。
- plot_slice -将切片图作为图像返回。
- params :要可视化的参数列表(字符串列表,可选)。 - target :一个索引,用于指定要显示的值(整数,必填)。 - target_name :要在轴标签上显示的目标名称(字符串,必填)。
- plot_param_重要性 -以图像形式返回参数重要性图。
- params :要可视化的参数列表(字符串列表,可选)。 - target :用于指定要显示的值的索引(integer/null,可选)。 - target_name :要在图例上显示的目标名称(字符串,必填)。
- plot_edf -将EDF图作为图像返回。
- target :一个索引,用于指定要显示的值(整数,必填)。 - target_name :要在轴标签上显示的目标名称(字符串,必填)。
- plot_timeline -将时间线图作为图像返回。
- 无需参数。
- plot_rank -将排名图作为图像返回。
- params :要可视化的参数列表(字符串列表,可选)。 - target :一个索引,用于指定要显示的值(整数,必填)。 - target_name :要在颜色栏上显示的目标名称(字符串,必填)。
Web仪表板
- launch_optuna_dashboard -启动Optuna仪表板。
- port:服务器端口(整数,可选,默认值:58080)。
例子
优化二维球面函数
在这里,我们展示了一个优化2D Sphere函数的简单示例,以及示例提示和LLM响应的摘要。
|用户提示|克劳德输出| | - | - | |(启动克劳德桌面)| | |请创建一个名为“Optimize-2D-Sphere”的Optuna研究,以最小化。 | | |请在\[-1,1\]中建议两个浮点参数x,y。 | | |请报告目标值x\*\*2+y\*\*2。要计算该值,请使用JavaScript解释器,不要对值进行四舍五入。 | | |请建议另一个参数集并对其进行评估| | |请绘制到目前为止的优化历史。 | |
启动Optuna仪表板并分析优化结果
您还可以启动 Optuna仪表板 通过MCP服务器以交互方式分析优化结果。
|用户提示|克劳德输出| | - | - | |请启动Optuna仪表板。 | |
默认情况下,Optuna仪表板将在端口58080上启动。 您可以通过导航到来访问它 http://localhost:58080 在您的网络浏览器中,如下图所示:
Optuna仪表板提供各种可视化功能来分析优化结果,如优化历史、参数重要性等。
FFmpeg编码参数的优化
此演示展示了如何使用Optuna MCP服务器自动找到最佳的FFmpeg编码参数。它优化了x264编码选项,以最大限度地提高视频质量(通过SSIM分数衡量),同时保持编码时间合理。
结账 示例/ffmpeg 了解详情。
优化Cookie配方
在这个例子中,我们将参考题为“贝叶斯优化法优化甜点".
结账 示例/饼干食谱 了解详情。
优化Matplotlib配置
Default and optimized figures by Optuna MCP.
此示例优化了Matplotlib配置。
结账 examples/automatplotlib 了解详情。
许可证
MIT许可证(见 许可证).
