超参数优化服务器

Optuna MCP Server是一个基于Optuna的模型上下文协议服务器,提供自动化超参数优化和交互式分析功能。

  • by optuna
  • Python
  • 本地部署
  • 88 星标
  • 更新于
在 GitHub 查看 optuna/optuna-mcp

使用说明

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许可证(见 许可证).