内容生成服务

AI搜索开放平台支持通过API的方式调用大模型服务,包含基于阿里巴巴自研模型底座微调的RAG专属大模型,可结合文档处理、检索服务等,在RAG场景中广泛应用,提升答案的准确率,降低幻觉率。

服务名称

服务ID

(service_id)

服务描述

API调用QPS限制

(含主账号与RAM子账号)

OpenSearch-通义千问-Turbo

ops-qwen-turbo

qwen-turbo大规模语言模型为模型底座,进行有监督的模型微调,强化检索增强,减少有害性。

3

说明

如需扩充QPS,请通过工单联系技术支持协助。

通义千问-Turbo

qwen-turbo

通义千问系列速度最快、成本极低的模型,适合简单任务。

通义千问-Plus

qwen-plus

能力均衡,推理效果、成本和速度介于通义千问-Max和通义千问-Turbo之间,适合中等复杂任务。

通义千问-Max

qwen-max

通义千问系列效果最好的模型,适合复杂、多步骤的任务。

DeepSeek-R1

deepseek-r1

专注于复杂推理任务的大语言模型,在复杂指令理解、结果准确性等方面表现较突出。

DeepSeek-V3

deepseek-v3

DeepSeek-V3是一款MoE模型,在长文本、代码、数学、百科、中文能力上表现优秀。

DeepSeek-R1-distill-qwen-7b

deepseek-r1-distill-qwen-7b

基于知识蒸馏技术,通过使用DeepSeek-R1生成的训练样本对Qwen-7B微调训练的模型。

DeepSeek-R1-distill-qwen-14b

deepseek-r1-distill-qwen-14b

基于知识蒸馏技术,通过使用DeepSeek-R1生成的训练样本对Qwen-14B微调训练的模型。

前提条件

  • 获取身份鉴权信息

    通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY

  • 获取服务调用地址

    支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址

请求说明

公共说明

  • 请求body最大不能超过8MB。

HTTP请求方式

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/text-generation/{service_id} 

参数说明:

  • host:调用服务的地址,支持通过公网和VPC两种环境调用API服务,可参见获取服务接入地址

    AI apikey截图.png

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务id,例如ops-qwen-turbo。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

示例值

messages

List

用户与模型的对话历史。list中的每个元素形式为{"role":角色, "content": 内容},角色当前可选值:system、user、assistant。

  • system:表示系统级消息,只能用于对话历史的第一条(messages[0])。使用system角色是可选的,如果存在,必须位于列表的最开始。

  • userassistant:表示用户和模型的对话。它们应交替出现在对话中,模拟实际对话流程,最后一个messagerole必须为user。

stream

Boolean

是否流式返回,默认为false。

当为true时,每次输出为当前生成的整个序列,最后一次输出为最终全部生成结果

false

parameters

Map

请求大模型可调整参数。

parameters.seed

Integer

生成时使用的随机数种子,用户控制模型生成内容的随机性。seed支持无符号64位整数。在使用seed时,模型将尽可能生成相同或相似的结果,但目前不保证每次生成的结果完全相同。

"parameters":{"seed":666}

parameters.max_tokens

Integer

用于限制模型生成token的数量,表示生成token个数的上限。其中qwen-turbo最大值和默认值为1500,qwen-max、qwen-max-1201 和 qwen-plus最大值和默认值均为2000。

"parameters":{"max_tokens":1500}

parameters.top_p

Float

生成时,核采样方法的概率阈值。例如,取值为0.8时,仅保留累计概率之和大于等于0.8的概率分布中的token,作为随机采样的候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的随机性越低。注意,取值不要大于等于1。

"parameters":{"top_p":0.7}

parameters.top_k

Integer

生成时,采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。注意:如果top_k参数为空或者top_k的值大于100,表示不启用top_k策略,此时仅有top_p策略生效。

"parameters":{"top_k":50}

parameters.repetition_penalty

Integer

用于控制模型生成时连续序列中的重复度。提高repetition_penalty时可以降低模型生成的重复度。1.0表示不作惩罚。没有严格的取值范围,只要大于0即可。

"parameters":{"repetition_penalty":1.0}

parameters.presence_penalty

Float

用户控制模型生成时整个序列中的重复度。提高presence_penalty时可以降低模型生成的重复度,取值范围 [-2.0, 2.0]。

"parameters":{"presence_penalty":1.0}

parameters.temperature

Float

用于控制随机性和多样性的程度。具体来说,temperature值控制了生成文本时对每个候选词的概率分布进行平滑的程度。较高的temperature值会降低概率分布的峰值,使得更多的低概率词被选择,生成结果更加多样化;而较低的temperature值则会增强概率分布的峰值,使得高概率词更容易被选择,生成结果更加确定。

取值范围:[0, 2),不建议取值为0,无意义。

"parameters":{"temperature":0.85}

parameters.stop

string/array

stop参数用于实现内容生成过程的精确控制,在模型生成的内容即将包含指定的字符串或token_id时自动停止,生成的内容不包含指定的内容。stop可以为string类型或array类型。

  • string类型

    当模型将要生成指定的stop词语时停止。

    例如将stop指定为"你好",则模型将要生成“你好”时停止。

  • array类型

    array中的元素可以为token_id或者字符串,或者元素为token_idarray。当模型将要生成的token或其对应的token_idstop中时,模型生成将会停止。

    例如将stop指定为["你好","天气"]或者[108386,104307],则模型将要生成“你好”或者“天气”时停止。如果将stop指定为[[108386, 103924],[35946, 101243]],则模型将要生成“你好啊”或者“我很好”时停止。

    说明

    stoparray类型时,不可以将token_id和字符串同时作为元素输入,比如不可以指定stop["你好",104307]

"parameters":{"stop":["你好","天气"]}

说明:ops-qwen-turbo的最大tokens限制为4000

返回参数

参数

类型

描述

示例值

result.text

String

本次模型生成的文本。

郑州是一个...

usage.output_tokens

Integer

模型生成内容的Token长度。

100

usage.input_tokens

Integer

用户输入内容的Token长度。

100

usage.total_tokens

Integer

用户输入和模型生成内容的总Token数。

200

Curl请求示例

curl -XPOST -H"Content-Type: application/json" 
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/text-generation/ops-qwen-turbo" 
-H "Authorization: Bearer 您的API-KEY"   
 -d "{
      \"messages\":[
      {
          \"role\":\"system\",
          \"content\":\"你是一个机器人助手\"
      },
      {
          \"role\":\"user\",
          \"content\":\"河南的省会是哪里\"
      },
      {
          \"role\":\"assistant\",
          \"content\":\"郑州\"
      },
      {
          \"role\":\"user\",
          \"content\":\"那里有什么好玩的\"
      }
      ],
      \"stream\":false
}"

响应示例

正常响应示例

{
  "request_id": "450fcb80-f796-****-8d69-e1e86d29aa9f",
  "latency": 564.903929,
  "result": {
    "text":"郑州是一个历史文化悠久且现代化的城市,有很多好玩的地方。以下是一些推荐的旅游景点:
    嵩山少林寺:作为少林武术的发源地,嵩山少林寺一直以来都是游客向往的地方。在这里,你可以欣赏到精彩的武术表演,领略少林功夫的魅力。
    黄河游览区:黄河是中华民族的母亲河,而在郑州,你可以乘坐游船观赏黄河的多种风情,感受大河之美。
    郑州动物园:这是一个适合全家游玩的景点,拥有各种珍稀动物,如大熊猫、金丝猴等,让孩子们近距离接触动物,增长见识。
    郑州博物馆:如果你对历史文化感兴趣,那么郑州博物馆是一个不错的选择。这里收藏了大量珍贵的文物,展示了郑州地区的历史变迁和文化传承。
    郑州世纪公园:这是一个大型的城市公园,拥有美丽的湖泊、花园和休闲设施。在这里,你可以进行散步、慢跑等户外活动,享受大自然的宁静与和谐。
    以上只是郑州众多好玩地方的一部分,实际上郑州还有很多其他值得一游的景点。希望你在郑州的旅行能够愉快!"
  }
  "usage": {
      "output_tokens": 6320,
      "input_tokens": 35,
      "total_tokens": 6355,
  }
  
}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过codemessage指明出错原因。

{
    "request_id": "45C8C9E5-6BCB-****-80D3-E298F788512B",
    "latency": 0,
    "code": "InvalidParameter",
    "message": "JSON parse error: Unexpected character ..."
}

状态码说明

请参见AI搜索开放平台状态码说明