ChatGPT+AI技术项目实战,打造多端智能虚拟数字人

笑面虎
• 阅读 324

ChatGPT+AI技术项目实战,打造多端智能虚拟数字人ChatGPT+AI技术项目实战,打造多端智能虚拟数字人

分享课程——ChatGPT+AI技术项目实战,打造多端智能虚拟数字人,附源码。

ChatGPT全称为Chat Generative Pre-trained Transformer,一个基于深度学习的大型语言模型,其模型结构使用了Transformer网络 。这个网络可以从输入的文本中学习语言的规律和模式,并用这些规律和模式来预测下一个单词或字符。 在chatGPT的训练过程中,chatGPT接受了海量的文本数据,这些数据包括各种来源,例如维基百科、新闻文章、小说、网页等等。这些庞大的数据集被用来形成一个模仿人脑的深度学习神经网络,在学习过程中,chatGPT试图学习这些数据中的语言规则和模式,预测文本序列中的下一个单词或字符,以提高自己的准确性。 ChatGPT整个工作的核心是“Transformer”,这是一种用于处理自然语言数据的神经网络。神经网络通过互连节点层处理信息来模拟人脑的工作方式。将神经网络想象成一个曲棍球队:每个球员都有一个角色,但他们在具有特定角色的球员之间来回传递冰球,所有人一起努力得分。

AI的算法结构,也是经过了漫长的探索与积累之后,才有了今天Transformer的质变。

第一个阶段:模式匹配,给AI输入一些列的逻辑与规则,AI根据规则来进行判断与推理。代表性有符号逻辑,联结主义等,主要应用在包括象棋和国际象棋等游戏。 第二阶段:机器学习,让计算机不需要显式的程序也可以具备学习的能力,以处理更复杂的任务。代表性的算法包括反向传播、决策树、神经网络和规则引擎等。主要应用在语音识别、图像识别和机器翻译等领域。 第三阶段:人工神经网络,随着数据量的增加和计算能力的提升,一种基于神经网络结构的机器学习算法。这个时期的经典算法包括支持向量机、朴素贝叶斯、卷积神经网络和循环神经网络等。 第四阶段:深度学习神经网络,一种模仿人脑的复杂、多层、加权算法,它能够学习文本数据中的模式和关系,并利用创建类似人类的能力。通过预测任何给定句子中接下来应该出现的文本来做出响应。 代表算法有Transformer。

打开命令行进行交互测试,请使用以下代码进行模型测试,目前使用一些小方法可实现正常对话,这里可能要多尝试几次(已经更新了cli_demo.py和web_demo.py可运行,推荐使用A100含以上的显卡)

解压启动文件到模型存放路径并启动 cd /home/aistudio/data/data203501 unzip chatglm-6b.zip cd python /home/aistudio/work/ChatGLM-6B/cli_demo.py

分析了ChatGLM模型文件的整体结构后,我对整体的模型运行逻辑进行了一个分析,后续如果有能力调整的可参考一下 models ——config.json # 模型的基本信息,包括运行时要调用的py文件和函数,模型的结构参数都放在该json ——configuration_chatglm.py # 设置模型的基本参数的py文件 ——modeling_chatglm.py # 组网程序,也是模型主程序,后续调整环境需要对这个文件进行大幅调整 ——quanitization.py # 量化程序,主要是为了调整Tensor的精度,默认是bfloat16 ——tokenization_chatglm.py # 词嵌入程序,主要是为了将语句输入转化为词嵌入向量(token)形式,之后将其送进模型进行推理 ——tokenizer_config.json # tokenizer的基本设置文件,可查看句子是通过何种方式进行向量化的

虚拟数字人(Digital Human / Meta Human),是运用数字技术创造出来的、与人类形象接近的数字化人物形象。 虚拟数字人系统一般情况下由人物形象、语音生成、动画生成、音视频合成显示、交互等5个模块构成。 3D超写实虚拟数字人制作主要核心技术: 建模设计技术:明确形象设计方向,根据平面形象,进行3D模型搭建; 动捕驱动技术:通过捕捉技术采集真人演员的动作和面部表情数据,之后将这些数据迁移合成到虚拟数字人身上; 渲染技术:将场景、人物、角色、特效已经配音进行后期合成,最后渲染成片。

现实中的机器人技术主要的难点在于能源和控制系统这两方面,原因如下:

1.能源:机器人需要稳定的能源供应来运行和执行任务。然而,为机器人提供高效、持久的能源仍然是一个挑战。机器人通常需要小型而高能量密度的能源来源,以满足其动力需求。电池技术在这方面取得了一些进展,但仍存在容量、充电速度和寿命等方面的限制。为机器人提供长时间的能源供应,特别是在远离电源的环境中,仍然是一个重要难题。 2.控制系统:机器人的控制系统涉及对机器人的感知、决策和执行能力的整合和优化。机器人需要具备高度精确的感知能力来感知和理解周围环境,并能做出适应环境变化的决策。同时,机器人还需要高精度的运动控制能力来实现准确的操作和移动。这就涉及到传感器技术、算法、运动控制和人工智能等方面的复杂问题。确保机器人能够稳定、安全地运行并完成任务需要高度可靠的控制系统,这是目前仍然具有挑战性的领域。

现如今的分布式项目,微服务项目都是通过maven来构建的聚合工程,聚合工程利于维护,利于可扩展,提高项目的可维护性。以下为顶级pom中的相关依赖,可以结合项目进行参考: pom

org.springframework.boot spring-boot-starter-parent 2.2.5.RELEASE UTF-8 UTF-8 1.8
<mysql-connector-java.version>5.1.41</mysql-connector-java.version>
<mybatis-spring-boot-starter.version>2.1.0</mybatis-spring-boot-starter.version>
<mapper-spring-boot-starter.version>2.1.5</mapper-spring-boot-starter.version>
<pagehelper-spring-boot-starter.version>1.2.12</pagehelper-spring-boot-starter.version>

<okhttp.version>4.2.2</okhttp.version>
<jackson.version>2.10.2</jackson.version>

<commons-codec.version>1.11</commons-codec.version>
<commons-lang3.version>3.4</commons-lang3.version>
<commons-fileupload.version>1.4</commons-fileupload.version>
<google-guava.version>28.2-jre</google-guava.version>

<springfox-swagger2.version>2.4.0</springfox-swagger2.version>
<swagger-bootstrap-ui.version>1.6</swagger-bootstrap-ui.version>
<fastdfs.version>1.27.2</fastdfs.version>

<slf4j.version>1.7.21</slf4j.version>
<joda-time.version>2.10.6</joda-time.version>
org.springframework.cloud spring-cloud-dependencies Hoxton.SR3 pom import
    <!-- 引入 mongodb 依赖 -->
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver</artifactId>
        <!--mongodb-driver.version-->
        <version>3.11.1</version>
    </dependency>

    <!-- mysql 驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql-connector-java.version}</version>
    </dependency>
    <!-- mybatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>${mybatis-spring-boot-starter.version}</version>
    </dependency>
    <!-- 通用mapper逆向工具 -->
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>${mapper-spring-boot-starter.version}</version>
    </dependency>
    <!--pagehelper -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>${pagehelper-spring-boot-starter.version}</version>
    </dependency>

    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>${okhttp.version}</version>
    </dependency>

    <!-- jackson -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
    </dependency>

    <!-- apache 工具类 -->
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3.version}</version>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons-fileupload.version}</version>
    </dependency>

    <!-- google 工具类 -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${google-guava.version}</version>
    </dependency>

    <!-- swagger2 配置 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>${springfox-swagger2.version}</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>${springfox-swagger2.version}</version>
    </dependency>
    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>swagger-bootstrap-ui</artifactId>
        <version>${swagger-bootstrap-ui.version}</version>
    </dependency>

    <dependency>
        <groupId>com.github.tobato</groupId>
        <artifactId>fastdfs-client</artifactId>
        <version>${fastdfs.version}</version>
    </dependency>

    <!-- joda-time 时间工具 -->
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda-time.version}</version>
    </dependency>

</dependencies>
${project.artifactId} org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8
点赞
收藏
评论区
推荐文章
「硬核实操」如何拥有一个自己的数字人模型
作者:京东健康陈刚一、前言近年来,随着人工智能技术,VR,元宇宙等技术的发展,数字人(DigitalHuman)逐渐成为研究的热点之一,数字人是指通过计算机技术模拟出的具有人类外表,动作和语言能力的虚拟人物,具体可以应用到电影、游戏、虚拟现实、智能客服、带
笑面虎 笑面虎
5个月前
【完结9章】AI大语言模型 ChatGPT从0到1打造私人智能英语学习助手
【完结9章】AI大语言模型ChatGPT从0到1打造私人智能英语学习助手视频课程分享——AI大语言模型ChatGPT从0到1打造私人智能英语学习助手,完结19章。附源码下载。深度学习的子领域中有两个重要的概念:大型语言模型(LLMs)和生成式人工智能(Ge
何婆子 何婆子
3个月前
ChatGPT+AI项目实战,打造多端智能虚拟数字人
ChatGPTAI项目实战,打造多端智能虚拟数字人|高清网盘分享download》chaoxingit.com/2717/ChatGPTAI项目实战,打造多端智能虚拟数字人是一个非常有趣且具有挑战性的项目。下面是一些建议,帮助你开始这个项目:确定项目目
稚然 稚然
3个月前
ChatGPT+AI项目实战,打造多端智能虚拟数字人
//下仔のke:https://yeziit.cn/15191/ChatGPT是一款由OpenAI研发的聊天机器人程序,于2022年11月30日发布。它基于人工智能和自然语言处理技术,能够根据在预训练阶段所见的模式和统计规律来生成回答,并根据聊天的上下文进
程昱 程昱
2个月前
【微体系】多端全栈项目实战:商业级代驾全流程落地|完结无密
【微体系】多端全栈项目实战:商业级代驾全流程落地|完结无密download》quangneng.com/2031/商业级代驾全流程项目实战项目概述在这个项目中,我们将通过多端全栈技术实现一个商业级代驾服务系统。该系统将包含Web端、移动端(iOS和Andr
臧霸 臧霸
1个月前
【微体系】多端全栈项目实战:商业级代驾全流程落地|完结无密
【微体系】多端全栈项目实战:商业级代驾全流程落地"是一门实战课程,旨在教授学习者如何通过多端全栈技术实现商业级代驾服务的全流程。以下是可能包含在这门课程中的内容:1.课程简介与导论:介绍课程的目标和内容。概述商业级代驾服务的全流程,包括用户预约、司机派单、
灵吉菩萨 灵吉菩萨
1个月前
ChatGPT+AI项目实战,打造多端智能虚拟数字人
打造多端智能虚拟数字人项目是一个非常有趣和前沿的领域,结合ChatGPT和其他人工智能技术,可以创建一个更加智能和贴近人类的虚拟助手。download;//kuxueit.cn/9138/1.项目概述:项目名称:多端智能虚拟数字人目标:利用ChatGPT和
韦康 韦康
1个月前
ChatGPT+AI项目实战,打造多端智能虚拟数字人|高清网盘分享
ChatGPTAI项目实战,打造多端智能虚拟数字人|高清网盘分享download》quangneng.com/2866/ChatGPTAI项目实战:打造多端智能虚拟数字人随着人工智能技术的飞速发展,虚拟数字人已经成为了一个热门话题。通过结合ChatGP
光之守卫 光之守卫
1个月前
ChatGPT + Flutter快速开发多端聊天机器人App同步更新
ChatGPTFlutter快速开发多端聊天机器人App同步更新download》quangneng.com/138/利用ChatGPT和Flutter快速打造多端聊天机器人App在当今数字化时代,人们对于快速、便捷的沟通方式需求日益增加。聊天机器人成为
光之守卫 光之守卫
1个月前
ChatGPT+AI项目实战,打造多端智能虚拟数字人|高清网盘分享
ChatGPTAI项目实战,打造多端智能虚拟数字人|高清网盘分享download》itzcw.com/9138/多端智能虚拟数字人的介绍多端智能虚拟数字人是一种基于人工智能技术的虚拟实体,具有与用户进行多种形式交互的能力,并能够在不同平台和设备上进行展示