我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP结合星火大模型的智能客服web应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP结合星火大模型的智能客服web应用

一、项目目标

随着现代技术的快速发展,大型神经网络模型已经成为解决各种实际问题的强大工具。这些 大模型不仅能够处理海量数据,还具备强大的自动化和智能能力,使它们在自然语言处理、 计算机视觉、语音识别等领域中广受欢迎。同时,许多知名的科技公司和研究机构也提供了 大模型API,使开发者能够轻松访问和应用这些模型。

本项目的目标是让你初步了解大模型应用开发。你将综合运用所学的前端技术和后端技术如 数据库操作,文件操作,正则表达式,重定向等PHP知识,并利用大型神经网络模型的强大 能力来构建一个PHP应用程序。

二、实验内容

创建一个智能客服web应用,功能如下(不一定要实现所有功能,可根据自己能力进行一定改进或简化)

节点一ui布局开发

      ①用户选择咨询方式

②用户查看其历史咨询内容

③用户管理界面

节点二、用户管理

节点三、权限管理

节点四、日志管理

节点五、智能客服咨询方式包括单轮问答,多轮对话,信息选择

节点六、web程序可视化管理功能

三、实验结果

3.1  模块一,登录和注册

密码只能由数字和字母组成,用了正则表达式

3.2  模块二,用户选择咨询方式或服务界面

3.3  模块三,单轮问答

不会联系上一个问题给出答案

3.4  模块四,多轮问答

会联系上一个问题给出答案

3.5  模块五,用户查看其历史咨询内容

只能查看自己所登录账号的历史记录

3.6  模块六,用户管理界面,权限管理

管理员的用户管理界面,可修改所有人的权限,密码,可删除用户

普通用户的用户管理界面,只能修改自己的密码

3.7  模块七,意见反馈(创新功能)

管理员的意见反馈界面,查看所有普通用户发出过的意见反馈

普通用户的意见反馈界面,可提交自己对该系统的意见反馈

四、总结与心得:

4.1 联系上下文多轮问答模块的实现总结与心得:

在“智能客服问答(联系上下文)”界面输入想要问的问题后点击提交,多轮问答的处理文件(web_demo_m.php)用一个变量$question接收所输入问题,从 WebSocket 服务器接收数据后得出问题的答案,同时将这个问答插入到数据库的历史问答表(hView)中,将答案用cookie传递给“智能客服问答(联系上下文)”界面显示在上方文本框中并重定向回这个问答界面。

当问出下一个问题后,会查询数据库,select本id用户在历史问答表(hView)中的问答记录倒序后的第一个问答记录,会结合这个问答记录(也就是上一个问题的问答记录)给出本问题的答案,从而实现联系上下文多轮问答的功能。

4.2 用户管理,用户权限模块的实现总结与心得:

每个用户设置了权限存在数据库中,1表示为管理员,0表示为普通用户。管理员一般为内部人员,在用户管理界面可以修改所有用户的权限,密码,可以删除用户,从而管理员可以权限管理。普通用户为管理员之外的使用该系统的人,在用户管理界面只可以修改自己的密码。修改的新密码只能由数字和字母组成,用了正则表达式。具体实现方法为对数据库的增删改查。

4.3 数据库设计心得:

一个设计了三个表:

用户表(user)包括主键id,用户名(userN),密码(passW),权限(permission),

用于登录和注册,权限1表示为管理员,0表示为普通用户。

历史记录表(hView)存储了所有用户的历史问答,外键id引用user表中的id字段,区分不同用户的历史问答。还包括主键viewId,问题(question),答案(answer)。

意见反馈表(feedback)包括主键和意见反馈(feedback)用于普通用户插入意见反馈,管理员查看意见反馈。

五、关键代码

5.1联系上下文多轮问答模块部分代码

 $question = $_POST['question'];                                 // 获取用户输入的问题            $data = $this->getBody($Appid, $question);           //问题(传入)            $client->send($data);            // 从 WebSocket 服务器接收数据            $answer = "";            while (true) {                $response = $client->receive();                $resp = json_decode($response, true);                $code = $resp["header"]["code"];                echo "从服务器接收到的数据: " . $response;                if (0 == $code) {                    $status = $resp["header"]["status"];                    if ($status != 2) {                        $content = $resp['payload']['choices']['text'][0]['content'];                        $answer .= $content;                    } else {                        $content = $resp['payload']['choices']['text'][0]['content'];                        $answer .= $content;                        $total_tokens = $resp['payload']['usage']['text']['total_tokens'];                        print("\n本次消耗token用量:\n");                        print($total_tokens);                        break;                    }                } else {                    echo "服务返回报错" . $response;                    break;                }            }            print("\n返回结果为:\n");            print($answer);                              //结果(传出)                                                                    setcookie("answerM", $answer, time() + 3600); //将$answer存储在名为"answer"的Cookie中            // 连接到SQLite数据库            $database = new SQLite3('iC.db');            $id = $_COOKIE["id_iM"]; //获取iCM.php传来的$id            // 历史记录插入数据            $insert_data = "INSERT INTO hView (question, answer, id) VALUES ('$question', '$answer', '$id');";            $database->exec($insert_data);            // 检查是否成功插入数据            if ($database->lastErrorCode() != 0) {                die('插入数据失败');            } else {                echo '成功插入数据';                header("Location: iCM.php");   //跳转问答界面                exit();            } // 连接到SQLite数据库        $database = new SQLite3('iC.db');        $id = $_COOKIE["id_iM"]; //获取iCM.php传来的$id        // 通过主键viewId 倒序,查询该用户id数据库最后一条数据        $query_data = "SELECT * FROM hView where id = '$id' ORDER BY viewId desc limit 0,1";        $result = $database->query($query_data);        $row = $result->fetchArray();        $header = array(            "app_id" => $appid,            "uid" => "12345"        );        $parameter = array(            "chat" => array(                "domain" => "general",                "temperature" => 0.5,                "max_tokens" => 1024            )        );        $payload = array(            "message" => array(                "text" => array(                    // 需要联系上下文时,要按照下面的方式上传历史对话                    array("role" => "user", "content" => (string)$row['question']),                    array("role" => "assistant", "content" => (string)$row['answer']),                    // ...省略的历史对话                    array("role" => "user", "content" => $question)                )            )        );

5.2用户管理模块修改密码的代码

exec($update_data);        // 检查是否成功插入数据        if ($database->lastErrorCode() != 0) {            die('修改数据失败');        } else {            echo ""; //消息框        }}else{        echo "修改失败,密码只能由数字和字母组成";}?>

5.3意见反馈模块根据不同权限用户显示不同界面的代码

    query($query_data);    $row = $result->fetchArray();    if ((string)$row['permission'] == 0) { //普通用户,提交意见    ?>        

意见反馈

       

您的意见对我们非常重要

       
           
                           
           
                           
       
       

返回选择服务界面

    query($query_data);   ?>                   

查看意见反馈

            fetchArray()) { ?>                                                                       
       

返回选择服务界面

   

 功能演示视频:PHP结合星火大模型写的智能客服WEB应用2.0_哔哩哔哩_bilibili

来源地址:https://blog.csdn.net/lym159635/article/details/135232966

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP结合星火大模型的智能客服web应用

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

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录