AIGC工具系列之——基于OpenAI的GPT大模型搭建自己的AIGC工具

今天我们来讲讲目前非常火的人工智能话题“AIGC”,以及怎么使用目前的AI技术来开发,构建自己的AIGC工具
什么是AIGC?
AIGC它的英文全称为(Artificial Intelligence Generated Content),中文翻译过来就是“人工智能生成内容”,就是利用人工智能技术来创建文本、图像、音乐、视频或者其他的媒体内容的过程。这种技术的应用目前正在迅速扩展,因为它可以大大提高内容创建的效率,同时降低成本、除了降低成本之外。在某些情况下,它提供与人类创作者相媲美,甚至超越的作品。
AIGC的技术背景
AIGC它依赖于各种人工智能模型,特别是深度学习技术,如生成对抗网络(GANs),以及变分自编码器(VAEs)用于图像,以及自然语言处理(NLP)模型,如GPT(Generative Pre-trained Transformer)系列用于文本生成,这些技术通过学习大量数据中的模式,来生成全新的内容。

目前的AIGC代表工具:

文本生成工具
OpenAI的ChatGPT: 基于GPT(生成预训练变换器)模型,能够生成连贯、有逻辑的文本,适用于对话、文本创作等多种场景。
Google Bard: Google推出的对话型AI,旨在提供信息、娱乐以及创作帮助。

图像生成工具
OpenAI的DALL·E: 能够根据文本提示生成高质量、创意丰富的图像。
Midjourney: 是一个独立的研究实验室和社区,专注于使用AI生成图像。
Stable Diffusion: 一个开源的图像生成模型,支持个人和商业用途,能够根据文本提示生成图像。

音乐和声音生成工具
OpenAI的Jukebox: 能够生成音乐,包括旋律、节奏、和声,甚至可以模仿特定艺术家的风格。
Descript’s Overdub: 允许用户根据文本生成声音,可以用于语音编辑和生成。

视频生成工具
Runway: 提供了一个机器学习工具套件,允许用户创建、修改和生成视频内容。
Synthesia: 通过AI为企业和个人提供视频内容创作服务,特别是能够生成虚拟演讲者和自动化视频。

编程和代码生成工具
GitHub Copilot: 由OpenAI训练,能够根据现有代码和注释提示生成编程代码,支持多种编程语言。
深度伪造和合成媒体
Deepfakes: 软件和技术,能够在视频和音频文件中合成人类的面部和声音,通常用于娱乐、教育或创建虚假信息。

了解这些感念和专业技术词汇,以及这些AI工具之后,唯独没有国内的AIGC工具代表作品,果然搞技术的还得是人家外国佬厉害呀!既然没有国产的,那作为一个技术渣渣,那对不起了,我们就基于他们的基础上去搭建一个吧,这里演示怎么基于OpenAI的API接口去搭建一个我们自己的AIGC工具。

搭建框架图

在这里插入图片描述

搭建前的必备材料:

 1. 一台服务器2. openai的api key3. ssh客户端工具

(1)、教程点击这里,获取服务器地址:
https://bwh88.net/aff.php?aff=74320

(2)ssh客户端finalshell工具下载地址:
Windows X64版,下载地址
http://www.hostbuf.com/downloads/finalshell_windows_x64.exe
macOS Arm版,支持m1,m2,m3 cpu,下载地址
http://www.hostbuf.com/downloads/finalshell_macos_arm64.pkg
macOS X64版,支持旧款intel cpu,下载地址:
http://www.hostbuf.com/downloads/finalshell_macos_x64.pkg
Linux X64版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_x64.deb
Linux Arm64版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_arm64.deb
Linux LoongArch64龙芯版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_loong64.deb
选择对应系统版本的下载安装即可。

(3)openai的api key的获取:
api_key获取步骤如下图:
(1)进入api keysyemian
在这里插入图片描述
(2)创建一个api key,然后复制保存下来
在这里插入图片描述

一、 服务器端安装openai API对接服务程序

  1. 登录服务器平台,进入后台选择stop停止服务器运行。
    在这里插入图片描述

  2. 安装系统,这里选择ubuntu最新版本,点击reload进行安装
    在这里插入图片描述

  3. 安装完成后,系统生成ssh端口号和密码,这里要把ssh端口号和密码记下来,等会儿ssh客户端登录需要用到
    在这里插入图片描述

  4. 打开ssh客户端
    在这里插入图片描述

  5. 创建一个ssh连接
    在这里插入图片描述

  6. 填写服务器IP地址,ssh端口,密码以及用户名,点击确认;
    在这里插入图片描述
    密码和端口号,就是第3部安装系统时生成的密码和ssh端口。IP 地址可以登录后台查看如下:

    如果密码也忘记了,可以点击重新生成,如下图操作:
    在这里插入图片描述
    在这里插入图片描述

  7. 双击新建的会话连接,进入服务器shell终端,如下图:
    在这里插入图片描述
    在这里插入图片描述

  8. 给服务器安装git工具,输入安装命令:apt install git 然后点击回车键运行。
    在这里插入图片描述

  9. 获取服务器端openai的API 对接服务代码。进入到home目录并运行如下指令:

cd /home
git clone https://github.com/wg520235/openai_project.git

在这里插入图片描述
下载完成如下图:
在这里插入图片描述

  1. 然后cd 进入工程目录openai_project,并运行app_install.sh脚本安装服务器程序。命令如下
cd openai_project/
sh app_install.sh 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 gpt-3.5-turbo dall-e-2

在这里插入图片描述
回车运行,安装过程中出现提示信息或者选择,一律按回车健Enter默认即可,大概几分钟之后即可安装完成,安装完成如下图:
在这里插入图片描述

【脚本参数说明】

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 //openai的api key
gpt-3.5-turbo //gpt版本
dall-e-2 //openai的绘画版本

如果你 开通了gpt4,gpt版本可以填写最新的gpt-4,绘画模型版本填写最新的:dall-e-3,如果你没有开通gpt4默认填写gpt-3.5-turbo和dall-e-2即可。
openai的api key获取:

打开AIGC客户端并连接服务器

这个客户端仅仅是本人为了调试功能测试用,其他做得不好的地方大家不要太在意,界面有点丑陋大家可以忽略,主要看功能即可。如各位大佬有兴趣,可以自己开发一个好看的客户端,这个客户端的代码我双手奉上,还望各位能够进一步开发完善,发扬光大,哈哈!
代码下载地址:

git clone https://github.com/wg520235/GPT_CLIENT_BASE_QT.git
  1. 下载GPT客户端工具,下载连接如下:
    git下载地址:
https://github.com/wg520235/openai_project/blob/main/AIOTNIK_GPT_CLIENT.zip

在这里插入图片描述

或者网盘下载:
链接:https://pan.baidu.com/s/1HCdCHuSqhX9dSrRzt8ik4g?pwd=3lm4
提取码:3lm4

2.减压GPT客户端工具,如下:

在这里插入图片描述
3.双击工具运行
在这里插入图片描述
界面如下:
在这里插入图片描述

  1. 点击设置按钮,填写你的服务器IP,点击确认连接成功后页面的功能即可使用。
    在这里插入图片描述
    成功连接你的服务器,点击ok即可像聊天gpt一样调用openai GPT的API 接口进行聊天绘画。
    在这里插入图片描述

AIGC客户端功能展示

2.和chatgpt一样对话聊天,文本写作,写代码等
在这里插入图片描述
在这里插入图片描述

  1. 调用openai的dall-e-3进行绘画,在输入框输入提示词,点击发送即可绘画,例如:

在这里插入图片描述
【注意】绘画的时候切记要先添加提示词”画:“或者"draw:",以区分是调用绘画模型dall-e-2进行AI 绘画。
目前GPT客户端支持图片双击变大效果如下,以及右键文本复制和图片下载保存到本地。
在这里插入图片描述
在这里插入图片描述
3.语音对话功能,调用了openai的asr,tts,以及chat接口实现的语音对话,点击语音对话按钮,然后你对着麦克风说话就行(想说啥说啥,把AI当作跟人说话一样就行),说完点击停止,然后等待AI 的回答即可。
(1)想微信语音一样,按下按钮输入语音
在这里插入图片描述
(2)点击停止按住,结束语音输入。
在这里插入图片描述
稍等片刻AI会返回语音,如果你电脑有扩音器(喇叭)就可以听到,如果没有扩音器,你们的对话也会转为文字显示在对话框上。

3.语音输入,即就是有的时候你不方便打字,你可输入语音,然后ai会以文字的方式回答你,并显示在对话框上。这个功能和语音对话相似,自行体验即可。

4.图片解析,这个就是你点击这个按钮上传一张图片,然后AI会解读你的图片内容,然后将AI 解读的内容返回到对话框,这个功能适用于名画鉴赏的。

在这里插入图片描述
例如我这里选择刚才AI 画的萝莉塔,上传后AI会返回如下解析结果:

  1. 图片播放,这个功能就我自己diy的,因为目前的sora很火,然后openai又还没有发布视频生成的API接口,所以我突发奇想,让AI画几十张连续的画,然后我把这些画放到一个文件夹里,然后以每秒25帧的速度播放这些图片,这不就可以生成视频了吗?但是结果没我想的那么好,最后还是等视频生成的API 接口发布了再做视频生成功能吧!
    在这里插入图片描述
    播放效果:https://live.csdn.net/v/373939

好了!到这里整个AIGC工具的开发,构建和使用就完了。还有很多功能没有做,如果你看到这篇文章,引起了你的兴趣,你可以基于我的工程基础之上去完善。大家一起玩转AI,躁起来.....哈哈哈!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/773036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】Nginx配置类似Tomcat请求接口链路access_log日志

项目部署在tomcat容器中,请求的接口会被记录在文件名:localhost_access_log.2024-03-22.log的文件中,如果使用Nginx也需要记录请求接口,该如何做呢?步骤如下 步骤1: 打开nginx.conf,在 http 块中…

HarmonyOS网格布局:List组件和Grid组件的使用

简介 在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“首页”页面中包含两个网格布局,“商城”页面中包含一个商品列表。 上图中的列表中都包含一系列相同宽度的列表…

easyexcel与vue配合下载excel

后端 设置响应 // 设置响应头 response.setContentType("application/octet-stream;charsetUTF-8"); String returnName null; try {returnName URLEncoder.encode(fileName, "UTF-8"); } catch (UnsupportedEncodingException e) {throw new RuntimeExc…

java类的定义方式和实例化、this引用、对象的构造及其初始化、封装特性、static修饰成员变量、static修饰成员方法

java类的定义方式和实例化 类的定义和使用 类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。 在Java中定义类需要用到class关键字具体如下 // 创…

API网关-Apisix路由配置教程(数据编辑器方式)

文章目录 前言一、端口修改1. apisix 端口修改2. dashboard 端口修改3. 登录密码修改 二、常用插件介绍1. 常用转换插件1.1 proxy-rewrite插件1.1.1 属性字段1.1.2 配置示例 2. 常用认证插件2.1 key-auth插件2.1.1 消费者端字段2.1.2 路由端字段2.1.3 配置示例 2.2 basic-auth插…

Oracle 19cADG集群补丁升级

Oracle 19cADG集群补丁升级 文章目录 Oracle 19cADG集群补丁升级1.备库备份2.备库升级Opatch3.备库应用补丁4.主库备份 oracle_home目录5.主库升级Opatch6.注册补丁7.编译无效对象8.检查主库的补丁注册情况9.备库切换主库完成补丁注册 1.备库备份 su - oracle cd $ORACLE_HOME…

机器学习 - 神经网络中的训练模型

接着上一篇机器学习-创建一个PyTorch classification model做进一步陈述。 训练模型的步骤: Forward pass: The model goes through all of the training data once, performing its forward() function calculations (model(x_train))Calculate the loss: 使用 l…

format(C++20)

1. std::format format_01.cpp // g format_01.cpp -stdc20 #include <iostream> #include <string> #include <format>void test_01() {// 使用字符串填充std::cout << std::format("Hello {}!\n", "World"); // Hello World!…

Open CASCADE学习|适配器

OpenCascade适配器在OpenCASCADE软件框架中起着至关重要的作用。它提供了一种方便的方式&#xff0c;用于在OpenCASCADE模型和其他软件之间进行数据交换和转换&#xff0c;从而使得OpenCASCADE更加灵活和实用。具体来说&#xff0c;适配器类在OpenCASCADE中实现了适配器模式&am…

[webpack-cli] Invalid options object 报错

[webpack-cli] Invalid options object. Dev Server has been initialized using an options object that does not match the API schema devServer: {contentBase: ./src, // 告诉服务器从哪里提供内容&#xff0c;默认情况下&#xff0c;它会使用当前工作目录作为根目录c…

深度学习pytorch——减少过拟合的几种方法(持续更新)

1、增加数据集 2、正则化(Regularization) 正则化&#xff1a;得到一个更加简单的模型的方法。 以一个多项式为例&#xff1a; 随着最高次的增加&#xff0c;会得到一个更加复杂模型&#xff0c;模型越复杂就会更好的拟合输入数据的模型&#xff08;图-1&#xff09;&#…

Oracle中实现根据条件对数据的增删改操作——Merge Into

一、需求描述 在我们进行项目开发的过程中&#xff0c;会遇到这样的场景&#xff0c;需要根据某个条件对数据进行增、删、改的操作&#xff1b;遇到这种情况我们有2种方法进行解决&#xff1a; 方法一&#xff1a;①查询指定条件&#xff1b;②根据查询出的指定条件结果在执行…

阿里云国际DDoS高防的定制场景策略

DDoS高防的定制场景策略允许您在特定的业务突增时段&#xff08;例如新业务上线、双11大促销等&#xff09;选择应用独立于通用防护策略的定制防护策略模板&#xff0c;保证适应业务需求的防护效果。您可以根据需要设置定制场景策略。 背景信息 定制场景策略提供基于业务场景…

【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适…

金融投贷通--功能测试分析与设计

金融投贷通功能测试分析与设计 测试点分析借款业务测试点投资业务测试点 测试用例借款业务测试用例投资业务测试用例 缺陷面试题 测试报告 测试点分析 借款业务测试点 投资业务测试点 测试用例 借款业务测试用例 借款成功&#xff08;主业务&#xff09;、借款成功&#xff…

FFMPEG AVFrame AVPacket内存管理相关API说明

AVFrame和AVPacket是ffmpeg中保存音视频数据的结构体&#xff0c;AVFrame保存未压缩的原始音视频数据&#xff0c;AVPacket保存编码后的音视频数据&#xff0c;AVFrame和AVPacket都是使用引用计数进行的内存管理。 一、AVFrame 内存分配&#xff1a; 视频&#xff1a; AVFra…

iOS——【CGD】

GCD 什么是GCD GCD指的是Grand Central Dispatch&#xff0c;它是苹果公司开发的一套多线程编程技术。GCD提供了一种简单而有效的方式来管理应用程序中的并发任务。它通过将任务提交到适当的队列&#xff08;串行队列或并发队列&#xff09;来管理并发执行的任务&#xff0c;…

WebAR开发简介

WebAR 开发使企业能够以独特且高度有趣的方式向客户和员工提供信息。 它提供增强现实 (AR) 内容&#xff0c;人们在智能手机上将其视为视觉叠加。 然而&#xff0c;WebAR 可在手机的普通网络浏览器上运行&#xff0c;无需下载任何应用程序。 WebAR 的多种用途包括帮助零售和在…

跟张良均老师学大数据人工智能——数据挖掘集训营开营

集训营特色&#xff1a; 知识点深入浅出&#xff0c;实现以学促用 以业务内容为主线&#xff0c;数据挖掘技能嵌入 多行业项目实战&#xff0c;全面提升职业素养 全程线上辅导&#xff0c;助力熟练掌握技能 惊喜优惠&#xff1a; 限时“六折”&#xff01; 师傅带练 方向…

docker centos7离线安装ElasticSearch单机版

目录 1.下载ES并解压2.新建elasticsearch用户3.修改ES配置文件4.启动ES服务5.设置开机启动 本文以 elasticsearch-7.8.1为例。 1.下载ES并解压 cd /root/install wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz tar -z…