华为云用户手册

  • 2024年9月 序号 功能名称 功能描述 阶段 相关文档 1 盘古大模型正式公测上线 盘古大模型是集数据管理、模型训练和模型部署于一体的一站式大模型开发与应用平台。平台支持大模型的定制开发,提供全生命周期工具链,帮助开发者高效构建与部署模型,企业可灵活选择适合的服务与产品,轻松实现模型与应用的开发。 公测 产品介绍 2 盘古大模型「应用百宝箱」上线 应用百宝箱是盘古大模型为用户提供的便捷AI应用集,首批支持14个开箱即用的大模型应用。用户可在其中使用盘古大模型预置的场景应用和外部应用,轻松体验大模型开箱即用的强大能力。 公测 体验盘古驱动的应用百宝箱 3 盘古大模型「能力调测」功能上线 为用户提供了文本补全和多轮对话两种能力,用户可通过自定义参数,深入体验盘古预置模型的能力。 公测 体验盘古预置模型能力
  • 数据格式要求 盘古大模型服务支持如下数据,格式要求请参见表4。 表4 盘古数据文件格式要求 数据类型 支持格式 数据样例 是否支持拆分(划分训练集/验证集) 自监督训练数据 TXT、JSONL、PDF、WORD、HTML 编码格式为UTF-8。 #TXT格式,一行对应1条JSON #PDF、WORD、HTML只需上传对应的文档,文档内容为文本 #JSONL {"text":"《活着》,是中国著名作家余华所写的一部长篇小说。《活着》讲述了一个普通农民徐福贵的人生历程。他的人生充满了苦难和挫折,但他在面对这些困难时,始终保持着坚强和乐观的态度。"} 否 有监督微调数据 单轮: CS V、JSONL 多轮:JSONL 编码格式为UTF-8。 #单轮问答示例 #CSV 第一列对应context 第二列对应target #content、target分别表示问题、答案 #JSONL {"context":"非深户在职人员长期在异地居住的是否可以办理异地就医备案手续","target":"可以。本市用人单位长期派驻异地(国内市外)工作的在职参保人员,可以按照常驻异地工作人员申请办理备案。"} 详细有监督数据格式性参见表5。 是 评测数据 CSV、JSONL 同有监督单轮不带system prompt数据。 否 表5 有监督数据格式 数据类型 格式说明 有监督单轮,JSONL格式 编码格式为UTF-8。 每一行表示一段文本,形式为{"context":"context内容","target":"target内容"} content、target分别表示问题、答案 #示例 {"context":"非深户在职人员长期在异地居住的是否可以办理异地就医备案手续","target":"可以。本市用人单位长期派驻异地(国内市外)工作的在职参保人员,可以按照常驻异地工作人员申请办理备案。"} 有监督单轮,CSV格式 编码格式为UTF-8。 每一行代表一个问答对,第一列对应context 第二列对应target,确保每个问题和答案的数据都以逗号分隔,每行的数据完整且格式正确 有监督单轮,带人设,JSONL格式 编码格式为UTF-8。 每一行表示一段文本,system不能为空,形式为{"system":"system内容","context":"context内容","target":"target内容"} system、content、target分别表示人设、问题、答案 #示例 {"system":"你是一个知识问答助手","context":"诗仙指的是哪位诗人?","target": "唐代诗人李白为诗仙。"} 有监督多轮,JSONL格式 编码格式为UTF-8。 每一行表示一段文本,为数组格式,至少一组问答对,形式为[{"context":"context内容1","target":"target内容1"},{"context":"context内容2","target":"target内容2"}] content、target分别表示问题、答案 #示例 [{"context":"诗仙指的是哪位诗人","target":"唐代诗人李白为诗仙"},{"context":"他都有哪些代表作?","target":"李白的代表作有《望庐山瀑布》、《行路难》、《蜀道难》等"}] 有监督多轮,带人设,JSONL格式 编码格式为UTF-8。 每一行表示一段文本,为数组格式,至少一组问答对,system不能为空,形式为[{"system":"system内容"},{"context":"context内容1","target":"target内容1"},{"context":"context内容2","target":"target内容2"}] system、content、target分别表示人设、问题、答案 #示例 [{"system":"你是一个知识问答助手"},{"context":"诗仙指的是哪位诗人","target":"唐代诗人李白为诗仙"},{"context":"他都有哪些代表作?","target":"李白的代表作有《望庐山瀑布》、《行路难》、《蜀道难》等"}]
  • 数据量要求 自监督训练 在单次训练任务中,一个自监督训练数据集内,上传的数据文件数量不得超过1000个,单文件大小不得超过1GB,所有文件的总大小不得超过200GB。 表1 自监督训练数据大小说明 模型规格 最小数据量(数据条数) 推荐数据量 单条数据token长度限制 N4-4K版本 1万条/每场景 4GB(等价10亿Tokens) 4096 有监督训练 在单次训练任务中,一个有监督数据集内,上传的数据文件数量不得超过100个,单文件大小不得超过1GB,所有文件的总大小不得超过1GB。 表2 有监督微调数据大小说明 模型规格 最小数据量(数据条数) 单场景推荐训练数据量 单条数据token长度限制 训练集:验证集推荐比例 N1-4K版本 1000条/每场景 ≥ 1万条/每场景 4096 10:1 N1-32K版本 1000条/每场景 ≥ 1万条/每场景 32768 10:1 N2-4K版本 1000条/每场景 ≥ 1万条/每场景 4096 10:1 N2-32K版本 1000条/每场景 ≥ 1万条/每场景 32768 10:1 N4-4K版本 1000条/每场景 ≥ 1万条/每场景 4096 10:1 训练数据需要依据不同任务场景进行构造。例如,当训练阅读理解任务时,需要选择一些包含大量阅读材料的数据进行训练。当训练广告文案生成任务时,训练数据则需要包含一定量的广告文案数据。 模型评估 一个评估数据集内,上传的数据文件数量不得超过100个,单文件大小不得超过1GB,所有文件的总大小不得超过1GB。 多模态训练 预训练数据 tar包存储原始的图片,单个tar包的大小不得超过500MB,图片描述JSONL文件只需一份。 指令微调数据 tar包存储原始的图片,单个tar包的大小不得超过500MB,图片描述JSONL文件只需一份。 图片数据仅支持jpg格式,图片大小不得低于5kb,图片最小边不得低于200px,长边:短边比例不得大于3:1。 表3 多模态数据大小说明 训练类型 最小数据量(图文对数据) 推荐数据量(图文对数据) 预训练 1000万对 5000万对起 指令微调 20~30万对 100万对
  • 使用“能力调测”调用模型 能力调测通过图形化问答界面,提供了快速访问盘古大模型能力的入口。用户可以通过能力调测调用基模型与训练后的模型。 训练后的模型需要“在线部署”且状态为“运行中”时,才可以使用本章节提供的方法进行调测。 文本补全:给定一个提示和一些参数,模型会根据这些信息生成一个或多个预测的补全。例如,让模型依据要求写邮件、做摘要总结、生成观点见解等。 多轮对话:基于对话问答功能,用户可以与模型进行自然而流畅的对话和交流。 图1 使用能力调测 表1 能力调测参数说明 参数 说明 温度 用于控制生成文本的多样性和创造力。 核采样 控制生成文本多样性和质量。 最大口令限制 用于控制聊天回复的长度和质量。 话题重复度配置 用于控制生成文本中的重复程度。 词汇重复度控制 用于调整模型对频繁出现的Token的处理方式。 历史对话保留轮数 选择“多轮对话”功能时具备此参数,表示系统能够记忆的历史对话数。
  • 安装可选 安装全部依赖项(2.1.0以前版本需手动安装langchain-openai,命令pip install langchain-openai): pip install pangu_kits_app_dev_py[all] cache相关依赖: pip install redis~=4.5.5 pip install gptcache~=0.1.37 pip install redis-om~=0.1.3 pip install pymysql~=1.1.0 pip install SQLAlchemy~=2.0.19
  • 实例化Agent Agent实例化过程包括注册LLM和注册工具两个部分。 from pangukitsappdev.agent.react_pangu_agent import ReactPanguAgent from pangukitsappdev.api.llms.factory import LLMs agent = ReactPanguAgent(LLMs.of("pangu", llm_config=LLMConfig(llm_param_config=LLMParamConfig(with_prompt=True), llm_module_config=LLMModuleConfig(model_version="N2_agent_v2")))) agent.set_max_iterations(5) agent.add_tool(ReverseTool()) agent.add_tool(AddTool()) agent.add_tool(SearchTool()) 静态工具和动态工具的注册方式相同,通过addTool接口进行注册。 通过set_max_iterations可以设置最大迭代次数,控制Agent子规划的最大迭代步数,防止无限制的迭代或出现死循环情况。 Agent使用的模型必须为Pangu-NLP-N2-Agent-L0.C模型,或其衍生模型,使用通用模型或其他模型无法运行。如上例所示,当前的module-version需要配置为“N2_agent_v2”,模型的相关配置需要改为Pangu-NLP-N2-Agent-L0.C模型的地址。 with_prompt参数配置为True,prompt的拼接由Agent托管处理。 父主题: Agent(智能代理)
  • 开通盘古大模型服务 盘古大模型具备文本补全和多轮对话能力,用户在完成盘古大模型套件的订购操作后,需要开通大模型服务,才可以调用模型,实现与模型对话问答。 登录盘古大模型套件平台。 在左侧导航栏中选择“服务管理”,在相应服务的操作列单击“查看详情”,可在服务列表中申请需要开通的服务。 文本补全:提供单轮文本能力,常用于文本生成、文本摘要、闭卷问答等任务。 多轮对话:提供多轮文本能力,常用于多轮对话、聊天任务。 图1 服务管理 图2 申请开通服务 您可按照需要选择是否开启 内容审核 。 开启内容审核后,可以有效拦截大模型输入输出的有害信息,保障模型调用安全,推荐进行开启。 图3 大模型内容审核 购买内容审核套餐包时,如果使用“文本补全”和“多轮对话”功能,需要选择“ 文本内容审核 ”套餐。 父主题: 准备工作
  • 数据配比功能介绍 用户针对业务场景,可以通过数据配比功能,自由组合多个数据集,并控制数据占比。 数据集来源:用户自己创建并且已经发布的数据集。 数据集组合:选择多个数据集,并且可以指定数据之间的配比和条数,最大支持20个。 配比的作用:支持用户灵活调整数据集的比例。 比例:用户自己创建的数据集,默认1:1:1的方式。例如,3个数据集D1(100GB)、D2(50GB)、D3(200GB),配比按照最大比例去配比,即为D1(50GB)、D2(50GB)、D3(50GB),则3*50=150GB,此时用户可以控制最大的数据量,限制数据量大小,如100GB。 表1 配置比例 配置比例 数据集大小上限500GB 第一阶段 第二阶段 - 数据集 原始大小 默认值 手动修改 实际大小 D1 100GB 1 1 100GB D2 50GB 1 2 50GB D3 200GB 1 1 200GB 训练数据集PD1 / 15 15 750GB 条数:用户指定每个数据集需要提供的条数;如果某个数据集的条数不满足用户需求,则提示用户重新输入,避免用户无感配置失败。 条数:不提供配比,默认全都选上。 表2 配置条数 配置条数 数据集大小上限500GB 第一阶段 第二阶段 - 数据集 原始大小 默认值 手动修改 实际条数 D1 100 100 100 53 D2 50 50 50 27 D3 200 200 100 53 训练数据集PD1 / / 1250 667
  • 获取token消耗规则 了解Token消耗规则对于模型训练至关重要。掌握从字符到Token的转换规律可以优化数据预处理过程并有效控制训练成本。每个Token代表模型处理和生成文本的基本单位,它可以是一个单词、字符或字符的片段。模型的输入和输出都会被转换成Tokens,并根据模型的概率分布进行采样或计算。了解Token的消耗和费用计算规则,用户可以更准确地预测和控制训练成本,提高预算管理效率。训练服务的费用按实际消耗的Token数量计算,即实际消耗的Token数量乘以Token的单价。 为了帮助用户更好地管理和优化Token消耗,平台提供了Token计算器工具。Token计算器可以帮助用户在模型训练前评估文本的Token数量,提供费用预估,并优化数据预处理策略。 使用Token计算器的步骤如下: 登录盘古大模型套件平台。 在“服务管理”页面,单击页面右上角“Token计算器”。 在Token计算器中选择所需的模型,并输入文本内容后,单击“开始计算”即可统计输入文本的Token数量。 图1 Token计算器 预置模型和已经部署的模型可以使用Token计算器。 父主题: 平台资源管理
  • 有监督微调(局部微调)训练参数说明 表7 有监督微调(局部微调)参数说明 训练参数 默认值 范围 说明 LoRA轶值 / 8、16、32、64 较高的取值意味着更多的参数被更新,模型具有更大的灵活性,但需要更多的计算资源和内存。较低的取值则意味着更少的参数更新,资源消耗更少,但模型的表达能力可能受到限制。 训练轮数 4 1~50 完成全部训练数据集训练的次数。 学习率 0.0001 0~1 学习率用于控制每个训练步数(step)参数更新的幅度。需要选择一个合适的学习,因为学习率过大会导致模型难以收敛,学习率过小会导致收敛速度过慢。 优化器 adamw adamw 优化器参数指的是用于更新模型权重的优化算法的相关参数,可以选择adamw。 adamw是一种改进的Adam优化器,它在原有的基础上加入了权重衰减(weight decay)的机制,可以有效地防止过拟合(overfitting)的问题。 学习率衰减比率 0.1 0~1 学习率衰减后,最小不会低于的学习率,计算公式为:学习率*学习率衰减比率。 热身比例 0.01 0~1 热身阶段占整体训练的比例。 模型刚开始训练时,如果选择一个较大的学习率,可能导致模型训练不稳定。选择使用warmup热身的方式,可以使开始训练的热身阶段内学习率较小,模型可以慢慢趋于稳定,待模型相对稳定后再逐渐提升至预设的最大学习率进行训练。使用热身可以使得模型收敛速度更快,效果更佳。
  • 准备工作 使用盘古大模型Java SDK时,需要在代码中配置以下信息,请提前收集。 表1 资源列表 类型 资源 是否必选 依赖信息 参考文档 备注 大语言模型 华为云盘古 是(大语言模型至少选一个) 盘古模型API调用URL。 华为云 IAM 账号认证信息。 盘古大模型API参考文档: 申请资源时,可联系客户支持获取。 IAM帮助文档: https://support.huaweicloud.com/api-identitycenter/iic_04_0032.html 模型API调用文档中完整url。 格式示例为:https://{endpoint}/v1/{project_id}/deployments/{deployment_id}/chat/completions SDK配置:https://{endpoint}/v1/{project_id}/deployments/{deployment_id} (/chat/completions在SDK代码中已经进行了设置)。 IAM endpoint需要根据服务所在的区域正确配置,参考帮助文档“终端节点”章节查找。 参考IAM帮助文档,获取账号相关信息。 华为云Gallery托管三方模型 否 Gallery三方托管模型API调用URL。 华为云IAM账号认证信息。 三方大模型API参考文档: 申请资源时,可联系客户支持获取。 IAM帮助文档: https://support.huaweicloud.com/api-identitycenter/iic_04_0032.html 参考三方大模型API参考文档“API”章节,获取URL信息。 格式示例:https://{endpoint}/v1/infers/{deployment_id} 参考IAM帮助文档,获取账号相关信息。 Embedding模型 华为云 CSS 否 CSS Embedding模型API调用URL。 华为云IAM账号认证信息。 CSS Embedding模型API参考文档: 申请资源时,可联系客户支持获取。 IAM帮助文档: https://support.huaweicloud.com/api-identitycenter/iic_04_0032.html 参考CSS Embedding模型API参考文档,获取URL信息。 格式示例:https://{endpoint}/v1/{project_id}/applications/{app_id}/{model_version} 参考IAM帮助文档,获取账号相关信息。 文档加载 华为云CSS 否 CSS文档解析服务API调用URL。 华为云IAM账号认证信息。 CSS文档解析服务API参考文档: 申请资源时,可联系客户支持获取。 IAM帮助文档: https://support.huaweicloud.com/api-identitycenter/iic_04_0032.html 参考CSS Embedding模型API参考文档,获取URL信息。 格式示例:https://{endpoint}/v1/{project_id}/applications/{app_id} 参考IAM帮助文档,获取账号相关信息。 向量记忆 华为云CSS 否 集群host信息。 用户认证信息。 云搜索服务 CSS: https://support.huaweicloud.com/css/index.html 参考CSS服务“快速入门”章节创建机器后,在集群信息中获取hosts信息。 示例: https://10.0.0.1:9200,https://10.0.0.2:9200 用户认证信息就是创建集群时设置的用户/密码。 华为云CSS(集成Embedding) 否 集群host信息。 用户认证信息。 云搜索 服务CSS: https://support.huaweicloud.com/css/index.html 参考CSS服务“快速入门”章节创建机器后,在集群信息中获取hosts信息。 示例: https://10.0.0.1:9200,https://10.0.0.2:9200 用户认证信息就是创建集群时设置的用户/密码。 Elastic Search 否 集群host信息。 用户认证信息。 ES官网: https://www.elastic.co/cn/elasticsearch/ hosts示例:https://10.0.0.1:9200,https://10.0.0.2:9200 标量存储 华为云DCS 否 host信息。 用户认证信息。 分布式缓存DCS: https://support.huaweicloud.com/dcs/index.html host示例:redis://10.0.0.1:6379 Redis 否 host信息。 用户认证信息。 Redis官网: https://redis.io/ host示例:redis://10.0.0.1:6379 华为云RDS 否 host信息。 用户认证信息。 云数据库RDS: https://support.huaweicloud.com/rds/index.html - Mysql 否 host信息。 用户认证信息。 Mysql官网: https://www.mysql.com/ - iam认证与SDK配置项的映射关系如下: POST https://iam.cn-southwest-2.myhuaweicloud.com/v3/auth/tokens { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //华为云账号密码 "domain": { "name": "domainname" //账号名 } } } }, "scope": { "project": { "name": "cn-southwest-2" //服务当前部署在“西南-贵阳一”区域,取值为cn-southwest-2 } } } } 父主题: 盘古应用开发SDK
  • 体验盘古预置模型能力 登录盘古大模型套件平台,在左侧导航栏中单击“能力调测”。 如图所示,能力调测页面提供了文本补全和多轮对话功能,且每种功能都提供了预置的盘古大模型供用户体验。用户可以在页面右侧进行参数设置,然后在输入框中输入问题,模型就会返回对应的答案内容,具体参数信息如下表。 图1 体验预置模型功能 表1 能力调测参数信息表 参数名称 描述 温度 控制语言模型输出的随机性与创造性。温度设置越低,输出更可预测;温度设置越高,输出种类更多,更不可预测。 核采样 控制生成文本多样性和质量。 最大口令限制 用于控制聊天回复的长度和质量。一般来说,设置较大的参数值可以生成较长和较完整的回复,但也可能增加生成无关或重复内容的风险。较小的参数值可以生成较短和较简洁的回复,但也可能导致生成不完整或不连贯的内容,请避免该值小于10,否则可能生成空值或极差的效果。因此,需要根据不同的场景和需求来选择合适的参数值。 话题重复度控制 用于调整模型对新令牌(Token)的处理方式。即如果一个Token已经在之前的文本出现过,那么模型在生成这个Token时会受到一定的惩罚。当值为正数时,模型会更倾向于生成新的Token,即更倾向于谈论新的话题。 词汇重复度控制 用于调整模型对频繁出现的Token的处理方式。即如果一个Token在训练集中出现的频率较高,那么模型在生成这个Token时会受到一定的惩罚。当的值为正数时,模型会更倾向于生成出现频率较低的Token,即模型会更倾向于使用不常见的词汇。 历史对话保留轮数 选择要包含在每个新API请求中的过去消息数。这有助于为新用户查询提供模型上下文。参数设置为10,表示包括5个用户查询和5个系统响应。该参数只涉及多轮对话功能。 体验预置模型文本补全能力 进入“文本补全”页签,选择模型与示例,参数设置为默认参数,在输入框输入问题,单击“生成”,模型将基于问题进行回答。 图2 体验预置模型文本补全能力 修改参数以查看模型效果,示例如下: 将“核采样”参数调小,如改为0.1,保持其他参数不变,单击“重新生成”,再单击“重新生成”,可以看到模型前后两次回复内容的多样性降低。 图3 “核采样”参数调小后生成结果1 图4 “核采样”参数调小后生成结果2 将“核采样”参数调大,如改为1,保持其他参数不变,单击“重新生成”,再单击“重新生成”,可以看到模型前后两次回复内容的多样性提高。 图5 “核采样”参数调大后生成结果1 图6 “核采样”参数调大后生成结果2 体验预置模型的多轮对话能力 进入“多轮对话”页签,选择模型与人设,参数设置为默认参数,在输入框输入问题,单击“生成”,模型将基于问题进行回答。 图7 体验预置模型多轮对话能力 修改参数以查看模型效果,示例如下: 将“最大口令限制”参数调小,如改为98,保持其他参数不变,单击“重新生成”,可以看到模型回复内容长度减小。 图8 修改“最大口令限制”参数 父主题: 体验盘古大模型功能
  • 盘古大模型套件使用流程 盘古大模型套件平台是一款功能强大、集成度高的大模型开发与应用平台。该平台全面支持大模型的数据管理、清洗与配比,涵盖预训练与微调功能。此外,平台还提供了强大的模型部署、评估与调用功能,确保模型能够在生产环境中高效应用。平台支持提示词工程、AI助手及SDK开发,满足多样化业务需求,助力企业在大模型领域取得卓越成果。无论是开发、训练还是部署,盘古大模型套件平台均为用户提供一站式解决方案。 通过使用盘古大模型套件平台,您将体验从数据准备到模型应用的全流程一站式服务,将模型高效集成至您的业务流程中。接下来,将详细介绍该平台的使用流程,帮助您充分发挥盘古大模型套件平台的潜力。 图1 盘古大模型套件使用流程 表1 使用流程说明 流程 子流程 说明 操作指导 准备工作 注册华为账号 并开通华为云 在使用华为云服务之前您需要注册华为账号并开通华为云。 注册华为账号并开通华为云 购买盘古大模型套件 购买盘古系列大模型及推理资产。 购买盘古大模型套件 开通盘古大模型服务 开通大模型的文本补全、多轮对话能力。 开通盘古大模型服务 配置授权/创建子用户 配置盘古访问OBS服务权限,多用户使用平台情况下需要创建子用户。 配置盘古访问授权 创建子用户并授权使用盘古 准备训练数据 创建一个新的数据集 创建一个新的数据集,用来管理上传至平台的训练或者评测数据。 创建一个新的数据集 数据集质量检测/数据清洗 对上传的数据进行质量检测,若质量有问题可以进行数据清洗。 检测数据集质量 清洗数据集(可选) 发布数据集 对无质量问题的数据集执行发布操作。 发布数据集 创建一个训练数据集 通过数据配比组合多个数据集,创建出用于模型训练的数据集。 创建一个训练数据集 模型训练 自监督训练 使用不含有标记的数据进行模型训练。 创建自监督微调训练任务 有监督训练 使用含有标记的数据进行模型训练,以学习输入和输出之间的映射关系。 创建有监督训练任务 模型评估 创建模型评估任务 训练完成后评估模型的回答效果。 创建模型评估任务 查看模型评估结果 查看模型评估指标和评估结果。 查看评估任务详情 模型压缩 - 通过模型压缩技术实现同等QPS目标下,降低推理显存占用。 压缩盘古大模型 模型部署 - 对模型执行部署操作。 部署盘古大模型 模型调用 使用“能力调测”调用模型 使用可视化的“能力调测”页面调用模型。 使用“能力调测”调用模型 使用API调用模型 通过API编写代码方式调用模型。 使用API调用模型 提示词工程 - 利用精心设计的提示词优化和引导大模型生成更加准确和相关的输出,提高模型在特定任务中的表现。 提示词工程 AI助手 - 通过大模型搭建Agent应用,并结合多种工具,实现对话问答、规划推理和逻辑判断功能。 AI助手 应用开发SDK - 通过应用开发SDK提供的大模型调用、提示词模板、记忆、技能、智能代理等功能模块,快速开发大模型应用。 盘古应用开发SDK
  • NLP大模型 NLP大模型主要用于处理和理解人类语言,能够实现对话问答、文案生成和阅读理解等任务,并具备逻辑推理、代码生成以及插件调用等高阶能力。 NLP大模型提供了基模型和功能模型两种类型: 基模型:已经在大量数据上进行了预训练,学习并理解了各种复杂特征和模式。这些模型可以作为其他任务的基础,例如阅读理解、文本生成和情感分析等。基模型本身不具备对话问答能力。 功能模型:在基模型的基础上进行微调,以适应特定任务。功能模型具备对话问答能力,并经过特定场景的优化,能够更好地处理文案生成、阅读理解和代码生成等任务。 功能模型无需额外训练即可直接用于客户任务,而基模型则需要经过微调训练才能应用。NLP大模型不仅支持预训练和微调,还可以通过如下训练途径来构建满足客户需求的“用户模型”。 图1 NLP大模型训练方式与流程 除基模型、功能模型这两种模型划分途径外,NLP大模型还提供了多种系列的模型,不同系列模型在能力上有所差异,可执行的训练操作也有所不同。 表1 不同系列模型对训练的支撑情况 训练任务 N1 N2 N4 预训练 × × √ 微调 √ √ √ 不同系列的模型,对文本长度的处理也各有差异,选择合适的模型能够处理特定长度的文本,从而提高模型的整理效果。 表2 NLP大模型清单 模型类别 模型 token 简介 NLP大模型 盘古-NLP-N1-基础功能模型-32K 部署可选4096、32768 基于NLP-N1-基模型训练的基础功能模型,具备文案生成、多轮对话、实体抽取、翻译、知识问答等大模型通用能力,具有32K上下文能力。 盘古-NLP-N1-基础功能模型-8K 8192 可外推:16384 基于NLP-N1-基模型训练的基础功能模型,具备文案生成、多轮对话、实体抽取、翻译、知识问答等大模型通用能力,具有8K上下文能力,可外推至16K。 盘古-NLP-N2-基模型 - 预训练模型,擅长通用任务,擅长文本理解,可以高效进行文案生成与文本解析,高性能、时延低。 盘古-NLP-N2-基础功能模型-4K 4098 基于NLP-N2-基模型训练的基础功能模型,具备文案生成、多轮对话、实体抽取、翻译、知识问答等大模型通用能力。 盘古-NLP-N2-基础功能模型-32K 32768 基于NLP-N2-基模型训练的基础功能模型,具备文案生成、多轮对话、实体抽取、翻译、知识问答等大模型通用能力。 盘古-NLP-N2-应用增强模型-4K 4096 基于NLP-N2-基模型训练的应用增强模型,支持插件调用,支持多种开发套件,可部署集成至业务系统。 盘古-NLP-N4-基模型 - 预训练模型,擅长逻辑推理,支持工具调用、自然 语言生成 SQL,可执行复杂任务,质量更高。 盘古-NLP-N4-基础功能模型-4K 4096 基于NLP-N4-基模型训练的基础功能模型,具备文案生成、多轮对话、实体抽取、翻译、知识问答等大模型通用能力,具有4K上下文能力。 盘古-NLP-BI专业大模型-4K 4096 基于NLP-N2-基础功能模型运用特定专业代码数据训练后的BI专业大模型,具有4K上下文能力。 盘古-NLP-BI专业大模型-32K 32768 基于NLP-N2-基础功能模型运用特定专业代码数据训练后的BI专业大模型,具有32K上下文能力。 盘古-NLP-N2单场景模型-4K 4096 基于NLP-N2-基模型训练的单场景模型,可支持选择一个场景进行推理,如:搜索RAG方案等,具有4K上下文能力。 盘古-NLP-N2单场景模型-32K 32768 基于NLP-N2-基模型训练的单场景模型,可支持选择一个场景进行推理,如:搜索RAG方案等,具有32K上下文能力。 NLP大模型训练过程中,一般使用token来描述模型可以处理的文本长度。token(令牌)是指模型处理和生成文本的基本单位。token可以是词或者字符的片段。模型的输入和输出的文本都会被转换成token,然后根据模型的概率分布进行采样或计算。不同系列模型在读取中文和英文内容时,字符长度转换为token长度的转换比如下。以N1为例,盘古模型1token≈0.75个英文单词,1token≈1.5汉字。 表3 token比 模型规格 token比(token/英文单词) token比(token/汉字) N1系列模型 0.75 1.5 N2系列模型(不包含盘古-NLP-N2-基础功能模型-4K-Preview) 0.88 1.24 盘古-NLP-N2-基础功能模型-4K-Preview 0.86 1.69 N3系列模型 0.77 1 N4系列模型 0.75 1.5
  • 体验盘古驱动的应用百宝箱 应用百宝箱是盘古大模型为用户提供的便捷AI应用集,用户可在其中使用盘古大模型预置的场景应用和外部应用,轻松体验大模型开箱即用的强大能力。 登录盘古大模型套件平台,在左侧导航栏中选择“应用百宝箱”,进入“应用百宝箱”页面。 在“应用市场”页签中,选择场景应用,立即体验应用能力。 图1 应用市场 图2 应用试用 在“外部应用”页签中,选择外部应用,单击“继续前往”,页面将跳转至外部应用页面供用户体验。 图3 外部应用 图4 外部应用试用 父主题: 体验盘古大模型功能
  • 创建用户组 使用主账号登录IAM服务控制台。 左侧导航窗格中,选择“用户组”页签,单击右上方的“创建用户组”。 图1 创建用户组 在“创建用户组”界面,输入“用户组名称”,创建用户组。 返回用户组列表,单击列表中的“授权”。 图2 用户组授权 参考表1,为用户组设置权限。 表1 授权项 授权项 说明 Agent Operator 拥有该权限的用户可以切换角色到委托方账号中,访问被授权的服务。 Tenant Administrator 全部云服务管理员(除IAM管理权限)。 Security Administrator 统一身份认证 服务(除切换角色外)所有权限。 图3 添加用户组权限 设置最小授权范围。 根据授权项策略,系统会自动推荐授权范围方案。例如,可以选择“所有资源”,即用户组内的IAM用户可以基于设置的授权项限使用账号中所有的企业项目、区域项目、全局服务资源。也可以选择“指定区域项目资源”,如指定“西南-贵阳一”区域,即用户组内的IAM用户仅可使用该区域项目中的资源。 图4 设置最小授权范围 完成用户组授权。 图5 完成授权
  • 响应示例 { "reserve": null, "datas": [ "sysmgmt", "usermgmt", "viewuser", "adduser", "moduser", "deluser", "setuserrole", "privilegemgmt", "unlockuser", "lockuser", "resetpwd", "removeloginlimit", "keymgmt", "viewapply", "addapply", "delapply", "modapply", "user-import", "template-export", "userauth", "systemmgmt", "upload", "upload-confirm", "used-card", "card-history", "latest-version", "cards", "delete-cards", "viewRole", "viewUserRoleDetail", "viewUserWithoutRole", "addUsersRole", "deleteUserRole", "transferUserRole", "integrationmgmt", "applyintegration", "cardmgmt", "secretmgmt", "messagemgmt", "qryMessageTemplate", "qryMessageForwardConfig", "upsertMessageForwardConfig", "delMessageForwardConfig", "saveMessageTemplate", "modifyMessageTemplate", "deleteMessageTemplate", "qryAllUserEmail", "rolemgmt", "codegenerator", "processmgmt", "modelmgmt", "sysmgmt", "systemmgmt", "logmgmt", "sysmgmt", "userauth", "systemmgmt", "membermgmt", "viewapp", "addmember", "viewmember", "delmember", "confirmDelay", "delayUserLicense", "confirmAuthorization", "rejectApplication", "transfer", "qryApplyRecords", "qryUsersWithoutLicense", "qryOperLog", "qryOperDetailLog", "processmgmt" ], "totalCount": null, "error_code": "IPDC.01020000", "error_msg": "success" }
  • 不同消费者消费不同Tag 在实际使用场景中,可能会遇到不同的消费者消费同一Topic的不同Tag消息。对于同一个Topic的不同Tag,如果RocketMQ消费者设置了相同的消费组,会导致消息消费混乱。 例如Topic A下有Tag A和Tag B,消费者A订阅了Tag A的消息,消费者B订阅了Tag B的消息。 如果消费者A和消费者B设置了相同的消费组,当生产者发送Tag A的消息时,Tag A的消息会均匀发送给消费者A和消费者B。由于消费者B没有订阅Tag A的消息,会把Tag A消息过滤掉,从而导致部分Tag A消息未被消费。 图1 错误的消费组设置 这种情况下,把消费者A和消费者B设置不同的消费组,即可解决消费混乱的问题。 图2 正确的消费者组设置
  • 实施方法 以物流运输场景为例,普通货物订单消息和生鲜货物订单消息属于不同类型的消息,分别创建Topic_Common和Topic_Fresh。在不同消息类型中,以不同的Tag划分不同的订单目的省份。 Topic:Topic_Common Tag = Province_A Tag = Province_B Topic: Topic_Fresh Tag = Province_A Tag = Province_B 以生产发往Province A的普通货物订单消息为例,代码示例如下: Message msg = new Message("Topic_Common", "Province_A" /* Tag */, ("Order_id " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)); 以订阅发往Province A和Province B的生鲜货物订单消息为例,代码示例如下: consumer.subscribe("Topic_Fresh", "Province_A || Province_B");
  • 方案概述 Topic是消息关联的基础逻辑单元,消息的生产与消费围绕着Topic进行。每个Topic包含若干条消息,每条消息只能属于一个Topic。 Tag是消息的标签,用于在同一Topic下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一Topic下设置不同的标签。标签能够有效保持代码的清晰度和连贯性,并优化RocketMQ提供的查询系统。消费者可以根据Tag实现对不同Topic的不同消费逻辑,实现更好的扩展性。 Topic是消息的一级分类,Tag是消息的二级分类,关系如下图。 应用场景 在实际业务中,通过合理使用Topic和Tag,可以使业务结构更清晰,提高效率。可以根据如下几方面判断Topic和Tag的具体使用场景: 根据消息类型判断:RocketMQ的消息可分为普通消息、顺序消息、定时/延迟消息、事务消息,不同类型的消息需要用不同的Topic来区分,无法通过Tag区分。 根据消息优先级判断:在业务中紧急程度高和紧急程度一般的消息用不同的Topic来区分,方便后续业务处理。 根据业务关联性判断:业务逻辑上不相关的消息用不同Topic来区分,业务逻辑上强关联的消息发送到同一Topic下,并用Tag进行子类型或流程先后关系的区分。
  • 通过访问控制,保护数据安全性 建议对不同角色的IAM用户仅设置最小权限,避免权限过大导致数据泄露或被误操作。 为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见权限管理。 建议配置安全组访问控制,保护您的数据不被异常读取和操作。 参照表1配置安全组的入方向规则限制,控制连接实例的网络范围,避免DMS for RocketMQ暴露给不可信的第三方。 表1 安全组规则 实例版本 方向 协议 端口 源地址 说明 4.8.0 5.x 入方向 TCP 8100 访问DMS for RocketMQ实例的客户端地址,应避免设置为0.0.0.0/0。 使用TCP协议,通过内网访问实例的端口。 4.8.0 5.x 入方向 TCP 8200 使用TCP协议,通过公网访问实例的端口。 4.8.0 5.x 入方向 TCP 10100-10199 使用TCP协议,访问业务节点的端口。 5.x 入方向 TCP 8080 使用gRPC协议,通过内网访问实例的端口。 5.x 入方向 TCP 8081 使用gRPC协议,通过公网访问实例的端口。 建议将访问DMS for RocketMQ实例方式设置为密码访问(即开启ACL访问控制),防止未经认证的客户端误操作实例。 您可以选择如下任意一种方法开启ACL访问控制。 在“购买实例”页面开启ACL访问控制,具体可参考购买RocketMQ实例。 购买实例后,在实例的“基本信息”页面中开启ACL访问控制,具体可参考查看和修改RocketMQ实例基本信息。 开启敏感操作多因子认证保护您的数据不被误删。 DMS for RocketMQ支持敏感操作保护,开启后执行删除实例等敏感操作时,系统会进行身份验证,进一步对数据的高危操作进行控制,保证DMS for RocketMQ数据的安全性。详情请参见敏感操作。
  • 审计是否存在异常数据访问 开启 云审计 服务,记录DMS for RocketMQ的所有访问操作,便于后期审查。 云审计服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 您开通云审计服务并创建和配置追踪器后,CTS可记录DMS for RocketMQ的管理事件和数据事件用于审计。相关文档请参见查看RocketMQ审计日志。 使用 云监控服务 对安全事件进行实时监控和告警。 为使您更好地掌握DMS for RocketMQ实例状态,华为云提供了 云监控 服务(Cloud Eye)。您可使用该服务监控自己的DMS for RocketMQ实例,执行自动实时监控、告警和通知操作,帮助您实时掌握DMS for RocketMQ实例中所产生的请求、流量等信息。 云监控服务不需要开通,会在用户创建DMS for RocketMQ实例后自动启动。相关文档请参见RocketMQ支持的监控指标、配置RocketMQ监控告警。
  • 方案概述 在RocketMQ的实际业务中,消息堆积是比较常见的问题。在消息处理过程中,如果客户端的消费速度跟不上服务端的发送速度,未处理的消息会越来越多,这部分消息就被称为堆积消息。消息没有被及时消费而产生消息堆积,从而会造成消息消费延迟。对于消息消费实时性要求较高的业务系统,即使是消息堆积造成的短暂消息延迟也无法接受。造成消息堆积的原因有以下两个: 消息没有及时被消费,生产者生产消息的速度快于消费者消费消息的速度,从而产生消息积压且无法自行恢复。 业务系统本身逻辑耗费时间较长,导致消息消费效率较低。 消息消费过程 图1 消息消费的过程 一个完整的消息消费过程主要分为2个阶段: 消息拉取 客户端通过批量拉取的方式从服务端获取消息,将拉取到的消息缓存到本地缓存队列中。对于拉取式消费,在内网环境下的吞吐量很高,因此消息拉取阶段一般不会引起消息堆积。 消息消费 客户端将本地缓存的消息提交到消费线程中,提供给业务消费逻辑进行消息处理,待消息处理完成后获取处理结果。此阶段的消费能力依赖于消息的消费耗时和消费并发度。如果由于业务处理逻辑复杂等原因,导致处理单条消息的耗时较长,就会影响整体的消息吞吐量。而消息吞吐量低会导致客户端本地缓存队列达到上限,从而停止从服务端拉取消息,引起消息堆积。 所以,消息堆积的主要瓶颈在于客户端的消费能力,而消费能力由消费耗时和消费并发度决定。消费耗时的优先级要高于消费并发度,应在保证消费耗时合理性的前提下,再考虑消费并发度问题。 消费耗时 影响消息处理时长的主要因素是业务处理的代码逻辑,而代码逻辑中会影响处理时长的主要有两种代码类型:CPU内部计算型代码和外部I/O操作型代码。如果代码中没有复杂的递归和循环处理,CPU内部计算耗时相对于外部I/O操作耗时来说几乎可以忽略,因此应关注外部I/O操作型代码的消息处理效率。 外部IO操作型代码主要有以下业务操作: 读写外部数据库,例如对远程MySQL数据库读写。 读写外部缓存系统,例如对远程Redis读写。 下游系统调用,例如Dubbo的RPC远程调用,Spring Cloud对下游系统的HTTP接口调用。 提前梳理下游系统的调用逻辑,掌握每个调用操作的预期耗时,有助于判断业务逻辑中I/O操作的耗时是否合理。通常消息堆积都是由于下游系统出现了服务异常或容量限制,从而导致消费耗时增加。而服务异常,并不仅仅是系统出现报错,也可能是更加隐蔽的问题,比如网络带宽问题。 消费并发度 客户端的消费并发度由单客户端线程数和客户端数量决定。单客户端线程数是指单个客户端所包含的线程数量,客户端数量是指消费组所包含的客户端(消费者)数量。对于普通消息、定时/延时消息、事务消息及顺序消息的消费并发度计算方法如下: 消息类型 消费并发度 普通消息 单客户端线程数 * 客户端数 定时/延时消息 事务消息 顺序消息 Min(单客户端线程数 * 客户端数,队列数) 单客户端线程数的调整需谨慎,不能盲目调大线程数,如果设置过大的线程数反而会带来大量的线程切换开销。 理想环境下单客户端的最优线程数计算模型为:C *(T1+T2)/T1。 其中,C为单机vCPU核数,T1为业务逻辑的CPU计算耗时,T2为外部I/O操作耗时,另外线程切换耗时忽略不计,I/O操作不消耗CPU,线程需有足够消息等待处理且内存充足。 此处最大线程数的计算模型是在理想环境下得到的,在实际应用中建议逐步调大线程数,在观察效果后再进行调整。
  • 实施方法 为了避免在实际业务中出现非预期的消息堆积问题,需要在业务系统的设计阶段梳理业务逻辑的消费耗时和设置消费并发度。 梳理消费耗时 通过压测获取消息的消费耗时,并对耗时较高的操作代码逻辑进行分析和优化。梳理消息的消费耗时需要注意以下几点: 消息消费逻辑的计算复杂度是否过高,代码是否存在复杂的递归和循环处理。 消息消费逻辑中的I/O操作是否是必须,是否可以使用本地缓存等方案规避。 消息消费逻辑中的复杂耗时操作是否可以做异步化处理。 设置消费并发度 对于消费并发度的计算,可以按如下方法进行处理: 根据公式计算出线程数的理想值,然后选取一个比理想值小的数据作为线程数起始值。逐步调大单个客户端的线程数,并观测客户端的系统指标,得到单个客户端的最优消费线程数和消息吞吐量。 根据上下游链路的流量峰值,计算出需要设置的客户端数量:客户端数=流量峰值/单客户端消息吞吐量。
  • 实施方法 从上面的消费重复场景可以看到,不同Message ID的消息可能有相同的消息内容,因此Message ID无法作为消息的唯一标识符。RocketMQ可以为消息设置Key,把业务的唯一标识作为消息的唯一标识,从而实现消息的幂等。为消息设置Key的示例代码如下: Message message = new Message(); message.setKey("Order_id"); // 设置消息的Key,可以使用业务的唯一标识作为Key,例如订单号等。 SentResult sendResult = mqProducer.send(message); 生产者发送消息时,消息已经设置了唯一的Key,在消费者消费消息时,可以根据消息的Key进行幂等处理。消费者通过getKeys()能够读取到消息的唯一标识(如订单号等),业务逻辑围绕该唯一标识进行幂等处理即可。
  • 方案概述 在RocketMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响。 例如在支付场景下,用户购买商品后进行支付,由于网络不稳定导致用户收到多次扣款请求,导致重复扣款。但实际上扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也可能发生在消息消费阶段。因此,可以将消息重复的场景分为以下两类: 生产者发送消息时发生消息重复: 生产者发送消息时,消息成功发送至服务端。如果此时发生网络闪断,导致生产者未收到服务端的响应,此时生产者会认为消息发送失败,因此尝试重新发送消息至服务端。当消息重新发送成功后,在服务端中就会存在两条内容相同的消息,最终消费者会消费到两条内容一样的重复消息。 消费者消费消息时发生消息重复: 消费者消费消息时,服务端将消息投递至消费者并完成业务处理。如果此时发生网络闪断,导致服务端未收到消费者的响应,此时服务端会认为消息投递失败。为了保证消息至少被消费一次,服务端会尝试投递之前已被处理过的消息,最终消费者会消费到两条内容一样的重复消息。
  • 实施方法 订阅一个Topic且订阅一个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A,且都订阅了Topic_A的Tag_A,符合订阅关系一致原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "Tag_A"); 订阅一个Topic且订阅多个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A,且都订阅了Topic_A的Tag_A和Tag_B(即订阅Topic_A中所有Tag为Tag_A或Tag_B的消息),顺序都是Tag_A||Tag_B,符合订阅关系一致性原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "Tag_A||Tag_B"); 订阅多个Topic且订阅多个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A和Topic_B,且订阅Topic_A都未指定Tag(即订阅Topic_A中的所有消息),订阅Topic_B的Tag都是Tag_A和Tag_B(即订阅Topic_B中所有Tag为Tag_A或Tag_B的消息),顺序都是Tag_A||Tag_B,符合订阅关系一致性原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "*"); consumer.subscribe("Topic_B", "Tag_A||Tag_B");
  • 方案概述 订阅关系一致指的是同一个消费组下所有消费者所订阅的Topic、Tag必须完全一致。如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。 消费原理 RocketMQ为每个Topic划分了消息队列(Queue),队列数越大消费的并发度越大。一个消费组表示一个消费者群组,在分布式应用场景下,同一个消费组中的多个消费者共同完成Topic所有Queue的消费。Queue的分配以消费组为单位,会均匀分配给消费组下的消费者,而不会在意该消费者是否订阅了当前Topic。一个消费者只会分配到Topic中的某几个Queue,而一个Queue只会分配给一个消费者。 正确的订阅关系 在分布式应用场景下,一个消费组中所有的消费者拥有一个相同的消费组ID,他们需订阅相同的Topic和Tag,保持订阅关系一致,才能保证消息消费逻辑正确,消息不丢失。 同一个消费组的消费者必须订阅同一个Topic。例如,消费组Group1中有消费者A和消费者B,消费者A订阅了Topic A和Topic B,则消费者B也必须订阅Topic A和Topic B,不能只订阅Topic A或只订阅Topic B,或者额外订阅Topic C。 同一个消费组的消费者订阅同一个Topic下的Tag必须一致,包括Tag的数量和顺序。例如,消费组Group2中有消费者A和消费者B,消费者A订阅Topic A且Tag为Tag A||Tag B,则消费者B订阅Topic A时Tag也必须为Tag A||Tag B,不能只订阅Tag A或只订阅Tag B或订阅Tag B||Tag A。 图1 正确的订阅关系一致设置 订阅关系一致性保证了同一个消费组中消费消息的正常运行,避免消息逻辑混乱和消息丢失。在实际使用中,生产者端要做好消息的分类,便于消费者可以使用Tag进行消息的准确订阅。而在消费者端,则要保证订阅关系的一致性。 错误的订阅关系 同一消费组下的消费者订阅了不同的Topic 例如,消费组Group1下有消费者A和消费者B,消费者A订阅了Topic A,消费者B订阅了Topic B。当生产者向Topic A发送消息时,消息会按Queue均匀发送给消费者A和消费者B。由于消费者B没有订阅Topic A的消息,会把Topic A消息过滤掉(即图2中Topic A的Queue2中的消息会被消费者B过滤),从而导致部分Topic A消息未被消费。 图2 错误的Topic订阅 同一消费组下的消费者订阅了相同Topic下不同的Tag 例如,消费组Group1下有消费者A和消费者B,消费者A订阅了Topic A的Tag A,消费者B订阅了Topic A的Tag B。当生产者A向Topic A发送Tag A的消息时,Tag A消息会按Queue均匀发送给消费者A和消费者B。由于消费者B没有订阅Tag A的消息,会把Tag A消息过滤掉(即图3中Queue2中的Tag A消息会被消费者B过滤),从而导致部分Tag A消息未被消费。 图3 错误的Tag订阅
  • 操作步骤 获取 域名 对应的CNAME值。 登录 视频点播 控制台。 在左侧导航树中,选择“域名管理”。 在所需域名行,获取对应的CNAME 。 图1 获取CNAME值 登录云解析服务控制台。 在左侧导航树中,选择“公网域名”。 在需要配置解析的域名行,单击域名名称,如图2所示。 图2 域名列表 单击页面右上角的“添加记录集”。 图3 添加记录集 根据界面提示填写参数配置,参数信息如表1所示。 表1 参数说明 参数名 描述 记录类型 记录集的类型,此处为CNAME类型。 选择“CNAME-将域名指向另外一个域名”。 主机记录 输入域名的二级域名(后缀无需用户手动填写)。 以播放域名“play-test.example.com”为例,此处输入“play-test”。 线路类型 用于DNS服务器在解析域名时,根据访问者的来源,返回对应的服务器IP地址,具体请参见解析线路。 仅支持为公网域名的记录集配置此参数。 选择“全网默认”。 TTL (秒) 解析记录在本地DNS服务器的缓存时间,以秒为单位。 数值越小,修改记录各地生效时间越快。 默认为300秒,若无特殊需求,可直接保持默认选择。 记录值 需指向的域名,即当前章节步骤1中获取的CNAME。 以播放域名“play-test.example.com”为例,此处输入“play-test.example.com.c.cdnhwc3.com”。 别名 用于是否将此记录集关联至云服务资源实例。 开启:为此记录集关联云服务资源实例,详细说明请参见设置记录集别名。 关闭:不为此记录集关联云服务资源实例。 设置为关闭。 权重 可选参数,返回解析记录的权重比例。默认值为1,取值范围:0~1000。 仅支持为公网域名的记录集配置此参数。 当域名在同一解析线路中有多条相同类型的解析记录时,可以通过“权重”设置解析记录的响应比例。详细内容请参见配置权重解析。 配置为“1”。 标签 可选参数,记录集的标识,包括键和值,每个记录集可以创建10个标签。键和值的命名规则,详见添加CNAME类型记录集。 取值示例如下: example_key1 example_value1 描述 可选参数,对域名的描述,主要起到提示作用。 长度不超过255个字符。 单击“确定”,完成添加。 您可以在域名对应的记录集列表中查看添加的记录集。当记录集的状态显示为“正常”时,表示记录集添加成功。
  • 其它操作 增量托管配置添加后,您可以对在托管列表中对相关配置做如下操作: 编辑:修改已添加的增量托管配置。 开启:开启处于“关闭”状态中的增量托管配置。开启后,若托管配置中的OBS桶有新增音视频文件,则将会托管到点播服务,可在控制台的“音视频管理”页面查看到。 关闭:关闭处于“开启”状态的增量托管配置。关闭后,若托管配置中的OBS桶有新增音视频,则将不会托管到点播服务中。 删除:删除增量托管配置后,对应的OBS桶将与点播服务无托管关系。
共100000条