通义千问是阿里云自主研发的大语言模型,能够在用户自然语言输入的基础上,通过自然语言理解和语义分析,在不同领域、任务内为用户提供服务和帮助。本实验介绍如何通过函数计算实现基于通义千问的AI对话。

通义千问模型接受用户以文本形式的指令(prompt)以及不定轮次的对话历史(history)作为输入,并基于这些信息生成回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观地理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母或1个单词。例如,中文文本“你好,我是通义千问”会被转换成序列['你','好',',','我','是','通','义','千','问'],而英文文本"Nicetomeetyou."则会被转换成['Nice','to','meet','you','.']。

由于模型调用的计算量与token序列长度相关,输入或输出token数量越多,模型的计算时间越长,我们将根据模型输入和输出的token数量计费。可以从API返回结果的usage字段中了解到您每次调用时使用的token数量。您也可以使用Token计算器或者调用Token计算API来预估文本对应的token数量。

背景知识

本场景主要涉及以下云产品和服务:

函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务,您无需管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。

  • 通义千问模型

通义千问模型接受用户以文本形式的指令(prompt)以及不定轮次的对话历史(history)作为输入,并基于这些信息生成回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观地理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母或1个单词。例如,中文文本“你好,我是通义千问”会被转换成序列['你', '好', ',', '我', '是', '通', '义', '千', '问'],而英文文本"Nice to meet you."则会被转换成['Nice', ' to', ' meet', ' you', '.']。

由于模型调用的计算量与token序列长度相关,输入或输出token数量越多,模型的计算时间越长,我们将根据模型输入和输出的token数量计费。可以从API返回结果的usage字段中了解到您每次调用时使用的token数量。您也可以使用Token计算器或者调用Token计算API来预估文本对应的token数量。

通义千问支持的模型如下:

              模型名称

                 模型简介

        模型输入/输出限制

qwen-turbo

通义千问超大规模语言模型,支持中文、英文等不同语言输入。

模型支持8k tokens上下文,为了保证正常的使用和输出,API限定用户输入为6k tokens

qwen-plus

通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。

模型支持32k tokens上下文,为了保证正常的使用和输出,API限定用户输入为30k tokens

              qwen-max

        (限时免费开放中)

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,qwen-max将滚动更新升级,如果希望使用稳定版本,请使用qwen-max-1201。

模型支持8k tokens上下文,为了保证正常的使用和输出,API限定用户输入为6k tokens

            qwen-max-1201

       (限时免费开放中)

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。

模型支持8k tokens上下文,为了保证正常的使用和输出,API限定用户输入为6k tokens

       qwen-max-longcontext

           (限时免费开放中)

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。

模型支持30k tokens上下文,为了保证正常的使用和输出,API限定用户输入为28k tokens