iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 文心千帆API接口对接
  • 268
分享到

PHP 文心千帆API接口对接

php数学建模开发语言 2023-08-31 05:08:35 268人浏览 安东尼
摘要

 一:api 调用流程简介 创建一个智能云应用。根据实际需求创建智能云应用。创建成功后,获取AppID、API Key、Secret Key 等信息。API 授权。对应用的 AppID 进行授权。获取接口访问凭证 access_token

 一:api 调用流程简介

  1. 创建一个智能云应用。根据实际需求创建智能云应用。创建成功后,获取AppID、API Key、Secret Key 等信息。
  2. API 授权。对应用的 AppID 进行授权。
  3. 获取接口访问凭证 access_token 。根据第1步获取的 API Key 和 Secret Key ,
    获取 access_token ,通过 access_token 鉴权调用者身份。
  4. 调用API接口。调用创建chat接口,详见本文说明。

二:具体功能实现

 Chat.PHP

client_id = $client_id;        $this->client_secret = $client_secret;    }    public function runErnieBot($message) {        $curl = curl_init();        curl_setopt_array($curl, array(            CURLOPT_URL => "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={$this->getAccessToken()}",            CURLOPT_TIMEOUT => 30,            CURLOPT_RETURNTRANSFER => true,            CURLOPT_CUSTOMREQUEST => 'POST',            CURLOPT_POSTFIELDS =>$message,            CURLOPT_HTTPHEADER => array(                'Content-Type: application/json'            ),        ));        $response = curl_exec($curl);        curl_close($curl);        return $response;    }    public function runErnieBotTurbo($message) {        $curl = curl_init();        curl_setopt_array($curl, array(            CURLOPT_URL => "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={$this->getAccessToken()}",            CURLOPT_TIMEOUT => 30,            CURLOPT_RETURNTRANSFER => true,            CURLOPT_CUSTOMREQUEST => 'POST',            CURLOPT_POSTFIELDS =>$message,            CURLOPT_HTTPHEADER => array(                'Content-Type: application/json'            ),        ));        $response = curl_exec($curl);        curl_close($curl);        return $response;    }                private function getAccessToken(){        $curl = curl_init();        curl_setopt_array($curl, array(            CURLOPT_URL => "https://aip.baidubce.com/oauth/2.0/token?client_id=".$this->client_id."&client_secret=".$this->client_secret."&grant_type=client_credentials",            CURLOPT_TIMEOUT => 30,            CURLOPT_RETURNTRANSFER => true,            CURLOPT_CUSTOMREQUEST => 'POST',            CURLOPT_HTTPHEADER => array(                'Content-Type: application/json',                'Accept: application/json'            ),        ));        $response = curl_exec($curl);        curl_close($curl);        $rtn = json_decode($response);        return $rtn->access_token;    }}

 这里我使用的是多轮

public function run() {    $user_id = 1;//用户ID    $msg = "如何成为更好的人";//用户聊天内容    $is_stream = 0;//是否以流式接口的形式返回数据,默认false。    $cacheKey = $user_id.'@chatlog';// 缓存文件名    $old_content = cache($cacheKey);    include_once CMF_ROOT . 'vendor/baidubce/Chat.php';    $chat = new Chat('ClientId','ClientSecret');//自行更改一下配置    $messages = [];    $my_msg = [];    $my_msg['role'] = 'user';    $my_msg['content'] = $msg;    if (!$old_content) {        // 之前该用户没有存在聊天记录        $messages['messages'][] = $my_msg;    } else {        // 之前有聊天记录        $messages = json_decode($old_content,true);        $messages['messages'][] = $my_msg;    }    $messages['stream'] = $is_stream == 1 ? true : false;        $data = json_encode($messages,JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);    $response = $chat->runErnieBotTurbo($data);    $res = [];    if ($is_stream == 1) {        $str_arr = explode("data: ",$response);        array_shift($str_arr);        $res_msg = [];        for ($i=0; $i < count($str_arr); $i++) {            $arr = [];            $arr =  json_decode($str_arr[$i],true);            $res_msg[] = $arr['result'];        }        $res['result'] = implode("\n\n",$res_msg);    } else {        $res = json_decode($response,true);    }    $assistant_msg = [];    $assistant_msg['role'] = 'assistant';    $assistant_msg['content'] = $res['result'];    $messages['messages'][] = $assistant_msg;    cache($cacheKey,json_encode($messages));    $this->success('请求成功!',$messages);}

三:相关问题

 01 单轮与多轮的区别

多轮的需要在请求参数中将之前发送与返回的数据也加上,上面的代码示例是用的多轮,不过推荐大家使用单轮响应的方式。

 

 02 注意流式接口返回数据与其他不同,需要对数据进行处理

 03 可能会遇到的问题

最开始对接的时候,提示以下错误信息:(无权限访问该用户数据。)

{"error_code":6,"error_msg":"No permission to access data"}

 首先这种问题需要考虑创建应用是否勾选相关接口权限。

 

来源地址:https://blog.csdn.net/qq_32845825/article/details/131203416

--结束END--

本文标题: PHP 文心千帆API接口对接

本文链接: https://www.lsjlt.com/news/384296.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP 文心千帆API接口对接
     一:API 调用流程简介 创建一个智能云应用。根据实际需求创建智能云应用。创建成功后,获取AppID、API Key、Secret Key 等信息。API 授权。对应用的 AppID 进行授权。获取接口访问凭证 access_token...
    99+
    2023-08-31
    php 数学建模 开发语言
  • api接口对接如何实现,php如何对接api
    这篇文章来分享下api接口对接如何实现,还有源码,希望对新手有所帮助。 什么是API 我的回答:API( 应用程序编程接口):一般来说,这是一套明确定义的各种软件组件之间的通信方法。 什么是API?我们不妨用一个小故事展示出来: 研发人员A...
    99+
    2023-09-01
    php 开发语言
  • 开发API文档:PHP API接口的步骤指南
    随着Web应用程序的日益普及,API(应用程序接口)越来越重要,在Web开发中扮演着越来越重要的角色。Web API是一种允许用户通过Internet来访问应用程序的技术,是将不同的应用程序组合在一起的基础工具。 PHP是一种被...
    99+
    2024-01-22
    PHP API接口 开发文档
  • PHP Thinkphp5.0对接美团API接口 实现卡卷核销功能
    好久没有更新文章了。不知道关注我的小伙伴们是不是已经不在关注我了。最近在忙着一些推广运营的事情,所以没有更新, 这几天接到一个项目,需要对接美团API接口,实现核销功能。现在就来给大家展示具体代码, ...
    99+
    2023-09-17
    php android 开发语言
  • PHP API接口:如何应对SQL注入攻击
    PHP作为一种流行的后端语言,经常被用于开发Web应用程序或API,为开发者提供了诸多方便和灵活性。然而,对于任何一种Web应用程序或API,都存在着同一种安全风险:SQL注入攻击。本...
    99+
    2024-04-02
  • php中如何写api接口
    在PHP中编写API接口有许多不同的方法和框架可以使用。以下是一种常见的方法: 定义路由:使用一个路由器或框架来定义API的路由...
    99+
    2023-10-24
    php
  • php怎么调用api接口
    要调用API接口,可以使用PHP的curl函数库或者file_get_contents函数。使用curl函数库的示例代码如下:```...
    99+
    2023-09-07
    php
  • API接口的对接流程和注意事项
    API接口的对接流程和注意事项可以参考以下步骤和注意事项:1. 确定需求:明确需要使用的API接口和相关功能。2. 注册账号:根据A...
    99+
    2023-09-13
    API
  • 如何用php调用URL短链接API接口
    本篇内容介绍了“如何用php调用URL短链接API接口”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用说明接口地址:http://api....
    99+
    2023-06-04
  • php怎么写查询api接口
    在PHP中,可以使用curl函数或者file_get_contents函数来查询API接口。1. 使用curl函数:```php$u...
    99+
    2023-08-30
    php
  • php如何对接伪原创api
    在了解伪原创api的各种应用形态之后,我们继续探讨智能写作背后的核心技术。需要说明的是,智能写作和自然语言生成、自然语言理解、知识图谱、多模算法等各类人工智能算法都有紧密的关联,在百度的智能写作实践中...
    99+
    2023-09-06
    php 开发语言
  • 使用PHP的API接口:在移动应用中实现API接口的方法
    随着移动应用市场的火爆,越来越多的企业开始重视移动应用程序的开发和推广。而对于开发人员来说,API接口就是一个必不可少的技术,可以使移动应用与服务器之间进行数据交互,并在应用程序中进行数据处理、存储和显示操作。本文将介绍PHP ...
    99+
    2024-01-22
    PHP API 接口使用 移动应用程序
  • php小米运动API接口源码
    ...
    99+
    2023-08-31
    php 开发语言
  • PHP中的短信API接口指南
    随着互联网和移动通信的飞速发展,短信已经成为了人们生活和工作中不可或缺的一部分。各种短信API接口也应运而生,方便了开发人员快速地集成短信发送功能到应用程序中。PHP作为一种流行的服务器端编程语言,也有着丰富的短信API接口供开发人员使用。...
    99+
    2023-05-21
    接口 PHP 短信API
  • Python、JAVA、PHP怎么调用api接口
    这篇文章主要讲解了“Python、JAVA、PHP怎么调用api接口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python、JAVA、PHP怎么调用api接口”吧!返回说明:{"...
    99+
    2023-06-04
  • 对接支付宝php版easysdk接口分享
    在网上没有找到支付宝easysdk接口的对接详细说明,自己一步一步的摸索,其中使用chatgpt的帮助作用不少。 根据官方给的文档 需要执行composer require alipaysdk/eas...
    99+
    2023-09-21
    chatgpt php 开发语言
  • java面向对象:API(接口)与集合(ArrayList)
    目录API:接口概念:API:String、StringBuilder的学习String、StringBuffer、StringBuilderString:注意:面试考点String...
    99+
    2024-04-02
  • php、java、Python怎么调用新浪短链接api接口
    本篇内容主要讲解“php、java、Python怎么调用新浪短链接api接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php、java、Python怎么调用新浪短链接api接口”吧!1.AP...
    99+
    2023-06-03
  • php获取api接口数据的方法
           API是应用程序的开发接口,在开发程序的时候,我们有些功能可能不需要从到到位去研发,我们可以拿现有的开发出来的功能模块来使用,而这个功能模块,就叫做库(libary)。比如说:要实现数据传输的安全,这就要使用加密技术,使用加密...
    99+
    2023-09-14
    php json 开发语言
  • php如何实现快递鸟API接口
    本篇文章给大家分享的是有关php如何实现快递鸟API接口,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法调用的代码实现//电商IDdefined('EBusiness...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作