http请求到给到模型的参数之间是怎么对应的 ModelScope 有文档说明吗?

http请求到给到模型的参数之间是怎么对应的 ModelScope 有文档说明吗?

展开
收起
真的很搞笑 2023-05-20 16:47:21 122 分享 版权
阿里云 AI 助理回答

在ModelScope中,HTTP请求参数与模型输入参数之间的对应关系可以通过文档中的具体说明来理解。以下是详细的解析和对应方式:


1. HTTP请求的基本结构

HTTP请求通常由以下几部分组成: - Header:包含请求的元信息,例如Content-TypeAuthorization。 - Body:包含具体的请求数据,通常是JSON格式。

在ModelScope中,HTTP请求的参数设计遵循标准的RESTful API规范。以下是一些关键字段的说明:

Header 参数

  • Content-Type

    • 类型:字符串
    • 必选:是
    • 描述:指定请求的内容类型,通常为application/json
    • 示例值:application/json
  • Authorization

    • 类型:字符串
    • 必选:是
    • 描述:用于身份验证的API密钥,通常以Bearer <your-api-key>的形式提供。
    • 示例值:Bearer d1xxx2a

Body 参数

  • model

    • 类型:字符串
    • 必选:是
    • 描述:指定需要调用的模型名称或ID。
    • 示例值:gte-rerank
  • input

    • 类型:对象或字符串
    • 必选:是
    • 描述:模型的具体输入数据,可以是文本、图像URL或其他形式的数据。
    • 示例值:{"text_input": "什么是人工智能?"}
  • parameters

    • 类型:对象
    • 必选:否
    • 描述:模型推理时的额外参数,例如温度(temperature)、种子(seed)等。
    • 示例值:{"stream": false, "temperature": 0.9, "seed": 10}

2. 参数映射到模型输入

在ModelScope中,HTTP请求的Body部分直接映射到模型的输入参数。以下是具体的映射规则:

输入参数示例

假设我们调用一个文本生成模型,HTTP请求的Body可能如下所示:

{
  "model": "qwen/Qwen1.5-4B-Chat",
  "input": {
    "text_input": "什么是人工智能?"
  },
  "parameters": {
    "stream": false,
    "temperature": 0.9,
    "seed": 10
  }
}
  • model:指定模型ID或名称,例如qwen/Qwen1.5-4B-Chat
  • input.text_input:模型的主输入,通常是用户提供的问题或文本。
  • parameters:控制模型行为的附加参数,例如:
    • stream:是否启用流式输出。
    • temperature:控制生成结果的随机性。
    • seed:设置随机数种子以确保结果可复现。

这些参数会直接传递给模型的推理引擎,作为其运行时的输入。


3. 响应数据的结构

模型的输出通常以JSON格式返回,包含以下字段:

响应参数示例

{
  "model_name": "/root/.cache/modelscope/hub/qwen/Qwen1.5-4B-Chat",
  "text_output": "什么是人工智能?人工智能是研究如何使计算机和机器模仿人类的智能行为来实现自主思考"
}
  • model_name:模型的名称或路径。
  • text_output:模型生成的结果。

对于更复杂的任务(如文本排序或语义相似度计算),响应可能包含多个字段,例如resultsrelevance_score等。


4. 异步调用模式

如果模型支持异步处理,可以在请求中添加X-DashScope-Async头,并将其值设置为enable。异步调用的流程如下: 1. 发送请求后,立即返回一个批处理作业ID。 2. 使用该ID查询作业的执行状态和结果。

示例请求:

curl -X POST 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding' \
-H 'Authorization: Bearer <your-dashscope-api-key>' \
-H 'Content-Type: application/json' \
-H 'X-DashScope-Async: enable' \
-d '{
  "model": "text-embedding-async-v1",
  "input": {
    "url": "https://example.com/resource.txt"
  },
  "parameters": {
    "text_type": "document"
  }
}'

5. 重要注意事项

  • 模型版本:在部署模型时,必须指定一个确定的模型版本(如v1.0.1),不能使用master分支。
  • 非公开模型:如果需要部署非公开模型,需提供SDK访问令牌(ACCESS_TOKEN)。
  • 参数校验:确保请求参数符合模型的要求,例如query的最大长度不能超过4000个字符。

通过以上说明,您可以清晰地了解HTTP请求参数与ModelScope模型输入之间的对应关系。如果您需要进一步的细节,可以参考相关文档中的具体示例和参数说明。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

热门讨论

热门文章

还有其他疑问?
咨询AI助理