+
89
-

回答

根据官网的文档,可以在api请求千问大模型的时候设置输出格式,在调用时,设置response_format为{"type": "json_object"},并通过系统消息或用户消息指引模型输出JSON格式即可。

结构化输出功能支持qwen-max-0919、qwen-max-latest、qwen-plus、qwen-plus-0919、qwen-plus-latest、qwen-turbo、qwen-turbo-0919、qwen-turbo-latest模型。

800_auto

api调用代码示例,我们以php为例

点击查看示例代码

<?php

//适合兼容chatgpt接口的所有流式stream输出的大模型接口,例如千问
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$messages = [["role" => "system",
    "content" => "你是一个AI助手chatai,返回json格式{message:data}"]];

$messages[] = ["role" => "user",
    "content" => "你好"];
$_postobj = array("model" => "qwen-plus",
    "messages" => $messages,
    "max_tokens" => 100,
    "temperature" => 1,
    // "top_p" => 1,
    "n" => 1,
    "stream" => false,
    "response_format"=>["type"=>"json_object"]
      
    
     //"stream_options"=>["include_usage"=> true]
);


curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($_postobj, JSON_UNESCAPED_UNICODE));
$certificate = "/data/wwwroot/default/asset/cacert.pem";
curl_setopt($ch, CURLOPT_CAINFO, $certificate);
curl_setopt($ch, CURLOPT_CAPATH, $certificate);
// curl_setopt($ch, CURLOPT_SSLVERSION, 3);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);

// Set the API key as an HTTP header
$headers = array();
$headers[] = "Content-Type: application/json";
$headers[] = "Authorization: Bearer apikey";

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


    // 处理获得的数据
 
// Send the request and parse the response
$response = curl_exec($ch);
$response_data = json_decode($response, true);
//echo $response."/n";

if (curl_errno($ch)) {
    // If there was an error executing the cURL request, print it out
    //echo 'Error: ' . curl_error($ch);

    echo  curl_error($ch);
    curl_close($ch);
} else {
    // // Otherwise, print the response from the GPT-3 API
    // curl_close($ch);
    // //   var_dump($response_data);
     echo $response_data['choices'][0]['message']['content'];

    // var_dump($response_data) ;

}

https://help.aliyun.com/zh/dashscope/developer-reference/qwen-api

网友回复

我知道答案,我要回答