Indextwo.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 97
  5. */
  6. namespace app\admin\controller;
  7. use app\BaseController;
  8. use AlibabaCloud\SDK\Tingwu\V20230930\Tingwu;
  9. use \Exception;
  10. use AlibabaCloud\Tea\Exception\TeaError;
  11. use AlibabaCloud\Tea\Utils\Utils;
  12. use Darabonba\OpenApi\Models\Config;
  13. use AlibabaCloud\SDK\Tingwu\V20230930\Models\CreateTaskRequest;
  14. use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
  15. use think\facade\Env;
  16. class Indextwo extends BaseController{
  17. public function index(){
  18. // echo 'index-admin';
  19. // $ceshi = getenv("NUMBER_OF_PROCESSORS");
  20. // $aaa = getenv("PROCESSOR_ARCHITECTURE");
  21. // $accessKeyId = getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
  22. // $accessKeySecret = getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
  23. // $accessKeyId = Env::get("AliyunTingwu.AccessKeyId");
  24. // $accessSecret = Env::get("AliyunTingwu.AccessKeySecret");
  25. // echo $accessKeyId;
  26. // echo $accessSecret;
  27. // die;
  28. $this->main(array_slice(array(), 1));
  29. }
  30. /**
  31. * 使用AK&SK初始化账号Client
  32. * @return Tingwu Client
  33. */
  34. public static function createClient(){
  35. // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
  36. // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html。
  37. $config = new Config([
  38. // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
  39. "accessKeyId" => Env::get("AliyunTingwu.AccessKeyId"),
  40. // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
  41. "accessKeySecret" => Env::get("AliyunTingwu.AccessKeySecret")
  42. ]);
  43. // Endpoint 请参考 https://api.aliyun.com/product/tingwu
  44. $config->endpoint = "tingwu.cn-beijing.aliyuncs.com";
  45. return new Tingwu($config);
  46. }
  47. /**
  48. * @param string[] $args
  49. * @return void
  50. */
  51. public static function main($args){
  52. $client = self::createClient();
  53. // --- 之前模拟的数据
  54. //设置数据项 - - 第五层
  55. $contents = array();
  56. $contents['Name'] = "test";
  57. $contents['Prompt'] = "对话中客户表达的完整内容输出出来,并且请帮我将下面的对话进行总结,分析对话中客户是否有下单意愿以及商品是否感兴趣:\n {Transcription}";
  58. $contents['Model'] = "tingwu-turbo";
  59. $contents['TransType'] = "chat";
  60. //设置数据项 - - 第四层
  61. $customPrompt = array();
  62. $customPrompt['Contents'] = $contents;
  63. //设置数据项 - - 第三层
  64. $parameters = array();
  65. $parameters['CustomPromptEnabled'] = 'True';
  66. $parameters['CustomPrompt'] = $customPrompt;
  67. $inputone = array();
  68. $inputone['SourceLanguage'] = 'cn';
  69. $inputone['TaskKey'] = 'task'.'123123'.time();
  70. $inputone['FileUrl'] = 'https://crmapi.kedingdang.com/Intentionclient/getHuijieCallidRecordingFile?callid=9903ca31-b0c5-4d9b-aad1-cd6f97f87c43';
  71. //设置数据项 - - 第二层
  72. $body = array();
  73. $body['AppKey'] = 'jB3lTWgWwCCmO12g';
  74. $body['Input'] = $inputone;
  75. $body['Parameters'] = $parameters;
  76. //设置数据项 - - 第一层
  77. $data = array();
  78. $data['type'] = 'offline';
  79. $data['body'] = $body;
  80. $createTaskRequest = new CreateTaskRequest([
  81. "type" => "offline",
  82. "body" => $body
  83. ]);
  84. $headers = [];
  85. try {
  86. // 复制代码运行请自行打印 API 的返回值
  87. $client->createTaskWithOptions($createTaskRequest, $headers, new RuntimeOptions([]));
  88. }
  89. catch (Exception $error) {
  90. if (!($error instanceof TeaError)) {
  91. $error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
  92. }
  93. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  94. // 错误 message
  95. var_dump($error->message);
  96. // 诊断地址
  97. if($error->data){
  98. var_dump($error->data["Recommend"]);
  99. }
  100. Utils::assertAsString($error->message);
  101. }
  102. }
  103. // --- 之前模拟的数据
  104. // die;
  105. // //这里开始创建听悟的任务
  106. //
  107. // //设置数据项 - - 第五层
  108. // $contents = array();
  109. // $contents['Name'] = "test";
  110. // $contents['Prompt'] = "对话中客户表达的完整内容输出出来,并且请帮我将下面的对话进行总结,分析对话中客户是否有下单意愿以及商品是否感兴趣:\n {Transcription}";
  111. // $contents['Model'] = "tingwu-turbo";
  112. // $contents['TransType'] = "chat";
  113. //
  114. // //设置数据项 - - 第四层
  115. // $customPrompt = array();
  116. // $customPrompt['Contents'] = $contents;
  117. //
  118. // //设置数据项 - - 第三层
  119. // $parameters = array();
  120. // $parameters['CustomPromptEnabled'] = 'True';
  121. // $parameters['CustomPrompt'] = $customPrompt;
  122. //
  123. // $inputone = array();
  124. // $inputone['SourceLanguage'] = 'cn';
  125. // $inputone['TaskKey'] = 'task'.'123123'.time();
  126. // $inputone['FileUrl'] = 'https://crmapi.kedingdang.com/Intentionclient/getHuijieCallidRecordingFile?callid=9903ca31-b0c5-4d9b-aad1-cd6f97f87c43';
  127. //
  128. // //设置数据项 - - 第二层
  129. // $body = array();
  130. // $body['AppKey'] = 'jB3lTWgWwCCmO12g';
  131. // $body['Input'] = $inputone;
  132. // $body['Parameters'] = $parameters;
  133. //
  134. // //设置数据项 - - 第一层
  135. // $data = array();
  136. // $data['type'] = 'offline';
  137. // $data['body'] = $body;
  138. // //将数据转换为JSON格式
  139. // $data_string = json_encode($data);
  140. // //设置请求URL
  141. // $url = '/openapi/tingwu/v2/tasks';
  142. // //初始化curl请求
  143. // $curl = curl_init();
  144. // //设置curl选项
  145. // curl_setopt($curl, CURLOPT_URL, $url);
  146. // curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
  147. // curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
  148. // curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  149. // curl_setopt($curl, CURLOPT_HTTPHEADER, array(
  150. // 'Content-Type: application/json',
  151. // 'Content-Length: ' . strlen($data_string))
  152. // );
  153. // //执行curl请求
  154. // $response = curl_exec($curl);
  155. // //关闭curl请求
  156. // curl_close($curl);
  157. // //输出响应信息
  158. // echo $response;
  159. }