php对接讯飞星火认知大模型SparkDesk的Web API示例代码

这篇具有很好参考价值的文章主要介绍了php对接讯飞星火认知大模型SparkDesk的Web API示例代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近我在给客户开发科大讯飞的星火认知大模型SparkDesk,踩过一些坑,网上几乎搜不到PHP的demo代码,这里模板兔给出以下成果代码供大家参考。

首先,sparkdesk的接口需要使用到websocket,所以我们需要先安装websocket,使用composer在网站根目录安装:

composer require textalk/websocket

然后就是写php代码:

<?php

require __DIR__.'/vendor/autoload.php';

use WebSocket\Client;

class api
{

/**
* 调用科大讯飞星火认知模型
* @param $params
* @return array
*/
public function sendMsg($params)
{
$prompt = $params['prompt'];
//获取科大讯飞参数
$app_id = $params['APPID'];
$api_key = $params['APIKEY'];
$api_secret = $params['APISecret'];
//拼接链接
$url = $this->createUrl($api_key, $api_secret);

$client = new Client($url);
//拼接要发送的信息
$message = $this->createMsg($app_id, $prompt);
try {
$client->send(json_encode($message, true));
$response = $client->receive();

$response_arr = json_decode($response, true);
// 科达讯飞会分多次发送消息
do {
if ($response_arr['header']['code'] == '0') {
echo 'data: '.$response."\n\n"; //转成EventSource的输出格式
}else{
echo '[error]'.$response_arr['header']['message'];
break;
}

$content = $response_arr['payload']['choices']['text'][0]['content'];

if ($response_arr['header']['status'] == 2) {
echo 'data: [DONE]'."\n\n";
break;
}
//继续接收消息
$response = $client->receive();
$response_arr = json_decode($response, true);
} while (true);
/*return [
'code' => 0,
'msg' => '输出成功',
];*/
} catch (Exception $e) {
/*return [
'code' => -1,
'msg' => $e->getMessage(),
];*/
} finally {
$client->close();
}
}

/**
* 拼接签名
* @param $api_key
* @param $api_secret
* @param $time
* @return string
*/
private function sign($api_key, $api_secret, $time)
{
$signature_origin = 'host: spark-api.xf-yun.com' . "\n";
$signature_origin .= 'date: ' . $time . "\n";
$signature_origin .= 'GET /v1.1/chat HTTP/1.1';
$signature_sha = hash_hmac('sha256', $signature_origin, $api_secret, true);
$signature_sha = base64_encode($signature_sha);
$authorization_origin = 'api_key="' . $api_key . '", algorithm="hmac-sha256", ';
$authorization_origin .= 'headers="host date request-line", signature="' . $signature_sha . '"';
$authorization = base64_encode($authorization_origin);
return $authorization;
}

/**
* 生成Url
* @param $api_key
* @param $api_secret
* @return string
*/
private function createUrl($api_key, $api_secret)
{
$url = 'wss://spark-api.xf-yun.com/v1.1/chat';
$time = gmdate('D, d M Y H:i:s') . ' GMT';
$authorization = $this->sign($api_key, $api_secret, $time);
$url .= '?' . 'authorization=' . $authorization . '&date=' . urlencode($time) . '&host=spark-api.xf-yun.com';
return $url;
}

/**
* 生成要发送的消息体
* @param $app_id
* @param $speed
* @param $volume
* @param $pitch
* @param $audio_content
* @return array
*/
private function createMsg($app_id, $prompt)
{
return [
'header' => [
'app_id' => $app_id,
],
'parameter' => [
"chat"=> [
"domain"=> "general",
"temperature"=> 0.5,
"max_tokens"=> 1000, 
]
],
'payload' => [
"message"=> [
"text"=> [
["role"=> "user", "content"=> $prompt]
]
]
],
];
}
}


header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
header("X-Accel-Buffering: no");
header('Connection: keep-alive');

$params = array(
"prompt"=>"你好",
"APPID"=>"",
"APIKEY"=>"",
"APISecret"=>""
);

$test = new api();

$test->sendMsg($params);

我把接口输出的流转成EventSource的输出格式,这样客户端方便对接,毕竟之前对接过GPT,这样来讲切换会更容易些。

最后我们再通过客户端js来输出数据,js代码这里就不多赘述了。

原文:https://www.mobantu.com/9976.html文章来源地址https://www.toymoban.com/news/detail-688374.html

到了这里,关于php对接讯飞星火认知大模型SparkDesk的Web API示例代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springBoot整合讯飞星火认知大模型

    讯飞星火大模型是科大讯飞最近开放的拥有跨领域的知识和语言理解能力的大模型,能够完成问答对话和文学创作等。由于讯飞星火大模型最近可以免费试用,开发者都可以免费申请一个QPS不超过2的账号,用来实现对平台能力的验证。本文将利用Springboot框架对星火大模型进

    2024年02月04日
    浏览(48)
  • 【分享】科大讯飞星火认知大模型(初体验)

    前言: 哈喽,大家好,我是木易巷~ 随着人工智能技术的迅猛发展,自然语言处理(NLP)成为了热门话题。在众多NLP模型中,科大讯飞星火认知大模型成为了一个备受瞩目的新秀,今天我们来了解一下这个由科大讯飞公司开发的人工智能模型~ (内测方法在文末) 5月6日,讯

    2024年02月07日
    浏览(40)
  • 讯飞星火认知大模型V2.0:迈向认知计算的全新时代

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月12日
    浏览(48)
  • 科大讯飞星火认知大模型是真能打

    5月6日,科大讯飞正式发布星火认知大模型。 先进的技术,出色的表现,直击产业痛点的商业应用,让人们再次认识了科大讯飞的强大。当然,星火认知大模型也是真能打。 01 火爆的大模型 2022年11月,人工智能公司OpenAI推出的生成式机器人ChatGPT发布后短时间便火遍全球,成

    2024年02月05日
    浏览(54)
  • 【周末闲谈】超越ChatGPT?科大讯飞星火认知大模型

    个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 哈喽大家好啊,愉快的周末又到了,5月6号,号称超越了ChatGPT的科大讯飞星火认知大模型终于与我们正式见面了,在发布会的现场,刘聪

    2024年02月05日
    浏览(41)
  • 体验讯飞星火认知大模型,据说中文能力超越ChatGPT

    💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜 📝 个人主页:馆主阿牛🔥 🎉 支持我:点赞👍+收藏⭐️+留言📝 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥 5月6号,科大讯飞发布了讯飞星火认知大模型,据传是国产最强AI,讯飞董事长在

    2024年02月04日
    浏览(48)
  • 【探索人工智能】我与讯飞星火认知大模型的对话

    这是讯飞星火认知大模型的地址: [讯飞星火认知大模型](https://xinghuo.xfyun.cn/desk) 我们必须清晰的认知到作为大模型其实是没有一个确切的\\\"发展历程\\\"。 那么它是怎么进行技术的更新,怎么能回答你详细的问题呢? 它的知识和能力是基于大量文本数据进行训练的,这些数据来

    2024年02月16日
    浏览(60)
  • AI —— 亲测讯飞星火认知大模型,真的很酷!

        😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽! 😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不

    2024年02月15日
    浏览(46)
  • 文心一言没有体验上,看看讯飞星火认知大模型

    目录   前言 正文 1.简单对话环节 1.1什么是讯飞星火认知大模型 1.2你都可以干一些什么 1.3你的训练数据库还在持续更新么 1.4今天是哪一天 1.5宇宙中有哪些目前认为可能存在生命的星球 2.辅助学习对话 2.1我想完成一篇关于CT检测技术的论文综述,你有什么好的建议么 ? 2.2可

    2024年02月03日
    浏览(63)
  • Unity+讯飞星火大模型+Web api,实现二次元小姐姐AI聊天互动

            最近讯飞的星火大模型更新了2.0版本,增强了AI的语言生成能力。毕竟是国产大语言模型,我也尝试使用了一下星火大模型的应用广场,体验还是很不错的。应用广场提供了很多AI助手工具,也支持用户创建自己的AI助手,能力不局限于自然语言生成,也有一些图片生

    2024年02月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包