体验LobeChat搭建私人聊天应用
LobeChat是什么
LobeChat是开源的高性能聊天机器人框架,支持语音合成、多模态、可扩展的(Function Call)插件系统。支持一键免费部署私人ChatGPT/LLM网页应用程序。
地址:https://github.com/lobehub/lobe-chat

为什么要用LobeChat
有些朋友会问,这些功能大部分都可以用chatGPT plus实现,为什么还要费劲安装 LobeChat,我觉得有以下几点需求的朋友可以用到 LobeChat:
- 有时需要在不开代理的情况下访问
ChatGPT; - 有些场景下语音输入很便利,可以体验到
ChatGPT安卓版的便利; - 只有一个账号的情况下想共享给朋友使用,并且要保证用户的隐私安全。
- 不仅体验
OpenAI,有时需要切换其他大模型厂商; - 能自定义域名并个性化使用。
LobeChat的特性
GPT视觉认知:LobeChat支持GPT-4-vision的视觉识别,实现多模态对话,用户可上传图片进行智能对话。- 语音互动: 支持文本转语音和语音转文本,多种声音选择,提升交流体验。
- 文生图功能: 结合最新
AI技术,用户可将文本直接转换为图片。 - 插件系统: 扩展
ChatGPT功能,包括实时信息获取、新闻、文档检索等。 - 助手市场: 提供多种助手,支持工作和学习,促进社区协作。
- 渐进式Web应用: 提供类似原生应用的体验,优化移动和桌面使用。
- 移动适配: 优化移动体验,欢迎用户反馈以改进版本。
- 自定义主题: 提供多种主题和颜色选择,满足个性化需求。
准备工作
需要以下准备工作提前做好,具体操作可以参考文章最后的参考文献。
- 一台服务器:使用
docker部署服务时需要,使用Vercel时不需要。 OpenAI API Key:调用ChatGPT提供的API时需要使用。API代理:要调用OpenAI API,无法访问外网时需要代理服务,Vercel部署时不需要。
安装体验
LobeChat 提供了 Vercel 的 自托管版本 和 Docker 镜像,这使你可以在几分钟内构建自己的聊天机器人,无需任何基础知识。
本人搭建的LobeChat,分享给大家体验一下:https://www.coderjia.cn/chatgpt ,额度用完即停止分享~
使用 Vercel 安装
白嫖 Vercel的服务器资源,还不需要代理服务,推荐优先使用,不过个人版有限额,但够用了。
1、Fork 仓库
Fork 这个 https://github.com/lobehub/lobe-chat 仓库,为了保持和原仓库同步更新,建议执启动 Upstream Sync Action,启用之后可以设置每小时进行一次自动更新。


2、注册 vercel 账户
Vercel是一个自动化的Web应用部署、预览和上线平台,结合了Github Page和Github Action的功能。它支持应用模板,帮助开发人员快速搭建和上线应用,同时支持Github项目导入和联动。Vercel专注于项目的部署和静态托管,提供Serverless Function,但不涉及持续集成测试等其他CI/CD流水线任务。此外,Vercel支持零配置部署到全球边缘网络,提高访问速度,自动处理CDN和HTTPS配置,且可以部署多种环境,如生产环境和预览环境。用户可以通过Vercel平台全自动部署个人网站,只需修改仓库中的代码并推送至Github,Vercel便会自动触发重新部署流程。
地址:https://vercel.com/
3、新建项目
可以通过这个Deploy链接直接创建项目,参数都准备好了,也可以按照下面步骤一步步创建。
新建项目:

选择自己git仓库中的项目,搜不到的话需要授权访问该项目:

设置环境变量:
| 环境变量 | 类型 | 描述 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 必选 | 这是你在 OpenAI 账户页面申请的 API 密钥 | sk-xxxxxx...xxxxxx |
OPENAI_PROXY_URL | 可选 | 如果你手动配置了 OpenAI 接口代理,可以使用此配置项来覆盖默认的 OpenAI API 请求基础 URL | https://api.chatanywhere.cn 或 https://aihubmix.com/v1 默认值: https://api.openai.com/v1 |
ACCESS_CODE | 可选 | 添加访问此服务的密码,你可以设置一个长密码以防被爆破,该值用逗号分隔时为密码数组 | awCTe)re_r74 or rtrt_ewee3@09! or code1,code2,code3 |
CUSTOM_MODELS | 可选 | 用来控制模型列表,使用 + 增加一个模型,使用 - 来隐藏一个模型,使用 模型名=展示名 来自定义模型的展示名,用英文逗号隔开。 | qwen-7b-chat,+glm-6b,-gpt-3.5-turbo |

部署过程需要静静等待几分钟。。。
部署成功之后,可以配置域名,也可以进一步设置:

4、访问lobe-chat项目
点击中间图标进入,出现如下界面:

需要输入设置的访问密码 ACCESS_TOKEN 才能访问,也可以配置社交账号单点登录访问:

可以切换 ChatGPT 版本或者其他厂商的模型:
设置->默认助手->模型


手机访问,适配也是没问题的:

5、自定义域名
如下步骤可以设置自定义域名:

需要到域名解析服务商添加以下内容:

使用docker安装
Docker 部署也很简单,使用以下命令即可使用一键启动 LobeChat 服务:
$ docker pull lobehub/lobe-chat
$ docker run -d -p 3210:3210 \-e OPENAI_API_KEY=sk-xxxx \-e ACCESS_CODE=lobe66 \--name lobe-chat \lobehub/lobe-chat

如果你需要通过代理使用 OpenAI 服务,你可以使用 OPENAI_PROXY_URL 环境变量来配置代理地址:
$ docker run -d -p 3210:3210 \-e OPENAI_API_KEY=sk-xxxx \-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \-e ACCESS_CODE=lobe66 \--name lobe-chat \lobehub/lobe-chat
总结
LobeChat 是一个功能强大、易于部署和使用的聊天机器人框架,为用户提供了一个创新的交互和沟通工具,可配置 OpenAI 、Azure OpenAI、智普 AI 等多种模型 API 。配合租赁 OpenAI API Key 即可享受 ChatGPT plus 相关功能,适用于需要部署和使用聊天机器人的个人和企业,特别是那些寻求高性能、多功能和可定制化聊天机器人解决方案的用户。
参考
ChatGPT之开通ChatGPT4
ChatGPT之充值OpenAI API
ChatGPT之搭建API代理服务
相关文章:
体验LobeChat搭建私人聊天应用
LobeChat是什么 LobeChat 是开源的高性能聊天机器人框架,支持语音合成、多模态、可扩展的(Function Call)插件系统。支持一键免费部署私人 ChatGPT/LLM 网页应用程序。 地址:https://github.com/lobehub/lobe-chat 为什么要用Lobe…...
ClickHouse 指南(三)最佳实践 -- 主键稀疏索引
在ClickHouse主索引的实用介绍 ClickHouse release 24.1, 2024-01-30 1、简介 在本指南中,我们将深入研究ClickHouse索引。我们将详细说明和讨论: ClickHouse中的索引与传统的关系数据库管理系统有何不同ClickHouse是如何构建和使用表的稀疏主索引的什么是在Clic…...
【Nginx】Nginx配置反向代理 和 https
nginx.conf配置 进入linux /etc/nginx/ 打开nginx.conf 进行以下配置 http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {#监听443端口listen 443 ssl;#你的域名server_name huiblog.top;#ssl证书的pe…...
ChatGPT第七讲
ChatGPT为什么会被热炒? 2023年上半年,ChatGPT引起了广泛的热议,对于ChatGPT有多热,不需要我重复了,你可能在网上看到了很多报道,标题如《ChatGPT揭开AI战幔:杀死黄页一样摧毁Google?…...
Chapter 2 of Effective C++ (构造/析构/赋值运算)
条款06:了解C默默编写并调用哪些函数 Know what functions C silently writes and calls 编译器会为空类生成一个copy构造函数、copy assignment操作符和一个析构函数。此外如果你没有声明任何构造函数,它也会生成一个默认构造函数。 (对C1…...
Android学习笔记 service启动方式
在Android系统中,Service的启动方式主要有两种: ## 1. startService 这种方式用于启动一个服务执行后台任务,不进行通信。当你调用startService()方法启动服务后,服务会一直无限期运行下去,只有在外部调用了stopServi…...
Redis 工具类 与 Redis 布隆过滤器
Redis 工具类 1. 核心依赖 <!--redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency><groupId>com.google.guava…...
自定义el-upload 上传文件
前言 最近在做一个文件上传的功能,后端接口写好了、发现前端上传文件的页面不会写……(我很笨的)然后我就找啊找发现element有个组件是<el-upload/>能直接上传文件。我就想直接用拿来改改改成自己想要的,可是就是这样我花了…...
LeetCode69. x 的平方根(C++)
LeetCode69. x 的平方根 题目链接代码 题目链接 https://leetcode.cn/problems/sqrtx/description/ 代码 class Solution { public:int mySqrt(int x) {int right x, left 0, ans -1;while(left < right){long long mid left (right - left) / 2;if(mid * mid <…...
[c++] 单例模式 + cyberrt TimingWheel 单例分析
单例模式要求一个类在一个进程中只能创建一个对象。比如 cyberrt 中的 TimingWheel 类就是单例模式,这个类管理着一个进程内的所有定时器,只需要一个对象就可以。 单例模式的实现有两种方式,懒汉式和饿汉式。懒汉式,当第一次使用…...
如何在cmd里面创建一个vue项目
在命令提示符(CMD)中创建一个Vue项目,你需要先确保你已经全局安装了Vue CLI(Vue的命令行工具)。如果你还没有安装Vue CLI,可以通过以下命令进行安装: bash复制代码 npm install -g vue/cli # O…...
Day2 JS基础
2.1 运算符 赋值运算符 一元运算符 -- <script>let h20let kh hconsole.log(h) //22console.log(k) //42let i1console.log(i i i) //7 // 递增运算符:var a8aconsole.log(a) //9 var num10var bnumconsole.log(b) //10</script> 比较运…...
mybatis----有用配置知识归纳(狂神说学习总结)
1.mybatis介绍 MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类映射成数据库中的记录 官网 Mybatis中文官方文档 : https…...
【TCP/IP】组播
一、组播介绍 组播(Multicast)是网络技术中数据传输的一种方法,它允许将数据包同时发送给一组指定的目标,而不是单个的目标(单播 Unicast)或所有可能的目标(广播 Broadcast)。组播传…...
java 内存模型
程序计数器 线程私有主要字节码解释器通过读取程序计数器来选取下一条需要执行的指令,比如分支,循环,跳转和异常处理如果执行的是java 方法,那么程序计数器记录的时候虚拟机字节码指令的地址,如果执行的是native 方法…...
Linux——缓冲区封装系统文件操作
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、FILE二、封装系统接口实现文件操作1、text.c2、mystdio.c3、mystdio.h 一、FILE 因为IO相…...
深度学习系列59:文字识别
1. 简单文本: 使用google加的tesseract,效果不错。 首先安装tesseract,在mac直接brew install即可。 python调用代码: import pytesseract from PIL import Image img Image.open(1.png) pytesseract.image_to_string(img, lan…...
学习JAVA的第七天(基础)
目录 static 静态变量 静态方法 工具类: static的注意事项 继承 继承的好处 继承的特点 方法的重写 书写格式 override重写注解 方法重写的要求 this关键字 super关键字 static static表示静态,是Java中的一个修饰符,可以修饰成…...
GoLand 相关
goland 下载依赖 go mod tidy:保持依赖整洁 go mod tidy 命令的作用是清理未使用的依赖,并更新 go.mod 以及 go.sum 文件。 go mod tidy 和 go mod vendor 两个命令是维护项目依赖不可或缺的工具。go mod tidy 确保了项目的 go.mod 文件精简且准确&…...
顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上
文章目录 前言联系我们实现步骤freeswitch命令转接api接口转接 前言 本文讲解呼叫中心中间件如何手动转接通话。 场景:利用自动外呼进入机器人,在通话过程中,转接到坐席分机上。 联系我们 有意向了解呼叫中心中间件的用户,可以点…...
无人机+点云+Civil3D:无控制点场景下的高精度土方算量实战
1. 无人机航测在复杂地形土方算量中的优势 石头山这类复杂地形一直是工程测绘的难点。传统全站仪测量需要测绘人员翻山越岭布设控制点,不仅效率低下,还存在安全隐患。而无人机航测就像给工程装上了"天眼",特别适合解决这类难题。 去…...
NextPy全栈框架:用Python构建AI智能体Web应用
1. 项目概述:当AI智能体遇上全栈Web开发最近在开源社区里,一个名为dot-agent/nextpy的项目引起了我的注意。作为一名长期在Web开发和AI应用落地之间“反复横跳”的开发者,我深知将AI能力,特别是智能体(Agent࿰…...
Platinum-MD完整指南:跨平台NetMD音乐传输解决方案深度解析
Platinum-MD完整指南:跨平台NetMD音乐传输解决方案深度解析 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md Platinum-MD是一款专为NetMD MiniDisc设备设计的现代化音乐管理工…...
Discord服务器日活破5万后ChatGPT机器人崩了?百万级消息队列+状态分片架构设计(附GitHub星标1.2k的开源模板)
更多请点击: https://intelliparadigm.com 第一章:Discord服务器日活破5万后ChatGPT机器人崩了? 当 Discord 社区日活跃用户突破 5 万时,一个基于 OpenAI API 的 ChatGPT 机器人在高峰时段突然出现 98% 的请求超时与 429…...
【仿真实战】AnyLogic地铁站客流仿真:从零搭建带安检与限流的多层车站模型
1. 从零开始搭建地铁站仿真模型 第一次接触AnyLogic做地铁站客流仿真时,我完全被各种模块和参数搞晕了。后来在几个实际项目中摸爬滚打,终于总结出一套小白也能快速上手的方法。这次我们就来搭建一个包含安检区和限流措施的多层地铁站模型,整…...
ChromaControl终极指南:如何实现多品牌RGB设备统一灯光控制
ChromaControl终极指南:如何实现多品牌RGB设备统一灯光控制 【免费下载链接】ChromaControl 3rd party device lighting support for Razer Synapse. 项目地址: https://gitcode.com/gh_mirrors/ch/ChromaControl 你是否曾为不同品牌的RGB设备需要安装多个控…...
基于LM567的反射式红外检测电路在智能车信标检测中的实战应用与优化
1. LM567红外检测电路基础解析 第一次接触LM567芯片是在五年前的智能车竞赛备赛期间,当时为了解决传统红外检测易受环境光干扰的问题,我们团队尝试了各种方案。这款看似普通的8脚芯片,却让我们成功实现了在强光环境下稳定工作的红外检测系统。…...
Remix Icon终极指南:3200+免费矢量图标库的完整使用手册
Remix Icon终极指南:3200免费矢量图标库的完整使用手册 【免费下载链接】RemixIcon Open source neutral style icon system 项目地址: https://gitcode.com/gh_mirrors/re/RemixIcon 还在为项目寻找高质量的免费图标而烦恼吗?🤔 每天…...
Hummingbot自动化交易框架:从原理到实战的量化交易指南
1. 项目概述:一个为专业交易者打造的自动化交易框架如果你在加密货币交易领域摸爬滚打过一段时间,一定会对“手动盯盘”的疲惫和“情绪化操作”的代价深有体会。市场24/7运转,机会转瞬即逝,而人的精力终究有限。这正是我最初接触并…...
“Minwa不是滤镜,是语法”——20年数字艺术总监拆解其底层视觉语义树:从笔触熵值到文化编码层级的7阶解析模型
更多请点击: https://intelliparadigm.com 第一章:“Minwa不是滤镜,是语法”——一场视觉范式的认知升维 在传统图像处理语境中,“滤镜”常被理解为对像素的后置修饰层——一种不可逆、非结构化、依赖预设参数的视觉覆盖。Minwa …...
