技术博客
中文文本相似度检测接口返回字段全解:like / likeValue / mostLike / ret_code 一文读懂

中文文本相似度检测接口返回字段全解:like / likeValue / mostLike / ret_code 一文读懂

作者: 万维易源
2026-09-01
返回字段likemostLike接口文档
# 中文文本相似度检测接口返回字段全解:like / likeValue / mostLike / ret_code 一文读懂 > 元信息:接口/接入点 中文文本相似度检测接口(294/1、294/2)· 免费 · 返回格式 JSON · 适用人群 已接入或准备接入的开发者 · 阅读时间 约 6 分钟 ## 核心要点 - 接入点 1(294/1)返回 **`like`**;接入点 2(294/2)返回 **`likeValue` + `mostLike`**——两者字段名不同,切勿混用。 - `ret_code` 业务状态码:0 为成功,非 0 为失败;失败原因看系统级 `showapi_res_error`。 - 系统级字段(`showapi_res_code` / `showapi_res_error` / `showapi_fee_num` / `showapi_res_id`)由平台统一封装,所有接口一致。 ## Why:为什么必须分清字段名 很多开发者在批量场景(接入点 2)里照着单文本示例取 `like`,结果取不到值——因为接入点 2 根本不返回 `like`,而是 `likeValue` 和 `mostLike`。这是真实文档结构差异,不是接口 bug。本文把两个接入点的返回结构一次厘清,避免你反复踩坑。 ## What:接口速览 | 项 | 接入点 1(294/1) | 接入点 2(294/2) | |----|------|------| | 地址 | `route.showapi.com/294-1` | `route.showapi.com/294-2` | | 用途 | 两段文本两两比较 | 1 段文本 vs 一组候选文本 | | 必填参数 | `t1`、`t2`(均为 String) | `t1`(String)、`t2`(**数组**) | | 相似度字段 | `like` | `likeValue` | | 匹配定位字段 | 无(仅返回分值) | `mostLike`(最匹配项下标) | ## How:逐字段解析 ### 接入点 1 返回结构 ```json { "showapi_res_error": "", "showapi_fee_num": 1, "showapi_res_code": 0, "showapi_res_id": "67aaea24fb638c23e1d6fc6b", "showapi_res_body": { "ret_code": 0, "like": 0.8164965809277261 } } ``` | 字段 | 类型 | 含义 | |------|------|------| | `showapi_res_body.ret_code` | Number | 业务状态,0 成功,其他失败 | | `showapi_res_body.like` | Number | 两文本相似度,0~1,越接近 1 越像 | | `showapi_res_error` | String | 系统级错误,成功为空 | | `showapi_res_code` | Number | 系统级状态,0 成功 | | `showapi_fee_num` | Number | 本次消耗计费次数 | | `showapi_res_id` | String | 本次请求唯一 ID | ### 接入点 2 返回结构 ```json { "showapi_res_error": "", "showapi_fee_num": 1, "showapi_res_code": 0, "showapi_res_id": "67aae9f2fb638c23e1c487be", "showapi_res_body": { "mostLike": 0, "ret_code": 0, "likeValue": 1 } } ``` | 字段 | 类型 | 含义 | |------|------|------| | `showapi_res_body.ret_code` | Number | 业务状态,0 成功,其他失败 | | `showapi_res_body.likeValue` | Number | `t1` 与最匹配候选的相似度,0~1 | | `showapi_res_body.mostLike` | Number | **最匹配文本在 `t2` 数组中的下标**(即输入 `t2` 的序号) | > 关键点:`mostLike` 是**下标**,不是相似度。拿到 `mostLike=0` 表示 `t2[0]` 与 `t1` 最相似,相似度用 `likeValue` 读取。 ### Python 取值对照 ```python import requests # 接入点 1 r1 = requests.post("https://route.showapi.com/294-1", params={"appKey": "YOUR_APPKEY"}, data={"t1": "文本A", "t2": "文本B"}, timeout=10).json() b1 = r1["showapi_res_body"] if b1["ret_code"] == 0: score = b1["like"] # 接入点 1 用 like # 接入点 2 r2 = requests.post("https://route.showapi.com/294-2", params={"appKey": "YOUR_APPKEY"}, data={"t1": "文本A", "t2": '["候选一","候选二","候选三"]'}, timeout=10).json() b2 = r2["showapi_res_body"] if b2["ret_code"] == 0: idx = b2["mostLike"] # 最匹配下标 score = b2["likeValue"] # 对应相似度 print("最匹配候选下标:", idx, "相似度:", score) ``` ## 返回示例与解析要点 - 系统级字段永远在外层,业务数据永远在 `showapi_res_body` 内——先判断 `showapi_res_body.ret_code`。 - 非 0 失败的具体原因看 `showapi_res_error`,文档未给出非 0 的具体枚举值,请勿臆测错误码含义。 ## 进阶 / 边界 - 所有返回字段类型固定:`like` / `likeValue` 为 Number,`mostLike` 为 Number(整型下标)。 - 免费接口仍带 `showapi_fee_num` 计费字段,免费档位下通常为 1,仅作消耗计数。 - 无独立的"置信度""分类标签"等扩展字段,接口只产出相似度分值与(批量时)最匹配下标。 ## FAQ **Q1:接入点 1 和接入点 2 的返回值有什么区别?** 接入点 1 返回 `like`(相似度);接入点 2 返回 `likeValue`(相似度)和 `mostLike`(最匹配候选在 t2 数组中的下标)。字段名不同,取数时要对应。 **Q2:ret_code 非 0 代表什么错误?** 文档只定义 `ret_code`:0 为成功,其他为失败,未给出具体的非 0 枚举值。具体失败原因以系统级字段 `showapi_res_error` 的文案为准。 **Q3:mostLike 是相似度吗?** 不是。`mostLike` 是最匹配文本在 `t2` 数组中的**下标序号**;相似度要用 `likeValue` 读取。 **Q4:showapi_res_error 和 ret_code 有什么关系?** `ret_code` 是业务层状态(在 `showapi_res_body` 内);`showapi_res_error` 是平台系统级错误信息(在外层),失败时看它获取原因。 ## 下一步阅读 - [中文文本相似度检测接口:5 分钟从注册到第一条相似度结果](https://www.showapi.com/guides/text-similarity-quickstart-294) - [中文文本相似度检测接口批量匹配:单文本 vs 候选库如何定位最相似项](https://www.showapi.com/guides/text-similarity-batch-294) - [相似度阈值怎么定?用中文文本相似度检测接口做判重的工程实践](https://www.showapi.com/guides/text-similarity-threshold-294) - **本系列共 12 篇**:查看[中文文本相似度检测接口指南总目录](https://www.showapi.com/guides/text-similarity-guides-294)