零基础掌握文本相似度 API:参数解析与代码示例

📅 2026/7/16 14:08:14
零基础掌握文本相似度 API:参数解析与代码示例
适用场景文本相似度比对是开发中常见的基础能力典型场景包括评论/内容查重检测用户提交的评论是否与已有内容高度重复维护社区秩序。AI 生成内容检测通过对比生成文本与训练数据或已知模板的相似度辅助判断内容来源。多语言翻译质量评估将原文与回译后的文本进行相似度计算作为翻译一致性的参考指标。客服话术匹配在知识库中查找与用户提问最相似的标准话术提升自动回复的准确率。接口能力边界本接口为纯本地计算无外部上游依赖平均响应时间低于 100ms单次请求 QPS 限制为 10 次/秒。输入要求两段文本每段长度限制 15000 字符中英文均按 1 字符计。若单段文本超过 500 字符系统会自动截取前 500 字符进行计算并在返回字段中标记truncated: true同时按比例还原整体评分结果即最终得分已换算至原文本长度。最坏情况下5000×5000 字符比对耗时约 60–80ms。接口输出四种独立指标及加权综合评分同时提供五级可读评级方便直接使用。请求参数与鉴权HTTP 请求请求方法POST请求地址https://v1.apizero.cn/api/text-similarityHeader 参数参数名是否必填类型说明示例Authorization否stringAPI Key 鉴权头格式Bearer sk_live_xxx匿名调用时可省略每日 100 次调用次数限制Bearer sk_live_xxxxxxxxxxxxxxContent-Type否string支持application/x-www-form-urlencoded或application/jsonapplication/json注意匿名调用不需要携带 Authorization 头系统会统计 IP 日调用次数推荐在生产环境中使用 API Key 鉴权避免限流风险。请求体Body请求体为 JSON 对象包含两个必填字段字段类型必填说明示例text1string是第一段文本1–5000 字符今天天气不错适合出门散步text2string是第二段文本1–5000 字符今天天气真好适合出门走走完整请求体示例{ text1: 今天天气不错适合出门散步, text2: 今天天气真好适合出门走走 }代码接入curl 示例下面给出一个可以直接在终端运行的 curl 请求替换 API Key 为你的真实密钥若匿名调用可去掉Authorization头curl -sS \ -X POST \ -H Authorization: Bearer sk_live_YOUR_API_KEY \ -H Content-Type: application/json \ -d {text1: 今天天气不错适合出门散步, text2: 今天天气真好适合出门走走} \ https://v1.apizero.cn/api/text-similarity成功响应示例精简后{ code: 0, msg: 成功, request_id: abc123def456, data: { text1_length: 13, text2_length: 13, truncated: false, metrics: { cosine: 0.5833, jaccard: 0.4118, edit_distance: 4, edit_similarity: 0.6923, lcs_length: 12, lcs_similarity: 0.9231 }, weighted_score: 0.6471, similarity_level: moderately_similar, level_name: 中度相似 } }返回值字段解读响应体中data字段包含以下信息字段类型说明text1_lengthint第一段文本实际字符数text2_lengthint第二段文本实际字符数truncatedbool是否因长度超过 500 字符而被截取计算metrics.cosinefloat余弦相似度权重 35%基于词向量空间夹角metrics.jaccardfloatJaccard 系数权重 25%基于字符集合的交并比metrics.edit_distanceint编辑距离Levenshtein 原始值metrics.edit_similarityfloat编辑距离归一化相似度权重 20%公式1 - edit_distance / max(len1,len2)metrics.lcs_lengthint最长公共子序列长度metrics.lcs_similarityfloatLCS 比率权重 20%公式lcs_length / max(len1,len2)weighted_scorefloat加权综合评分 0.35cosine 0.25jaccard 0.20edit_similarity 0.20lcs_similaritysimilarity_levelstring五级评级枚举值almost_same,highly_similar,moderately_similar,slightly_similar,very_differentlevel_namestring中文评级名称几乎相同、高度相似、中度相似、轻度相似、差异较大评级阈值由接口内部算法根据weighted_score映射具体区间可参照文档说明。常见错误与异常处理HTTP 状态码code字段含义排查方向2000成功–400400请求参数错误检查text1/text2是否为字符串长度是否在 1–5000 范围内JSON 格式是否正确。401401鉴权失败检查Authorization头格式是否为Bearer sk_live_...密钥是否有效。429429请求频率超限当前 IP 或 API Key 的 QPS 超过 10 次/秒请适当降低请求速率。500500服务器内部错误若持续出现可携带request_id联系技术支持。响应体中msg字段会给出具体错误描述例如text1 is required或text2 must be a string。开发者可在客户端代码中统一根据code字段做分支处理。工程化注意事项重复调用优化接口无状态且响应极快100ms适合在用户输入后实时计算。但若需要批量比对如百万级数据库记录建议将 API 调用封装为异步队列避免阻塞主线程。字符长度验证前端发送请求前应校验text1/text2是否为空或超过 5000 字符减少无效请求。后端也应做好截断逻辑——当前接口已内置超过 500 字符自动截取并缩放评分放心使用。匿名调用额度匿名调用每日 100 次适合开发调试或低频率场景。上线后建议申请 API Key避免共享 IP 被限流。数据安全请求内容在传输层已加密HTTPS但每次请求仍会记录文本内容仅在服务端临时用于计算不持久化存储。若涉及敏感数据可在应用层先摘要化如 hash 后比对指纹但需注意准确性降低。结果缓存对于固定预置文本如标准话术库可事先调用 API 生成两两相似度矩阵并缓存到本地数据库避免重复请求。参考文档文本相似度 API 开发者文档原始 Markdown 文档