一、FastGPT 简介

FastGPT 是一种基于 Transformer 架构的自然语言处理模型,它通过对大规模文本数据的学习,具备了强大的语言理解和生成能力。其优势在于能够快速处理和理解自然语言输入,并生成连贯、准确的响应,这使得它成为搭建智能体的理想选择。

二、AI 测试用例生成机器人的架构与工作流程

(一)自然语言处理模块

文本预处理:对输入的自然语言文本进行清洗和规范化处理,包括去除噪声、分词、词性标注、命名实体识别等操作,以便后续模型更好地理解和处理文本。

语义理解:利用 FastGPT 的预训练模型对预处理后的文本进行语义分析,提取文本中的关键信息和意图,理解用户的需求和指令。

意图识别:基于语义理解的结果,进一步确定用户的意图,例如生成测试用例、查询信息等,为智能体的后续操作提供方向。

语言生成:根据意图识别的结果和智能体的逻辑处理,通过 FastGPT 生成自然、准确的自然语言响应,以回答用户的问题或完成用户的任务。

这里给大家演示一下使用kimi,大模型的自然语言处理是怎么工作的:我向大模型提问了一个问题,大模型开始思考

 

(二)测试用例设计模块

需求分析:深入理解用户输入的软件需求描述,从软件测试的角度分析需求,找出测试场景和关键点。

质量规范参考:仔细阅读用户输入的质量规范,充分理解规范中的要求和标准,确保生成的测试用例符合质量规范。

测试方法选择:根据需求和质量规范,选择合适的测试方法,包括但不限于等价类划分、边界值分析、因果图、状态机、错误推测法等。

测试用例生成:基于选定的测试方法和需求分析结果,运用测试理论生成各种正常、异常和边缘测试场景的测试用例。

(三)输出模块

格式化输出:将生成的测试用例按照指定的 markdown 格式进行格式化,确保输出结果符合要求。

用例审查:对生成的测试用例进行审查,基于相关的指导知识分析用例的全面性,补全缺失的用例,确保测试用例的完整性和有效性。

这里我举例说明一下大模型给出的回复


知识拓展
(一)提示词工程是什么?
提示工程是一个较新的学科,应用于开发和优化提示词(Prompt),帮助用户有效地将语言模型用于各种应用场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提高大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计和研发出强大的技术,实现和大语言模型或其他生态工具的高效接轨
(二)提示词要素是什么?
指令:想要模型执行的特定任务或指令。

上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。

输入数据:用户输入的内容或问题。

输出指示:指定输出的类型或格式。

提示词举例:
请将文本分为中性、否定或肯定

文本:我觉得食物还可以。

情绪:

指令是“将文本分类为中性、否定或肯定”。输入数据是“我认为食物还可以”部分,使用的输出指示是“情绪:”。请注意,此基本示例不使用上下文,但也可以作为提示的一部分提供

零样本提示Zero-Shot:
零样本提示Zero-Shot,是指没有任何相关数据的参照下,直接对模型进行提问,用自然语言指令让模型输出内容完成一个任务,例如用通过对话模型生成式地完成情感分类任务


少样本提示Few-Shot

少样本提示Few-Shot是指,在用自然语言描述的任务中加入少量相关的任务例子,使得模型更加充分地理解任务的目标和输出要求,增加任务完成的准确性,还是以情感分类为例,对模型进行Few-Shot如下



思维链提示CoT

思维链提示(Chain-of-Thought,CoT),常用于推理规划类问题,包括逻辑推理,数学推理,常识推理等,相比于语言语境能力,推理问题对于大语言模型而言更难,因为对于推理问题,大模型的训练是把推理结果作为下一个词直接预测,而忽略了中间的思考过程,而人类在面对推理问题时往往是逐步求解,最后得到任务的答案。思维链提示的目的就是让明确告诉模型先输出中间过程,再逐步运算生成答案。

很明显,模型回答的是错误的,正确答案应该是11,我们采用思维链提示的方式再试一次,具体是给到模型一条类似的题目,并且告诉模型解题步骤,解题步骤包括中间过程和最终的结果,使得对该类问题模型采用这种逐步的思考方式进行回答,提问和回答如下                  

思维链的方式提问推理问题

显然模型回答正确,且逻辑清晰,中间过程和结果都回答得很好。
除了给到参考解题例子之外,研究人员提出零样本思维链提示,只需要在问题结尾加上**”让我们逐步思考“**这个魔法语句,模型就能够实现逐步推理,我们以这种方式进行提问试验一下


零样本思维链提示回答推理问题
同样得到了正确的结果,显然思维链提示CoT对于推理问题比直接提问更有效。
任务分解 Least-to-Most

任务分解,也被叫作由少到多提示(Least-to-Most),旨在当面对复杂提问时,将其转化为多个容易解决的子问题,并逐一解决它们得到最后的结果。任务分解的方式和思维链类似,区别在于任务分解会进行多轮问答,并且之前子问题的回答会加入到下一次的提问中,相当于逐步填充问题的上下文,降低复杂多步推理问题的难度。

我们同样先做对比,对模型直接提问一个计算题,问题和回答如下

直接对模型提问复杂问题

很明显答案错误,正确答案应该是5桶。下面我们采用任务分解的形式,首先提问模型解决这个问题需要先完成哪个子问题

 

回答子问题是什么

模型说了一大堆,第一句话就已经回答出了子问题,即要先解决购物劵总额的问题,我们将这个问题加入到原始提问中,让模型先回答出这个子问题的答案

   回答子问题的答案

子问题回答正确,购物劵总额是500元,下一步就可以直通最终问题了,我们将子问题和子问题的答案拼接到原始提问上,形成最终的Prompt

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐