根据官网的文档,可以在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模型。
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
网友回复