1.火山引擎账号的申请及认证(https://www.volcengine.com/

2.注册好后去进行实名认证个人或者企业(https://console.volcengine.com/user/authentication/detail/

3.在产品-火山方舟中创建ApiKey

 https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D

4.在模型广场选择模型,根据个人需求选择开通模型(已经开通的直接选择)推荐模型 Doubao-1.5-vision-pro-32k Doubao-lite-128k  Doubao-1.5-pro-256k

5.把对应的API KEY复制到代码中

 

 

//豆包智能建议
    public function apiDouBao() {
        
        $content = $this->request->post('description');
        
        $apiUrl = "https://ark.cn-beijing.volces.com/api/v3/chat/completions"; 
        $apiKey = config('site.doubao_apiKey'); //API密钥

        $postData = [
            'model' => 'doubao-1-5-lite-32k-250115',//'doubao-seed-1.6-250615',
            'messages' => [
                [
                    'role' => 'user',
                    'content' => $content.',给些建议,字数在30至50个字',
                ]
            ],
            //   'stream' => true // 启用流式响应
        ];
        
        $result = $this->curlPost($apiUrl,$postData,$apiKey);
        
        // 解析返回的JSON数据
        $result = json_decode($result, true);
        
        if(isset($result['choices'][0]['message']['content'])) {
            $content = $result['choices'][0]['message']['content'];
            $this->success('获取成功',$content);
        } else {
            $this->error('智能建议失败');
        }
    }
    
    public function curlPost($apiUrl,$postData,$apiKey) {
        
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $apiUrl);

        curl_setopt($ch, CURLOPT_POST, true); //post
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));

        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json;',
            'Accept: application/json',
            // "Connection: close\r\n",
            'Authorization: Bearer ' . $apiKey, // 如果 Moonshot AI 使用这种授权方式
        ));
        //   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //验证curl对等证书(一般只要此项)
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //检查服务器SSL证书中是否存在一个公用名


        curl_setopt($ch, CURLOPT_SSLVERSION, 0);  //传递一个包含SSL版本的长参数。
//         curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // curl_setopt($ch, CURLOPT_BUFFERSIZE, 3060); // 设置缓冲区大小为1024字节
        // curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024);
        // curl_setopt($ch, CURLOPT_WRITEFUNCTION, [$this->streamHand, 'callback']);

        // curl_close($ch);
        $result = curl_exec($ch);

        curl_close($ch);
        
        return $result;
    }

  

 

posted on 2025-07-17 11:20  cx小橙  阅读(243)  评论(0)    收藏  举报