资讯动态

my_ml_service 机器学习 REST API 完整参考清单:7 个接口、参数与响应字段一次讲透

发布时间:2026/8/27 15:22:47 来源:尧图企业网站定制
my_ml_service 机器学习 REST API 完整参考清单7 个接口、参数与响应字段一次讲透【免费下载链接】my_ml_serviceMy Machine Learning Web Service项目地址: https://gitcode.com/gh_mirrors/my/my_ml_servicemy_ml_service 是一个基于 Django Django REST Framework 的机器学习模型 Web 服务通过 REST API 对外提供模型预测、版本管理、请求审计和 A/B 测试能力。本文是它的完整接口参考清单所有 URL、查询参数、请求体字段和响应字段一网打尽帮你快速集成自己的 ML 服务。一、接口总览一张表看懂全部 API所有接口统一挂载在/api/v1/前缀下路由定义见 urls.py。注意该服务使用了trailing_slashFalse接口路径不带末尾斜杠。方法路径功能GET/api/v1/endpoints列出所有 ML 端点GET/api/v1/endpoints/{id}获取端点详情GET/api/v1/mlalgorithms列出所有 ML 算法GET/api/v1/mlalgorithms/{id}获取算法详情GET / POST/api/v1/mlalgorithmstatuses查询/创建算法状态GET / PUT / PATCH/api/v1/mlrequests查询请求记录 / 提交反馈GET / POST / PUT / PATCH/api/v1/abtestsA/B 测试的查询与创建POST/api/v1/{endpoint_name}/predict⭐ 模型预测核心接口POST/api/v1/stop_ab_test/{ab_test_id}结束 A/B 测试并结算胜者二、模型预测接口如何调用 ML 预测 REST API请求POST /api/v1/income_classifier/predict请求体为 JSON实现见 views.py 中的PredictView约 L74-L115。2.1 查询参数一览参数必填默认值说明status否production算法状态可选production/testing/staging/ab_testingversion否—指定算法版本号当同状态存在多个版本时必须指定2.2 请求体字段Adult-Income 数据集14 个特征字段类型示例age数字37workclass字符串Privatefnlwgt数字34146education字符串HS-gradeducation-num数字9marital-status字符串Married-civ-spouseoccupation字符串Craft-repairrelationship字符串Husbandrace字符串Whitesex字符串Malecapital-gain数字0capital-loss数字0hours-per-week数字68native-country字符串United-States2.3 响应字段成功时HTTP 200字段说明status固定为OKlabel预测标签50K或50Kprobability预测为正类的概率值request_id本次请求的审计记录 ID用于后续反馈失败时HTTP 400返回{status: Error, message: ...}常见原因有两条ML algorithm is not available该端点下没有匹配status且处于激活状态的算法ML algorithm selection is ambiguous同状态存在多个版本算法请在查询参数中指定version。 每次预测都会被自动落库为一条MLRequest记录这是后续审计与 A/B 测试结算的数据基础。三、端点与算法管理接口查询参数与响应字段3.1 列出端点 / 算法只读GET /api/v1/endpoints与GET /api/v1/mlalgorithms均为只读列表 按 ID 查询接口无额外查询参数。响应字段见 serializers.pyEndpointid、name预测 URL 中的端点名、owner、created_atMLAlgorithmid、name、description、code算法源码、version、owner、created_at、parent_endpoint、current_status自动计算的当前最新状态3.2 创建算法状态POST /api/v1/mlalgorithmstatuses请求体字段statustesting/staging/production/ab_testing、created_by、parent_mlalgorithm算法 ID。id与active为只读字段。 关键行为创建后新状态自动置为activeTrue同算法的旧状态会被批量置为失效原子事务完成保证每个算法任一时刻只有一个生效状态。四、请求审计接口如何查看与反馈预测记录GET /api/v1/mlrequests返回所有历史预测记录字段包括id、input_data入参 JSON 字符串、full_response完整响应、response标签、feedback反馈初始为空、created_at、parent_mlalgorithm。对单条记录执行PUT/PATCH /api/v1/mlrequests/{id}时唯一可写字段是feedback——把实际结果写回后A/B 测试即可用它结算准确率。五、A/B 测试接口创建实验与自动结算胜者5.1 创建 A/B 测试POST /api/v1/abtests请求体字段title、created_by、parent_mlalgorithm_1、parent_mlalgorithm_2两个待对比算法的 ID。只读字段id、created_at、ended_at、summary。创建时服务会自动把这两个算法的状态切换为ab_testing并激活事务保证。5.2 结束测试并选出胜者POST /api/v1/stop_ab_test/{ab_test_id}成功响应{message: AB Test finished., summary: Algorithm #1 accuracy: x, Algorithm #2 accuracy: y}胜者准确率高者自动切回production败者转为testing重复调用返回AB Test already finished.异常时返回 HTTP 400 与错误信息。准确率计算逻辑见 views.py 中StopABTestView约 L152-L204。六、快速上手3 步完成首次预测调用获取端点名GET /api/v1/endpoints示例项目内置端点为income_classifier发起预测向/api/v1/income_classifier/predict发送上文 14 个字段的 JSON查看记录拿响应中的request_id到/api/v1/mlrequests/{id}核对入参、响应并补交feedback。七、关键源码位置速查 内容文件路由注册backend/server/apps/endpoints/urls.py各接口的视图实现backend/server/apps/endpoints/views.py响应字段序列化器backend/server/apps/endpoints/serializers.py数据模型定义backend/server/apps/endpoints/models.py算法注册表backend/server/apps/ml/registry.py内置算法启动加载backend/server/server/wsgi.py随机森林分类器示例backend/server/apps/ml/income_classifier/random_forest.py掌握这份清单后你就能用 my_ml_service 的 REST API 完成从预测调用、版本管理到 A/B 实验结算的完整闭环。【免费下载链接】my_ml_serviceMy Machine Learning Web Service项目地址: https://gitcode.com/gh_mirrors/my/my_ml_service创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价