247.2k star! 超强大的私有化ChatGPT,支持图像识别/文生图/语音输入/文本朗读,个人电脑即可运行!试试吧

news2024/12/27 1:31:56

今天作者带大家实现一个普通配置电脑即可运行的私有化ChatGPT,支持以下功能:

1.界面体验与ChatGPT官方几乎一样。

2.支持多种开源模型,可以聊天、写代码、识别图片内容等。

3.支持文生图。

4.支持麦克风语音输入聊天。

5.支持自动朗读回答结果。

6.支持联网使用openai。

前5个功能拔掉网线也能正常使用。先看一下作者本地(16G内存无GPU)断网运行的聊天与图片识别效果:

文生图效果:

用到的开源项目(文末获取github地址):

1.界面:open webui,8.1k star,界面漂亮,功能丰富,我们本次主要用它将其他各开源项目组合起来。

2.大模型:ollama,44.8k star,支持使用CPU运行多种开源大模型,部署超级简单。

3.文生图:stable diffusion,124k star,最强开源文生图项目。

4.语音输入:openai开源的whisper, 57.1k star,CPU可用,效果可与收费产品比肩。

5.文本朗读:windows系统提供的接口,离线免费使用,后面有介绍。

6.接入openai:GPT_API_free, 13.3k star,免费的openai API key。

下面只有前两步为必须执行的,后面步骤根据自己需求决定是否执行。

1.部署大模型

这里就不演示了,不会的可以看看我关于部署的文章,ollama支持多种优秀开源大模型,可根据需求多下载几种,按需使用,官方支持的模型:https://ollama.com/library

2.部署界面

open webui不仅是一个聊天界面,还是一个ollama的客户端,还有很多其他功能,感兴趣可以去github看官方文档。使用docker一键部署:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

在这里插入图片描述

安装完成之后,浏览器输入http://localhost:3000,选择模型就可以开始聊天了。可以到设置界面的General中设置各种模型参数,到这一步已经实现一个基本的私有化ChatGPT了。

3.图片识别

先使用ollama下载llava模型,聊天时选择llava,发送图片即可。以下是作者测试的图片识别效果,连后面有多排座位,有些座位是空的都能准确识别出来!

在这里插入图片描述

4.语音输入

如果想使用语音输入功能,部署好之后,将STT引擎改为whisper(Local),在聊天输入框就可以点击麦克风图标输入语音了。

5.文生图

先本地部署stable diffusion(以下简称sd)

说明:sd需要GPU,但我看sd官方文档好像支持CPU,作者未验证。

接下来坑比较多,作者已解决,照做即可。

5.1 open-webui要调用sd的接口,因此sd要提供api,修改sd根目录中的webui.bat,增加以下代码

set COMMANDLINE_ARGS=--api

如图所示:

5.2 open-webui要调用sd的/sdapi/v1/options接口,但是这个接口报错,解决方案:sd根目录新建文件user.css,文件内容如下:

[id^="setting_"] > div[style*="position: absolute"] {`        `display: none !important;``}

5.3 双击webui.bat启动sd,进入open-webui的设置页面,按下图设置,注意:因为open-webui是在docker部署的,sd是在宿主机部署,open-webui调用sd接口相当于docker内部调用宿主机服务,所以在浏览器虽然用127.0.0.1:7860能访问sd,但是这里填写127.0.0.1是无法请求的,按图示内容填写,如果您的部署方式和作者不一样,请根据情况填写。

5.4 生成图片的按钮只在大模型回复的内容下面才会出现,并且会把回复的内容当成sd的prompt,因此想生成图片需要先选择一个模型,让模型把你想使用的promt回复给你,然后点击生成图片按钮,就可以生成了。

6.使用openai接口

感觉本地模型运行慢,有时候想用在线的OpenAI接口?没问题!可以参照这篇获取免费的API Key:13k star! 获取免费ChatGPT API Key的开源项目,亲测可用!然后按照下图配置。

配置后,模型选择列表中就会自动多出来几个openai模型,选择即可使用。

7.文本朗读功能

按下图设置即可开启朗读功能,聊天时收到完整响应后会自动朗读。

关于文本朗读的实现原理,前几天写了一篇免费使用TTS的文章:2.8k star! 用开源免费的edge-tts平替科大讯飞的语音合成服务,作者以为这个也应该是调用了某个在线的TTS服务,但是在console中看不到任何关于TTS的请求,后来查看源码才发现是用HTML5的Speech Synthesis API实现的,这个API可以调用Windows系统的TTS。以下是代码,可直接在浏览器的console中运行测试。

// 获取支持的声音列表speechSynthesis.getVoices()// 合成并播放语音const speak = new SpeechSynthesisUtterance("要播放的文字");// 选择用哪个声音speak.voice = speechSynthesis.getVoices()[0];// 执行这句就可以听到声音了``speechSynthesis.speak(speak);

以下是测试截图:

利用这个API可以实现免费、离线的TTS功能。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

如何在wordpress当中使用插件WP Coder(将html、css、javascript应用到wordpress上)

了解认识阶段 安装并运行好WP Coder之后如下图: 设置全局PHP 禁用gutenberg 输入代码 add_filter(gutenberg_can_edit_post, __return_false, 10); add_filter(use_block_editor_for_post, __return_false, 10); 记得点击save并勾选enable PHP code 禁用之后打…

从0开始Vue3数据交互之promise详解

目录 前言 1. 预先须知-普通函数和回调函数 1.1 普通函数: 1.2 回调函数: 2. Promise 简介 2.1 简介 2.2 特点 3. Promise 基本用法 3.1 Promise then 1. 没有传参 3.1.1 没有调用resolve 函数和reject 函数时 3.1.2 调用resolve()函数 3.1.3 调用 reject()函数 2…

【Linux详解】进度条实现 Linux下git 的远程上传

📃个人主页:island1314 🔥个人专栏:Linux—登神长阶 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 🚀前言 &#x…

张飞硬件1~9电阻篇笔记

电阻有标定值和实际值,关于误差的问题: 精密的电流、电压采样可能会用到1%的精度。如果只是做限流用途的话,用5%就足够。 电阻功率:标定值、额定值、瞬态值: 标定值由封装所决定,例如5W额定值由电路中平…

结构开发笔记(三):solidworks软件(二):小试牛刀,绘制一个立方体

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141122350 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

如果忘记了 Apple ID 密码,如何重设

“我忘记了我的 Apple ID 密码,如何恢复我的帐户?”为了方便用户,Apple 允许每个人使用唯一的 Apple ID 和密码激活设备并访问所有 Apple 服务。然而,实际上,手动选择某项并忘记它似乎很容易。例如,许多 Ap…

AI大模型零基础入门学习路线(非常详细)从入门到精通,看这篇就 够了

学习AI大模型从零基础入门到精通是一个循序渐进的过程,涉及到理论知识、编程技能和实践经验。下面是一份详细的指南,帮助你从头开始学习并逐步掌握AI大模型的构建与应用。 第一阶段(10天):初阶应用 该阶段让大家对大…

北斗导航系统:助力保护生态环境的利器

近年来,随着科技的迅猛发展和生态危机的加剧,环保问题成了全球热点话题。而北斗导航系统,作为中国自主研发的全球卫星导航系统,不仅在军事和民用领域显示出了巨大潜力,也在应对生态保护挑战中发挥了重要作用。本篇文章…

ue5正确导入资源 content(内容),content只能有一个

把资源content下的东西,全部拷贝,放在项目的content下 content只能有一个

除毛除臭不够彻底?宠物空气净化器帮你解决

之前养猫的时候就想买一个空气净化器吸一吸空气的浮毛,尤其是夏天,因为夏天天气热流汗也会多,每次外出回家之后全身都是汗的时候想坐下来吹一下空调,但是一坐下去就会发现,沙发上全都是猫咪浮毛,而且还没开…

了解Android

Android 系统架构 从图中可以看出,整个Android操作系统分为五层。它们分别是: 内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动。硬件抽象层 该层为硬件厂商定义了一套标准的接口。这样可以在不影响上层…

Labelimg安装、使用及不显示标注、覆盖标签等问题

目录 1 安装 2 基本使用方法 3 显示已标记图片的标记 4 覆盖标签的问题 简单记录下Labelimg安装、使用以及在使用过程中遇到的几个问题的解决方法,以免忘记。 1 安装 这里是在Anaconda中搭建机器学习的环境,在Anaconda Prompt中激活虚拟环境后&…

C++ 之动手写 Reactor 服务器模型(二):服务器模型概述以及 Reactor 服务器 V1 版本实现

五种网络 IO 模型 就是下面五种: 要注意同步与异步、阻塞与非阻塞的辨析,常见误解就是认为:同步就是阻塞,异步就是非阻塞。 接下来分别给出例子来说明这五种 IO 模型。 基础知识 操作系统分为用户态和内核态。 一个网络数据输…

STM32低功耗与备用备份区域

STM的备份备用区域其实就是两个区块:BKP和RTC。低功耗则其实是STM32四种模式中的三种耗能很低的模式。 目录 一:备用区域 1.BKP 2.RTC 二:低功耗模式 1.睡眠模式: 2.停机模式: 3.待机模式: 一&…

AI绘画赏析:基于Stable Diffusion扩散模型

**Stable Diffusion**是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的翻译。它是一种潜在扩散模型,由慕尼黑…

【网络安全】15种常见网络攻击类型及防御措施_请列举至少三种常见的网络攻击类型,并说明如何通过防火墙、入侵检测系统等工具来

随着攻击者效率和复杂性的提高,网络犯罪每年都在急剧增加。网络攻击的发生有多种不同的原因和多种不同的方式。但是,一个共同点是网络犯罪分子会寻求利用组织的安全策略、实践或技术中的漏洞。 什么是网络攻击? 网络攻击是指攻击者出于盗窃…

防火墙入侵防御实验

一、实验目的及拓扑 实验目的:在防火墙上配置入侵防御(跨站脚本攻击)策略并在安全策略应用,通过虚拟机访问进行验证 二、基本配置 1、如图所示配置接口地址(省略) 2、配置区域接口 [FW1]dis zone loca…

文字翻译工具软件哪个好?这5款翻译神器好用到犯规

在日常工作和学习中,遇到需要翻译文字的情况再所难免。无论是查阅外文文献、与国际友人交流,还是理解不同语言的资讯,一款好用的文字翻译工具app都能大大提升我们的效率。 今天,我将给大家安利5款超实用的文字翻译工具app &#…

运维工程师必备技能:nc命令详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 ​ 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流…

Java超市收银系统(七、商品修改和删除)

引言 当选择1时,显示 “输入商品编码:”,输入商品表中条码,若条码存在则删除商品表中的数据信息;若条码不存在,则显示 “你输入的编码不存在,请重新输入”。当选择2时,显示 “输入商…