Skip to main content
Glama

Dingo MCP Server

by MigoXLab
artimuse.md4.73 kB
# Artimuse 图像质量评估规则 ## 概述 在介绍规则之前,先简要说明 ArtiMuse: ArtiMuse 是一个面向图像美学质量评估(Image Aesthetics Assessment, IAA)的在线模型/服务,能够输出整体美学分数并提供细粒度、可解释的评估信息,适用于作品筛选、内容推荐等场景。论文:[ArtiMuse: Fine-Grained Image Aesthetics Assessment with Joint Scoring and Expert-Level Understanding](https://arxiv.org/abs/2507.14533)。 RuleImageArtimuse 基于 ArtiMuse 在线服务对输入图片进行美学质量评估。规则会创建评估任务并轮询状态,取得总体分数及服务端返回的细粒度信息;随后与阈值比较,给出 Good/Bad 判定,并在结果中回传完整的可解释信息。 本文档的测试图片均由 Google Gemini 2.5 Flash Image(社区常称 “nano‑banana”)按提示词生成,后经人工筛选整理并托管在 OpenXLab;完整清单见 [test/data/artimuse/test_artimuse_nano_banana.jsonl](../test/data/artimuse/test_artimuse_nano_banana.jsonl)。我们将这批样例汇总为迷你集合 nano_banana,覆盖人像、室内、产品、电商、插画等多种风格,便于快速复现。 在仓库根目录运行 `python [examples/artimuse/artimuse.py](../examples/artimuse/artimuse.py)` 可完成评估;如设置 `output_path`,将在该目录生成带时间戳与短 ID 的子目录,包含 `summary.json` 与逐条明细。可用 `python -m dingo.run.vsl --input <输出目录>` 打开可视化页面。 判定基于 `data.score_overall` 与阈值 `threshold`:低于阈值为 BadImage,否则为 GoodImage;服务端 `data` 原样写入 `reason[0]` 便于溯源。结合 nano_banana 的样例,低分多见于贴纸或合成画面写实性不足、Logo/文字遮挡主体、风格迁移过强导致色彩与细节失真、截图噪声多而缺乏摄影要素、纯 Logo 缺少摄影主体、以及过度后期造成的不自然等情况;应尽量突出主体、控制曝光与清晰度、减少压缩与过重滤镜、移除干扰元素,并保持整体风格一致。 ## 规则配置 - **规则名称**: `QUALITY_BAD_IMG_ARTIMUSE` - **阈值配置**: 范围 0 - 10,默认阈值为 6 分(可配置) - **API 端点**: `https://artimuse.intern-ai.org.cn/` ## 核心方法 ### `eval(cls, input_data: Data) -> ModelRes` 这是规则的主要评估方法,接收包含图像 URL 的 `Data` 对象,返回评估结果。 #### 参数 - `input_data`: 包含图像 URL 的 Data 对象 - `data_id`: 数据标识符 - `content`: 图像的网络 URL(本规则仅读取该字段) #### 处理流程 1. **创建评估任务** - 向 ArtiMuse 接口 POST `{refer_path}/api/v1/task/create_task` - 请求体包含图片地址,内部固定 `style=1` 2. **获取任务状态** - 先等待 5 秒 - 之后每 5 秒 POST `{refer_path}/api/v1/task/status` 查询一次,直到 `phase == "Succeeded"` - 代码未设置请求超时,也未限制最大轮询次数 3. **返回评估结果** - 读取 `score_overall` 与阈值比较,低于阈值判定为 `BadImage`,否则为 `GoodImage` - 将服务端返回的 `data` 以字符串化 JSON 放入 `reason` #### 返回值 返回 `ModelRes` 对象,包含以下属性: - `error_status`: 布尔值,表示图像质量是否不合格(低于阈值) - `type`: 评估结果类型("Artimuse_Succeeded" 或 "Artimuse_Fail") - `name`: 评估结果名称("BadImage" 或 "GoodImage" 或 "Exception") - `reason`: 包含详细评估信息或异常信息的数组(字符串化 JSON) ## 异常处理 当评估过程中发生异常时,返回的 `ModelRes` 对象将包含: - `error_status`: `False` - `type`: `"Artimuse_Fail"` - `name`: `"Exception"` - `reason`: 包含异常信息的数组 ## 使用示例 ```python # 创建测试数据 data = Data( data_id='1', content="https://example.com/image.jpg" ) # 执行评估 res = RuleImageArtimuse.eval(data) # 输出结果 print(res) ``` ## 依赖项 - `requests`: 用于发送 HTTP 请求 - `time`: 用于控制请求间隔 - `json`: 用于处理返回的 JSON 数据 ## 注意事项 1. 确保提供的图像 URL 可公开访问(避免鉴权、重定向或短链失效) 2. 首次查询前等待 5 秒,之后每 5 秒轮询一次;总耗时取决于服务端完成时间 3. 阈值与接口端点可通过 `dynamic_config` 调整:`threshold` 与 `refer_path` ## 错误排查 如果评估失败,可能的原因包括: 1. 网络连接问题 2. ArtiMuse 服务不可用 3. 图像 URL 不可访问 4. 服务端长时间无响应或不可达 建议在使用前确保网络环境稳定,并验证图像 URL 的有效性。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MigoXLab/dingo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server