当前位置:AIGC资讯 > AIGC > 正文

chatglm2-2b+sdxl1.0+langchain打造私有AIGC(一)

一、背景及目标

在ChatGPT爆火之后,我对AI技术也开始关注,一是出于好奇,而是出于危机。想必对于应用开发人员来说从“面面向对象编程”转成“面向AI编程”也是极好的。

最初的时候我也是抱着试一试的心态,开始魔法上网使用chatgpt,然后尝试调用openai的开放接口,搭建了一个自己的chat网站,后来由于免费的token用完了,以及openai对中国的不开放态度,遂放弃。

在找遍了国内所有的知名厂商的语言大模型接口之后,突然发现一个神奇的网站,https://huggingface.co(开源模型发布平台,类似于github,当然也是需要魔法上网才能实现自由访问的)。在huggingface上面发现了中国人自己的开源语言大模型ChatGLM,岁藤摸瓜又发现了Langchain这个开源的AI中间件......

于是开始从单纯的部署,写代码调用ChatGLM开始,到将其与langchain集成,再到后来想要开发一套属于自己的AIGC应用,实现旅行游记,图文小说的生产

差不多2个多月的时间,目前已经跑通了整个流程,在没有lora微调SDXL的情况下已经成功发布一篇小红书(实验性的发布)西北日常生成

二、整体思路

废话也不必多说,先看看AIGC的整体实现思路

其实最初的时候并没有考虑过SDXL,但是后来发现光有文字没有图片可不行,依旧是在huggingface上面找到了SDXL,才有了这一套思路,资源库的向量化用的模型依然是在huggingface找到的,香,香,香。(后面会详细将每一步是怎么实现的)。至于爬虫爬了什么平台在这里就不方便讲了,后面直接会上爬虫的代码...

至于为什么要爬取外部素材,是因为需要获取点赞最高的文章,让AI仿造着写(这是数据提示词工程的范畴),否则AI写出来的东西会缺乏真实性,逻辑性,虽然还可以采用微调的方式解决,但微调也是需要足够质量的数据才能进行微调,数据从哪里来?想必各位都清楚了。

那么问题来了,为什么要将内容正则化呢?因为NLP里面计算词句段的相似性都是采用正则化计算的余弦距离或者欧氏距离或者其他空间距离。用户输入的关键字要想匹配出最接近的文章,不能用数据库的模糊查询,这不符合机器学习的科学

三、基础环境搭建

进入主题,如何搭建基础环境,在环境搭建上,本人亲测,踩坑无数,我整理出来了完整的步骤,按照步骤进行,一气呵成,避免踩坑(重要的事说三遍,基于Windows,基于Windows,基于Windows)

1.python安装

本人安装python版本为3.9.10

python官网windows版本下载地址:Python Releases for Windows | Python.org

然后双击打开安装文件 

为了避免配置环境变量这么麻烦&#

更新时间 2024-02-08