当前位置: 首页 > news >正文

体验LobeChat搭建私人聊天应用

LobeChat是什么

LobeChat 是开源的高性能聊天机器人框架,支持语音合成、多模态、可扩展的(Function Call)插件系统。支持一键免费部署私人 ChatGPT/LLM 网页应用程序。

地址:https://github.com/lobehub/lobe-chat

LobeChat介绍

为什么要用LobeChat

有些朋友会问,这些功能大部分都可以用chatGPT plus实现,为什么还要费劲安装 LobeChat,我觉得有以下几点需求的朋友可以用到 LobeChat

  1. 有时需要在不开代理的情况下访问 ChatGPT
  2. 有些场景下语音输入很便利,可以体验到 ChatGPT 安卓版的便利;
  3. 只有一个账号的情况下想共享给朋友使用,并且要保证用户的隐私安全。
  4. 不仅体验 OpenAI ,有时需要切换其他大模型厂商;
  5. 能自定义域名并个性化使用。

LobeChat的特性

  1. GPT 视觉认知: LobeChat 支持 GPT-4-vision 的视觉识别,实现多模态对话,用户可上传图片进行智能对话。
  2. 语音互动: 支持文本转语音和语音转文本,多种声音选择,提升交流体验。
  3. 文生图功能: 结合最新 AI 技术,用户可将文本直接转换为图片。
  4. 插件系统: 扩展 ChatGPT 功能,包括实时信息获取、新闻、文档检索等。
  5. 助手市场: 提供多种助手,支持工作和学习,促进社区协作。
  6. 渐进式Web应用: 提供类似原生应用的体验,优化移动和桌面使用。
  7. 移动适配: 优化移动体验,欢迎用户反馈以改进版本。
  8. 自定义主题: 提供多种主题和颜色选择,满足个性化需求。

准备工作

需要以下准备工作提前做好,具体操作可以参考文章最后的参考文献。

  1. 一台服务器:使用 docker 部署服务时需要,使用 Vercel 时不需要。
  2. OpenAI API Key:调用 ChatGPT 提供的 API 时需要使用。
  3. 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 请求基础 URLhttps://api.chatanywhere.cnhttps://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 版本或者其他厂商的模型:

设置->默认助手->模型

切换模型

切换成chatGPT-4

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

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&#xff1f…...

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 上传文件

前言 最近在做一个文件上传的功能&#xff0c;后端接口写好了、发现前端上传文件的页面不会写……&#xff08;我很笨的&#xff09;然后我就找啊找发现element有个组件是<el-upload/>能直接上传文件。我就想直接用拿来改改改成自己想要的&#xff0c;可是就是这样我花了…...

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 类就是单例模式&#xff0c;这个类管理着一个进程内的所有定时器&#xff0c;只需要一个对象就可以。 单例模式的实现有两种方式&#xff0c;懒汉式和饿汉式。懒汉式&#xff0c;当第一次使用…...

如何在cmd里面创建一个vue项目

在命令提示符&#xff08;CMD&#xff09;中创建一个Vue项目&#xff0c;你需要先确保你已经全局安装了Vue CLI&#xff08;Vue的命令行工具&#xff09;。如果你还没有安装Vue CLI&#xff0c;可以通过以下命令进行安装&#xff1a; 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 ​// 递增运算符&#xff1a;var a8aconsole.log(a) //9 ​var num10var bnumconsole.log(b) //10</script> 比较运…...

mybatis----有用配置知识归纳(狂神说学习总结)

1.mybatis介绍 MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息&#xff0c;将接口和 Java 的 实体类映射成数据库中的记录 官网 Mybatis中文官方文档 : https…...

【TCP/IP】组播

一、组播介绍 组播&#xff08;Multicast&#xff09;是网络技术中数据传输的一种方法&#xff0c;它允许将数据包同时发送给一组指定的目标&#xff0c;而不是单个的目标&#xff08;单播 Unicast&#xff09;或所有可能的目标&#xff08;广播 Broadcast&#xff09;。组播传…...

java 内存模型

程序计数器 线程私有主要字节码解释器通过读取程序计数器来选取下一条需要执行的指令&#xff0c;比如分支&#xff0c;循环&#xff0c;跳转和异常处理如果执行的是java 方法&#xff0c;那么程序计数器记录的时候虚拟机字节码指令的地址&#xff0c;如果执行的是native 方法…...

Linux——缓冲区封装系统文件操作

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、FILE二、封装系统接口实现文件操作1、text.c2、mystdio.c3、mystdio.h 一、FILE 因为IO相…...

深度学习系列59:文字识别

1. 简单文本&#xff1a; 使用google加的tesseract&#xff0c;效果不错。 首先安装tesseract&#xff0c;在mac直接brew install即可。 python调用代码&#xff1a; import pytesseract from PIL import Image img Image.open(1.png) pytesseract.image_to_string(img, lan…...

学习JAVA的第七天(基础)

目录 static 静态变量 静态方法 工具类&#xff1a; static的注意事项 继承 继承的好处 继承的特点 方法的重写 书写格式 override重写注解 方法重写的要求 this关键字 super关键字 static static表示静态&#xff0c;是Java中的一个修饰符&#xff0c;可以修饰成…...

GoLand 相关

goland 下载依赖 go mod tidy&#xff1a;保持依赖整洁 go mod tidy 命令的作用是清理未使用的依赖&#xff0c;并更新 go.mod 以及 go.sum 文件。 go mod tidy 和 go mod vendor 两个命令是维护项目依赖不可或缺的工具。go mod tidy 确保了项目的 go.mod 文件精简且准确&…...

顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上

文章目录 前言联系我们实现步骤freeswitch命令转接api接口转接 前言 本文讲解呼叫中心中间件如何手动转接通话。 场景&#xff1a;利用自动外呼进入机器人&#xff0c;在通话过程中&#xff0c;转接到坐席分机上。 联系我们 有意向了解呼叫中心中间件的用户&#xff0c;可以点…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...