You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MindsDB与MQL在MongoDB实例中实现零样本分类?

用MQL结合MindsDB实现零样本分类的方案

目前MindsDB对MongoDB的集成中,直接用MQL创建模型的官方支持暂未提供,但可以通过以下方式实现需求,无需全程依赖SQL:

1. 核心思路

先通过MindsDB的SQL接口创建模型,之后在MongoDB中用MQL直接调用该模型完成预测——因为MindsDB会将创建好的模型作为虚拟集合挂载到你的MongoDB实例中,后续可以像操作普通集合一样用MQL查询。

2. 具体步骤

步骤1:用SQL创建模型(仅需一次)

在MindsDB支持的SQL环境中执行你提供的创建语句(比如MindsDB Studio、MindsDB CLI,或者连接MindsDB的SQL客户端):

CREATE MODEL mindsdb.hf_zs_bart
PREDICT PRED
USING
 engine = 'huggingface',
 task = 'zero-shot-classification',
 model_name = 'facebook/bart-large-mnli',
 input_column = 'text',
 candidate_labels = ['Books', 'Household', 'Clothing & Accessories', 'Electronics'];

等待模型训练完成(可在MindsDB Studio中查看状态)。

步骤2:用MQL在MongoDB中调用模型

模型创建完成后,你可以在MongoDB Compass或其他MQL环境中直接操作hf_zs_bart这个虚拟集合:

单条数据预测

db.hf_zs_bart.find(
  { text: "无线蓝牙降噪耳机" }, // 替换为你的待分类文本
  { PRED: 1, _id: 0 } // 仅返回预测结果
)

批量处理现有网店数据

假设你的网店数据存在shop_products集合中,文本字段为product_desc,可以用聚合管道关联模型做批量分类:

db.shop_products.aggregate([
  {
    $lookup: {
      from: "hf_zs_bart",
      localField: "product_desc",
      foreignField: "text",
      as: "classification"
    }
  },
  { $unwind: "$classification" },
  {
    $project: {
      product_name: 1,
      original_desc: "$product_desc",
      predicted_category: "$classification.PRED"
    }
  }
])

3. 常见疑问解答

  • 是否需要先用SQL实现再切换为MQL?
    不需要“切换”,而是模型创建用SQL(MindsDB的模型管理核心依赖SQL接口),预测查询全程用MQL,两者是无缝打通的,因为模型会被映射为MongoDB的集合。
  • 有没有纯MQL创建模型的方式?
    目前官方未提供直接用MQL创建MindsDB模型的语法,上述方案是当前最简便的实现方式。

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 15:35:27