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

apphuang2026年07月13日 12:18:048

1. 引言:为什么需要文本内容安全

随着互联网内容的指数级增长,各类UGC平台、社交应用、电商评论系统都面临着日益严峻的内容安全挑战。色情信息、暴力言论、违法违规广告、恶意谩骂等内容不仅严重破坏用户体验,更可能带来法律合规风险,轻则被监管部门约谈处罚,重则导致平台关停。腾讯云文本内容安全(Text Moderation System,TMS)正是为解决这一问题而生的AI智能识别产品。

TMS基于深度学习技术,能够对输入的文本进行智能分析,识别其中是否存在色情、违法、谩骂、广告等风险内容,并返回处置建议、风险标签及对应的置信度分数。目前,TMS提供三大核心服务:文本安全内容服务(检测互联网常见风险)、文本AI生成识别服务(鉴别文本是否为AI工具生成)、以及文本金融大模型审校服务(专为金融场景设计)。

本文将从零开始,完整讲解腾讯云TMS的对接流程,涵盖开通服务、获取密钥、API调用、SDK集成、自定义策略配置以及生产环境最佳实践,帮助你在最短时间内快速上线内容审核能力。

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

2. TMS产品能力全景解析

在开始对接之前,有必要对TMS的产品能力有一个全面的认识。TMS并非一个单一的审核接口,而是一套完整的内容安全解决方案。

2.1 文本安全内容服务

这是TMS最核心的服务,适用于检测互联网上常见的文本风险。系统预设了多个维度的风险识别能力:

  • 色情内容:识别性相关的低俗内容,包含性行为描述、性器官描述、色情段子等,并能检测各种变体如拼音、拆字、谐音变体等,具有很好的抗干扰能力。
  • 暴恐违禁:识别涉及暴力、恐怖主义、违禁品等相关内容。
  • 违法违规:检测涉及法律禁止的各类违规信息。
  • 谩骂攻击:识别人身攻击、侮辱性言论等不文明内容。
  • 广告垃圾:检测各类垃圾广告、引流信息等。
  • 灌水内容:识别无意义的重复内容或刷屏信息。

2.2 文本AI生成识别服务

随着ChatGPT等生成式AI技术的快速发展,AI生成或改写的文本已深度渗透进教育、小说、传媒等场景。TMS的AI生成识别服务可以帮助企业鉴别一段文本是否为AI工具生成,返回AI生成的概率分数。这一能力在学术诚信检测、内容原创性验证等场景中具有重要价值。

2.3 文本金融大模型审校服务

当前主流的AI审核服务多基于互联网UGC场景构建,难以满足金融行业在内容形态与审核规则上的专业需求。金融大模型审校服务基于大模型技术,专为应对金融场景中的长文本语义理解与特有风险识别而设计,能够识别行业俚语、暗示内幕、夸大宣传等金融场景特有风险。

3. 对接前的准备工作

3.1 账号准备

对接TMS服务前,需要完成以下准备工作:

  • 注册腾讯云账号并完成实名认证
  • 确保账户余额大于0元
  • 获取API密钥(SecretId和SecretKey)

API密钥的获取方式:登录腾讯云控制台,进入"访问管理" > "API密钥管理",创建或查看已有的密钥对。SecretKey请妥善保管,不要硬编码在代码中或提交到代码仓库,建议使用环境变量或密钥管理服务。

3.2 开通TMS服务

开通TMS服务的步骤非常简便:

  1. 登录内容安全控制台,单击"立即开通"。
  2. 在弹窗的审核服务管理页面,选择"文本内容安全服务",单击"确定"即完成开通。
  3. 新用户首次开通服务后,自动获得3000条文本的免费试用包(不含"文本AI生成识别"能力),自开通之日起15天内有效。
  4. 试用包用尽或到期后,系统将自动切换为按量后付费模式,价格为每万条文本25元。你也可以购买套餐包来获取更优惠的价格。

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

    4.1 配置自定义词库

    自定义词库用于添加个性化的识别词库,帮助系统识别业务特定的违规内容。配置步骤如下:

    1. 在内容安全控制台的左侧导航栏中,选择"名单管理" > "关键词名单" > "自定义名单"。
    2. 单击"新建词库",填写词库名称,选择识别结果(违规/疑似/放过)和匹配模式(精确匹配/模糊匹配),单击"确定"完成创建。
    3. 在新建词库后,单击"管理"进入词库管理页面,单击"添加关键词"为词库新增自定义关键词。
    4. 添加关键词时,可选择对应的机审标签、关键词类型,通过文本输入或文件上传两种方式添加。
    5. 精确匹配要求输入文本与关键词完全一致;模糊匹配则可检测变体后的输入词,支持拆分字、形似字、音似字、简繁体、大小写、大写数字等形式的相似词匹配。自定义词库中,红色代表违规,橙色代表疑似。

      4.2 配置审核策略(BizType)

      策略是业务下内容安全的规则集,包含风险识别模型和关键词库。配置策略后会获取一个BizType字段的值,该值为API接口的关键传参。配置步骤如下:

      1. 在内容安全控制台的"应用管理"页面,单击"新建应用",输入应用名称和应用说明,单击"保存"完成应用创建。应用名称建议按业务线或应用来命名,如"社区论坛"、"直播间"、"AI问答"等。
      2. 新建应用后,单击"新建策略"来构建具体需要调用的安全策略。在一个应用中,可根据不同的场景配置多条策略。
      3. 在新建策略页面,选择"文本内容安全",根据业务输入Biztype(策略唯一标识)、Biztype名称、场景名称,单击"下一步"进入策略模板配置。Biztype仅支持数字、英文、下划线和短划线,最多32个字符。
      4. 在策略模板配置页面,根据具体业务选择对应的行业、业务类型、业务场景,单击"确定引用模板"保存,完成策略创建。例如,AI聊天室的个人简介审核,可选择系统推荐模板:"社交 - 语聊房 - 个人资料"。如未找到业务分类,请选择通用模板。

      配置完成后,在调用API时通过BizType参数指定策略名称,该策略就会生效。

      5. API接口详解

      5.1 接口基本信息

      TMS的核心接口是TextModeration,提供内容安全和AI生成识别服务。接口的基本信息如下:

      • 请求域名:tms.tencentcloudapi.com
      • 请求协议:HTTPS(不支持HTTP)
      • 文本长度限制:最长10,000个字符(以Unicode编码计量)
      • 请求频率:内容安全默认1000次/秒,AI生成识别默认50次/秒
      • 支持语言:中文、英文

      5.2 请求参数

      TextModeration接口的核心请求参数如下:

      参数名称必选类型描述
      ActionString公共参数,本接口取值:TextModeration
      VersionString公共参数,本接口取值:2020-12-29
      RegionString公共参数,详见产品支持的地域列表
      ContentString待检测的文本内容,需为UTF-8编码并以Base64格式传入
      BizTypeString接口使用的识别策略编号,需在控制台获取
      DataIdString为待检测文本分配的数据ID,便于标识和管理
      UserObject用户相关信息

      5.3 返回结果

      TextModeration接口的返回结果主要包含以下字段:

      字段说明
      Suggestion审核建议:Block(违规)/ Review(疑似)/ Pass(正常)
      Label违规类型标签(色情、暴恐、违法等)
      Score置信度评分
      DetailResults详细识别结果
      Keywords命中的关键词(如有)

      6. SDK集成与代码示例

      腾讯云推荐使用SDK接入,因为SDK封装了签名过程,开发时只需关注产品提供的具体接口即可,接入流程较为便捷。腾讯云提供了API Explorer工具,可在线调用接口并快速生成SDK调用示例代码。

      6.1 Python SDK

      安装SDK

      pip install tencentcloud-sdk-python

      调用示例

      import json
      import base64
      from tencentcloud.common import credential
      from tencentcloud.common.profile.client_profile import ClientProfile
      from tencentcloud.common.profile.http_profile import HttpProfile
      from tencentcloud.tms.v20201229 import tms_client, models

      # 从环境变量获取密钥
      import os
      secret_id = os.environ.get("TENCENTCLOUD_SECRET_ID")
      secret_key = os.environ.get("TENCENTCLOUD_SECRET_KEY")

      cred = credential.Credential(secret_id, secret_key)

      http_profile = HttpProfile()
      http_profile.endpoint = "tms.tencentcloudapi.com"

      client_profile = ClientProfile()
      client_profile.httpProfile = http_profile

      client = tms_client.TmsClient(cred, "ap-guangzhou", client_profile)

      req = models.TextModerationRequest()

      # 待审核文本需先进行Base64编码
      text_content = "这是一段需要审核的文本内容"
      encoded_content = base64.b64encode(text_content.encode("utf-8")).decode("utf-8")
      req.Content = encoded_content

      # 指定审核策略(可选,不填使用默认策略)
      req.BizType = "YourBizType"

      # 分配数据ID便于追踪
      req.DataId = "msg_20260713_001"

      resp = client.TextModeration(req)

      print(json.dumps(resp.__dict__, ensure_ascii=False, indent=2))

      6.2 Java SDK

      Maven依赖

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

      调用示例

      import com.tencentcloudapi.common.Credential;
      import com.tencentcloudapi.common.profile.ClientProfile;
      import com.tencentcloudapi.common.profile.HttpProfile;
      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) {
      String secretId = System.getenv("TENCENTCLOUD_SECRET_ID");
      String secretKey = System.getenv("TENCENTCLOUD_SECRET_KEY");

      Credential cred = new Credential(secretId, secretKey);

      HttpProfile httpProfile = new HttpProfile();
      httpProfile.setEndpoint("tms.tencentcloudapi.com");

      ClientProfile clientProfile = new ClientProfile();
      clientProfile.setHttpProfile(httpProfile);

      TmsClient client = new TmsClient(cred, "ap-guangzhou", clientProfile);

      TextModerationRequest req = new TextModerationRequest();

      String textContent = "这是一段需要审核的文本内容";
      String encodedContent = Base64.getEncoder().encodeToString(textContent.getBytes());
      req.setContent(encodedContent);
      req.setBizType("YourBizType");
      req.setDataId("msg_20260713_001");

      try {
      TextModerationResponse resp = client.TextModeration(req);
      System.out.println(TextModerationResponse.toJsonString(resp));
      } catch (Exception e) {
      e.printStackTrace();
      }
      }
      }

      6.3 Go SDK

      安装SDK

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

      调用示例

      package main

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

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

      func main() {
      secretId := os.Getenv("TENCENTCLOUD_SECRET_ID")
      secretKey := os.Getenv("TENCENTCLOUD_SECRET_KEY")

      credential := common.NewCredential(secretId, secretKey)

      cpf := profile.NewClientProfile()
      cpf.HttpProfile.Endpoint = "tms.tencentcloudapi.com"

      client, _ := tms.NewClient(credential, "ap-guangzhou", cpf)

      request := tms.NewTextModerationRequest()

      textContent := "这是一段需要审核的文本内容"
      encodedContent := base64.StdEncoding.EncodeToString([]byte(textContent))
      request.Content = &encodedContent

      bizType := "YourBizType"
      request.BizType = &bizType

      dataId := "msg_20260713_001"
      request.DataId = &dataId

      response, err := client.TextModeration(request)
      if err != nil {
      fmt.Printf("调用失败: %s\n", err)
      return
      }
      fmt.Printf("%s\n", response.ToJsonString())
      }

      7. 自定义策略的进阶配置

      7.1 多场景策略分离

      不同业务场景对内容审核的要求各不相同——社区论坛需要宽松一点的谩骂阈值,金融平台对违规荐股零容忍,游戏平台需要重点拦截外挂广告。腾讯云TMS通过BizType机制实现策略分离:每个BizType对应一套独立的审核策略,调用API时通过BizType参数指定使用哪套策略。

      建议按场景建立多套策略:

      ├── BizType_forum(社区论坛)
      │ ├── 开启:色情、暴恐、违法、谩骂、广告
      │ ├── 关联词库:社区专用词库
      │ └── 谩骂阈值:适中
      ├── BizType_live(直播弹幕)
      │ ├── 开启:全部类型
      │ ├── 关联词库:直播专用词库
      │ └── 所有阈值:严格
      ├── BizType_ecom(电商评价)
      │ ├── 开启:色情、违法、广告
      │ ├── 关联词库:电商专用词库
      │ └── 广告阈值:极严
      └── BizType_game(游戏聊天)
      ├── 开启:色情、谩骂、广告
      ├── 关联词库:游戏专用词库
      └── 特殊:外挂广告关键词

      7.2 分级词库管理

      建议按维度建立多个自定义词库,灵活组合:

      ├── 词库A:通用违规词(跨场景通用敏感词)
      ├── 词库B:行业特定词(特定行业术语)
      ├── 词库C:竞品关键词(竞品品牌和引流词)
      ├── 词库D:营销违规词(虚假宣传相关)
      └── 词库E:时效性词库(热点事件相关临时词)

      每个词库可以独立关联到不同的策略中,实现灵活的规则组合。

      8. 生产环境最佳实践

      8.1 超时设置

      建议将读取超时设置为30秒,避免网络波动导致的超时报错:

      连接超时:5秒
      读取超时:30秒

      8.2 错误重试

      对于网络异常导致的调用失败,建议实现自动重试机制(最多重试3次)。重试时应使用指数退避策略,避免在服务端压力大时加剧问题。

      8.3 三级审核结果的处理策略

      腾讯云TMS返回Block/Review/Pass三级结果:

      结果建议处理方式
      Block自动拦截(高确信违规)
      Review人工复审而非直接拦截
      Pass正常发布

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

      8.4 异步审核

      对于非实时场景,建议使用异步调用方式,提升系统吞吐量。异步审核通过提交审核任务后,再通过查询接口或回调方式获取审核结果。

      8.5 误判率优化

      内容审核的另一面是误判——正常内容被错误拦截,导致用户投诉甚至流失。以下是系统性的误判率优化方案:

      • 分场景配置审核规则:利用BizType机制为不同场景设置不同阈值
      • 优化自定义词库:用精确匹配替代模糊匹配,设置白名单,定期清理过于宽泛的关键词
      • 善用三级判定:Review进入人工复审而非直接拦截
      • 建立反馈闭环:用户申诉→人工复核→确认误判→更新词库/调整阈值→持续优化

      9. 计费与成本优化

      9.1 计费模式

      腾讯云TMS提供两种计费模式:

      • 按量后付费:价格为每万条文本25元,日结
      • 套餐包(预付费):价格更优惠,最低10元/万条

      新用户首次开通服务后,可获得3000条文本的免费试用包,自开通之日起15天内有效。

      9.2 套餐包选择建议

      不同规模的企业可根据业务量选择不同规格的套餐包:

      套餐类型规格有效期参考价格
      入门包180万条1年2000元(首单5折)
      基础包720万条1年11,900元(8.5折)

      9.3 成本优化建议

      对于中小企业,每天5000条用户内容,按量付费每月约375元,购买套餐包可进一步降低成本。建议根据实际业务量选择合适的套餐包,避免资源浪费。

      10. 常见问题解答

      问1:TMS支持检测哪些语言?

      目前支持检测中文和英文两种语言,可以识别中文和英文文本中包含的色情、广告、垃圾等信息,同时支持自定义词库配置识别自定义的违规文本。

      问2:TextModeration接口的文本长度限制是多少?

      最长支持10,000个字符(以Unicode编码计量)。超过此限制的文本需要拆分后分批审核。

      问3:如何获取BizType?

      BizType需在内容安全控制台的"应用管理"中创建策略时生成。在新建策略页面输入Biztype名称后,系统会自动生成对应的策略编号。

      问4:自定义词库创建后多久生效?

      自定义词库创建并关联到策略后,即刻生效,无需等待。在调用API时通过BizType参数指定关联了该词库的策略即可使用。

      问5:Review结果应该如何处理?

      Review表示"疑似"违规,建议进入人工复审流程而非直接拦截。通过人工复审确认是否真正违规,既能保证审核准确性,又能减少误判对用户体验的伤害。

      问6:TMS的请求频率限制是多少?

      内容安全服务默认1000次/秒,AI生成识别服务默认50次/秒。如需更高频率,可联系腾讯云客服申请提升配额。

相关文章

腾讯云服务器购买优惠!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. 五级代理的核心权益差异腾讯云按规模、服务能力与合作深度,构建了从基础到顶级的五级代理体系,各级权益呈现显著阶梯差:•标准级代理:入门门槛最低,仅能提供基…

2026年腾讯云代理深度解析:从折扣体系到最优合作策略

2026年腾讯云代理深度解析:从折扣体系到最优合作策略

上海汪远信息科技有限公司作为腾讯云全国级殿堂级代理,凭借13年云服务经验与深厚的官方合作关系,为企业提供全方位的上云支持,可百度:上海汪远信息科技有限公司,微信:791201210一、腾讯云代理体系全…