腾讯云文本内容安全(TMS)对接使用完全指南:从开通服务到生产级部署

apphuang2026年07月05日 10:15:502

1. 腾讯云文本内容安全(TMS)产品概述

文本内容安全(Text Moderation System,TMS)是腾讯云推出的一款基于深度学习技术的文本AI智能识别产品。它能够帮助企业自动识别文本中出现的色情、暴恐、违法、谩骂、广告等风险内容,有效降低人工审核成本,提升内容合规性。

目前,腾讯云TMS提供三大核心服务模块:

  • 文本安全内容服务:检测互联网上常见的文本色情、违法、谩骂、广告等风险,适用于社区评论、直播弹幕、用户资料等通用UGC场景。
  • 文本AI生成识别服务:鉴别文本是否为AI工具生成或改写,适用于教育、小说、传媒等需要区分人工与AI内容的场景。
  • 文本金融大模型审校服务:基于大模型技术,专门应对金融场景中的长文本语义理解与特有风险识别,支持规则定制。

TMS支持中文和英文两种语言的文本审核,文本长度限制为最长10,000个字符(以Unicode编码计量)。默认接口请求频率限制为1000次/秒。对于大多数中小企业和开发者而言,TMS的接入过程极其简单——无需安装额外脚本,通过HTTPS API直接调用,配合多语言SDK,最快30分钟即可完成对接。

需要先登录腾讯云控制台,点击:腾讯云控制台,还没有账号,点击:注册后再关联,已有账号点击:登录后再关联

2. 接入前的准备工作

在正式开始对接腾讯云TMS之前,需要完成以下几项准备工作。

2.1 注册腾讯云账号并完成实名认证

如果还没有腾讯云账号,需要先完成注册。访问腾讯云官网,点击注册按钮,按照提示填写手机号、邮箱等信息完成注册。注册完成后,需进行实名认证——个人认证需提供身份证信息,企业认证需提供营业执照等信息。

2.2 获取API密钥(SecretId和SecretKey)

API密钥是调用腾讯云API的身份凭证,用于对开发者的身份和权限进行校验。获取步骤如下:

  1. 登录腾讯云控制台
  2. 进入"访问管理" > "API密钥管理"
  3. 点击"新建密钥",系统会生成一对密钥:SecretId和SecretKey

需要注意的是,SecretKey请妥善保管,不要硬编码在代码中或提交到代码仓库,建议使用环境变量或密钥管理服务来存储。

2.3 确保账户余额充足

开通TMS服务需要账户余额大于0元。如果账户余额不足,需要先在控制台进行充值。

3. 开通文本内容安全服务

完成准备工作后,即可开通TMS服务。整个过程仅需几分钟。

3.1 开通步骤

  1. 登录内容安全控制台
  2. 在概览页单击"立即开通"
  3. 在弹出的审核服务管理窗口中,选择"文本内容安全服务"
  4. 单击"确定"完成开通

3.2 免费试用权益

新用户首次开通服务后,即可自动获得3000条文本的免费试用包(不含"文本AI生成识别"能力),自开通之日起15天内有效。这对于中小企业和个人开发者来说是一个非常好的零成本体验机会。

3.3 计费方式

腾讯云TMS采用预付费套餐包模式,依据数据请求次数进行计费。若试用包用尽或到期,客户可主动开通按量后付费功能。后付费模式结算方式为日结,价格为每万条文本25元。用户也可购买套餐包来获取更优惠的价格。

4. 控制台配置:自定义词库与审核策略

开通服务后,需要在控制台进行配置,包括创建自定义词库和配置审核策略。配置完成后会获取一个BizType字段的值,该值将在后续API调用中使用。

4.1 配置自定义词库

腾讯云TMS默认能够识别色情、暴恐、违法、谩骂、广告、灌水等7大类违规内容。但不同行业、不同平台对"违规内容"的定义各不相同。自定义词库就是你的"个性化审核规则"——系统识别不了的,你自己来定义。

配置自定义词库的步骤如下:

  1. 在内容安全控制台的"名单管理" > "关键词名单" > "自定义名单"页面,点击"创建词库"
  2. 在弹出的新建关键词库框中,输入词库名称,选择识别结果和匹配模式,单击确定完成创建
  3. 创建词库后,单击"管理"进入词库管理页面
  4. 单击"添加关键词",选择对应的机审标签、关键词类型,可通过文本输入或文件上传的方式添加关键词

自定义词库支持中英文关键词,无需训练模型,即配即用。建议预设词库与自定义词库组合使用,通用规则交给腾讯,特殊需求自己定义。

4.2 配置审核策略(BizType)

策略是业务下内容安全的规则集,包含风险识别模型和关键词库。在一个应用中,可根据不同的场景配置多条策略。

配置审核策略的步骤如下:

  1. 在应用管理页面,单击"新建应用",输入应用名称和应用说明
  2. 新建应用后,单击"新建策略"
  3. 在新建策略页面,选择"文本内容安全",输入Biztype、Biztype名称、场景
  4. 在策略模板配置页面,根据具体业务选择对应的行业、业务类型、业务场景
  5. 单击确定引用模板保存,完成策略创建

Biztype是策略的唯一标识,仅支持数字、英文、下划线和中划线,最多32个字符。该值为API接口的关键传参。不同BizType对应一套独立的审核策略,可以关联不同的自定义词库和识别规则。

例如,AI聊天室的个人简介审核,可选择系统推荐模板:社交 - 语聊房 - 个人资料。如未找到业务分类,请选择通用模板。

5. SDK安装与开发环境准备

腾讯云提供了7种常见的编程语言SDK,已经封装了签名和请求过程,开发时只需关注产品提供的具体接口即可。支持的编程语言包括Python、Java、PHP、Go、Node.js、.NET、C++。

5.1 Python SDK安装

使用pip命令安装腾讯云Python SDK:

pip install tencentcloud-sdk-python

也可以仅安装TMS专用模块:

pip install tencentcloud-sdk-python-common
pip install tencentcloud-sdk-python-tms

5.2 Java SDK安装(Maven)

在pom.xml中添加以下依赖:

<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>最新版本</version>
</dependency>

5.3 Go SDK安装

使用go get命令安装:

go get github.com/tencentcloud/tencentcloud-sdk-go

6. API调用与代码示例

腾讯云TMS的核心接口为TextModeration(文本审核),请求协议为HTTPS(不支持HTTP)。

6.1 核心请求参数

调用TextModeration接口时,需要传入以下核心参数:

  • Action:必选,本接口取值:TextModeration
  • Version:必选,本接口取值:2020-12-29
  • Region:必选,地域参数
  • Content:必选,待检测的文本内容,需为UTF-8编码并以Base64格式传入
  • BizType:可选,审核策略编号,在控制台获取
  • DataId:可选,为待检测文本分配的数据ID,便于标识和管理

6.2 返回结果说明

TextModeration接口返回的主要字段如下:

  • Suggestion:审核建议,取值包括Block(违规)、Review(疑似)、Pass(正常)
  • Label:违规类型标签(色情、暴恐、违法、谩骂、广告等)
  • Score:置信度评分
  • DetailResults:详细识别结果
  • Keywords:命中的关键词(如有)

6.3 Python完整调用示例

import base64
import json
import os

from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.tms.v20201229 import tms_client, models

def text_moderation(content, biz_type=None):
try:
# 实例化认证对象,从环境变量获取密钥
cred = credential.Credential(
os.environ.get("TENCENTCLOUD_SECRET_ID"),
os.environ.get("TENCENTCLOUD_SECRET_KEY")
)

# 实例化客户端
client = tms_client.TmsClient(cred, "ap-guangzhou")

# 实例化请求对象
req = models.TextModerationRequest()

# 将文本进行Base64编码
content_base64 = base64.b64encode(content.encode('utf-8')).decode('utf-8')
req.Content = content_base64

# 如果指定了BizType则传入
if biz_type:
req.BizType = biz_type

# 调用接口
resp = client.TextModeration(req)

# 解析返回结果
result = json.loads(resp.to_json_string())
return {
"suggestion": result.get("Suggestion"),
"label": result.get("Label"),
"score": result.get("Score"),
"detail_results": result.get("DetailResults"),
"keywords": result.get("Keywords")
}

except TencentCloudSDKException as e:
print(f"调用失败: {e}")
return None

if __name__ == "__main__":
# 测试调用
test_content = "这是一段需要审核的测试文本"
result = text_moderation(test_content)
if result:
print(f"审核结果: {json.dumps(result, ensure_ascii=False, indent=2)}")

6.4 Java完整调用示例

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tms.v20201229.TmsClient;
import com.tencentcloudapi.tms.v20201229.models.TextModerationRequest;
import com.tencentcloudapi.tms.v20201229.models.TextModerationResponse;

import java.util.Base64;

public class TmsDemo {
public static void main(String[] args) {
try {
// 实例化认证对象
Credential cred = new Credential(
System.getenv("TENCENTCLOUD_SECRET_ID"),
System.getenv("TENCENTCLOUD_SECRET_KEY")
);

// 实例化客户端
TmsClient client = new TmsClient(cred, "ap-guangzhou");

// 实例化请求对象
TextModerationRequest req = new TextModerationRequest();

// 将文本进行Base64编码
String content = "这是一段需要审核的测试文本";
String contentBase64 = Base64.getEncoder().encodeToString(content.getBytes("UTF-8"));
req.setContent(contentBase64);

// 可选:设置BizType
// req.setBizType("your_biz_type");

// 调用接口
TextModerationResponse resp = client.TextModeration(req);

// 输出结果
System.out.println("Suggestion: " + resp.getSuggestion());
System.out.println("Label: " + resp.getLabel());
System.out.println("Score: " + resp.getScore());

} catch (TencentCloudSDKException e) {
System.err.println("调用失败: " + e.getMessage());
}
}
}

6.5 Go完整调用示例

package main

import (
"encoding/base64"
"fmt"
"os"

"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
tms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tms/v20201229"
)

func main() {
// 实例化认证对象
credential := common.NewCredential(
os.Getenv("TENCENTCLOUD_SECRET_ID"),
os.Getenv("TENCENTCLOUD_SECRET_KEY"),
)

// 实例化客户端配置
cpf := profile.NewClientProfile()
cpf.HttpProfile.Endpoint = "tms.tencentcloudapi.com"

// 实例化客户端
client, _ := tms.NewClient(credential, "ap-guangzhou", cpf)

// 实例化请求对象
request := tms.NewTextModerationRequest()

// 将文本进行Base64编码
content := "这是一段需要审核的测试文本"
contentBase64 := base64.StdEncoding.EncodeToString([]byte(content))
request.Content = &contentBase64

// 调用接口
response, err := client.TextModeration(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
fmt.Printf("API错误: %s\n", err)
return
}
if err != nil {
fmt.Printf("调用失败: %s\n", err)
return
}

// 输出结果
fmt.Printf("Suggestion: %s\n", *response.Response.Suggestion)
fmt.Printf("Label: %s\n", *response.Response.Label)
fmt.Printf("Score: %d\n", *response.Response.Score)
}

7. 高级配置:自定义词库与多策略管理

7.1 多词库分组管理

可以创建多个自定义词库,分别管理不同类型的关键词:

├── 词库A:外挂广告关键词
├── 词库B:竞品品牌关键词
├── 词库C:行业特定敏感词
└── 词库D:节日营销违规词

7.2 多策略分场景配置

不同业务场景对内容审核有不同的要求。建议为不同场景创建不同的BizType策略:

├── BizType_forum(社区论坛)
│ ├── 开启:色情、暴恐、违法、谩骂、广告
│ ├── 关联词库:社区专用词库
│ └── 谩骂阈值:适中

├── BizType_live(直播弹幕)
│ ├── 开启:全部类型
│ ├── 关联词库:直播专用词库
│ └── 所有阈值:严格

├── BizType_ecom(电商评价)
│ ├── 开启:色情、违法、广告
│ ├── 关联词库:电商专用词库
│ └── 广告阈值:极严

└── BizType_game(游戏聊天)
├── 开启:色情、谩骂、广告
├── 关联词库:游戏专用词库
└── 特殊:外挂广告关键词

8. 生产环境最佳实践

8.1 超时设置

建议将连接超时设置为5秒,读取超时设置为30秒,避免网络波动导致的调用超时。

8.2 错误重试机制

对于网络异常导致的调用失败,建议实现自动重试机制,最多重试3次。

8.3 异步审核

对于非实时场景(如批量审核、离线审核),建议使用异步调用方式,提升系统吞吐量。

8.4 内网调用

如果服务部署在腾讯云上,建议使用内网域名调用API,减少网络延迟和外网流量费用。

8.5 降级策略

当审核服务不可用时,建议实现降级策略(如放行+日志记录),确保业务不中断。

8.6 三级判定结果处理

腾讯云TMS返回Block、Review、Pass三级结果。建议的处理方式如下:

  • Block:自动拦截(高确信违规)
  • Review:人工复审而非直接拦截
  • Pass:正常发布

关键优化点:不要把Review也当作Block处理。Review内容应该进入人工复审,而不是直接拦截。

8.7 建立反馈闭环

建议建立用户申诉 → 人工复核 → 确认误判 → 更新词库/调整阈值 → 效果验证的持续优化闭环。

9. 成本优化建议

腾讯云TMS提供灵活的阶梯定价:

  • 新用户首次开通可获得3000条免费试用包
  • 文本内容安全服务套餐包:180万条/2000元(5折首单)
  • 后付费日结:25元/万条

建议根据业务量选择合适的套餐包,避免按量后付费的高单价。

10. 常见问题解答

Q1:开通TMS服务需要多长时间?

A:开通服务仅需几分钟。登录内容安全控制台,点击立即开通,选择文本内容安全服务即可完成。新用户会自动获得3000条免费试用包。

Q2:TMS支持检测哪些语言?

A:TMS原生支持中文和英文两种语言的文本内容审核。对于中英混排的文本,TMS也具备良好的识别能力。

Q3:文本长度有限制吗?

A:有。单次请求的文本长度限制为最长10,000个字符(以Unicode编码计量)。

Q4:调用频率有限制吗?

A:内容安全服务默认1000次/秒,AI生成识别服务默认50次/秒。

Q5:如何降低审核误判率?

A:可以从以下几个方面入手:分场景配置不同的审核策略(BizType);优化自定义词库,使用精确匹配替代模糊匹配;设置白名单;善用三级判定(Block/Review/Pass),Review内容走人工复审而非直接拦截;建立用户申诉与反馈闭环持续优化。

Q6:TMS可以单独购买吗?

A:可以单独购买文本内容安全服务来实现敏感词识别。如有需要可进入文本内容安全购买页进行购买。

相关文章

腾讯云返点返佣,了解如何最大化您的云服务投资

腾讯云返点返佣,了解如何最大化您的云服务投资

腾讯云提供丰厚的返点返佣政策,旨在帮助用户最大化云服务投资回报。通过了解和利用这些政策,用户可以获得额外的价值和收益。无论您是企业用户还是个人开发者,都可以通过合理规划和运用返点返佣机制,降低云服务成…

腾讯云服务器购买优惠!3 个省钱攻略 + 1 个安全真相,新手必看!

腾讯云服务器购买优惠!3 个省钱攻略 + 1 个安全真相,新手必看!

最近后台总收到小伙伴私信:“腾讯云服务器看着挺好,但价格有点顶,学生党 / 小团队实在买不起咋办?” 别急!今天就来手把手教你 “花小钱办大事”,不光有省钱攻略,还会扒一扒大家最关心的安全问题,看完这…

After 10 Years as a Tencent Cloud Agent, Let Me Talk About Rebates

After 10 Years as a Tencent Cloud Agent, Let Me Talk About Rebates

Lately, I’ve been getting a lot of questions from friends: “Does Tencent offer rebates? Can you…

2026腾讯云代理商返利政策深度解析:头部代理合作指南与成本优化策略

2026腾讯云代理商返利政策深度解析:头部代理合作指南与成本优化策略

一、腾讯云代理商返利机制核心逻辑1. 行业背景与代理模式腾讯云作为国内公有云市场的第二大领导者(据IDC 2025年数据,占据国内27.6%的市场份额),采用渠道商代理模式拓展市场。代理商负…

2026腾讯云代理商返利政策深度解析:头部代理合作指南与成本优化策略

2026腾讯云代理商返利政策深度解析:头部代理合作指南与成本优化策略

一、腾讯云代理商返利机制核心逻辑1. 行业背景与代理模式腾讯云作为国内公有云市场的第二大领导者(据IDC 2025年数据,占据国内27.6%的市场份额),采用渠道商代理模式拓展市场。代理商负…

2026腾讯云代理商返佣政策全解析:五级代理体系与企业上云成本优化指南

2026腾讯云代理商返佣政策全解析:五级代理体系与企业上云成本优化指南

一、腾讯云五级代理体系:权益阶梯与合作价值1. 五级代理的核心权益差异腾讯云按规模、服务能力与合作深度,构建了从基础到顶级的五级代理体系,各级权益呈现显著阶梯差:•标准级代理:入门门槛最低,仅能提供基…