聊天应用与开发框架LobeChat

在这里插入图片描述

自从 OpenAI 宣布用户无需注册账号即可使用 ChatGPT 后,Github 上多了很多利用免登录 ChatGPT Web 提供的无限制免费 GPT-3.5-Turbo API 服务的应用,像 FreeGPT35aurora 等等

之前有很多 AI 应用,因为没有 OpenAI Key而放弃,现在都可以慢慢折腾起来了

下面的安装示例,全程采用命令行方式,需用 SSH 客户端登录到服务器上执行

FreeGPT35

什么是 FreeGPT35 ?

FreeGPT35 就是利用免费登录的 ChatGPT Web 提供的无限免费 GPT-3.5-Turbo API 服务。

FreeGPT35 是一个服务,需配合其他软件使用。安装很简单,但是要正常工作,需要有一个正确的网络环境

【注意】:如果您无法正常使用此项目,很可能是由于您的 IP 存在问题。您的 IP 已触发了 Cloudflare 的盾,或已被 ban 掉。请尝试自行更改您的 IP 或切换服务器。

安装

以 Docker 方式安装,可以安装在群晖上,也可以安装在 vps

本文写作时, latest 版本对应为 v1.0.1

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器
docker run -d \--restart unless-stopped \--name freegpt35 \-p 3044:3040 \missuo/freegpt35:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:freegpt35:image: missuo/freegpt35:latestcontainer_name: freegpt35restart: alwaysports:- "3044:3040"

然后执行下面的命令

# 新建文件夹 freegpt35
mkdir -p /volume1/docker/freegpt35# 进入 freegpt35 目录
cd /volume1/docker/freegpt35# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3044 ,会看到返回的错误信息,不用理会

要验证是否正常,可以用下面的示例

你不必传递 Authorization 认证信息,当然,你也可以随机传递任意字符串。

curl http://192.168.0.197:3044/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer any_string_you_like" \-d '{"model": "gpt-3.5-turbo","messages": [{"role": "user","content": "Hello!"}],"stream": true}'

状态异常

如果返回错误信息,说明你的 IP 有问题

{"status":false,"error":{"message":"An error happened, please make sure your request is SFW, or use a jailbreak to bypass the filter.","type":"invalid_request_error"}}

如果看日志,可能会看到下面的内容

Error refreshing session ID, retrying in 1 minute...
If this error persists, your country may not be supported yet.
If your country was the issue, please consider using a U.S. VPN.

状态正常

如果一切正常的话,应该返回下面这样的信息


如果看日志,可能会看到下面的内容

System: Successfully refreshed session ID and token.

LobeChat

什么是 LobeChat ?

LobeChat 是现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架,支持语音合成、多模态、可扩展的(function call)插件系统,可以让你一键免费拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用。

LobeChat 支持很多模型服务商,其中包括了 Ollama,不过今天我们要对接的是 ChatGPT,有兴趣的可以自己研究

文章传送门:本地大模型运行框架Ollama

安装

在群晖上以 Docker 方式安装。

如果你熟悉命令行,可能用 docker cli 更快捷

本文写作时, latest 版本对应为 v0.145.10

# 运行容器
docker run -d \--restart unless-stopped \--name lobe-chat \-p 11435:3210 \-e OPENAI_API_KEY=gptyyds \-e OPENAI_PROXY_URL=http://192.168.0.197:3044/v1 \-e ACCESS_CODE=lobe66 \lobehub/lobe-chat:latest
  • OPENAI_API_KEY:可以随意使用任何字符串填写 API Key,例如gptyyds
  • OPENAI_PROXY_URL:填写 FreeGPT35 服务的地址 + 端口 + /v1
  • ACCESS_CODE:给 LobeChat 服务添加访问密码

更多的环境变量说明,请参考官方文档:https://chat-docs.lobehub.com/en/self-hosting/environment-variables

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:lobe-chat:image: lobehub/lobe-chat:latestcontainer_name: lobe-chatrestart: unless-stoppedports:- 11435:3210environment:- OPENAI_API_KEY=gptyyds- OPENAI_PROXY_URL=http://192.168.0.197:3044/v1- ACCESS_CODE=lobe66

然后执行下面的命令

# 新建文件夹 lobechat
mkdir -p /volume1/docker/lobechat# 进入 lobechat 目录
cd /volume1/docker/lobechat# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:11435 就能看到主界面

立即开始

如果直接提问,会弹出密码框

输入前面环境变量 ACCESS_CODE 中设定的值 lobe66,就能开始聊天了

LobeChat 的聊天记录全部都存储在你的本地浏览器中

LobeChat 的功能还挺多的,比如 插件商店

启用了 DALL-E 3 想玩下文生图,结果只是给我一堆 prompt,看来可能需要 GPT-4 才行

可以看看官方文档的中文版介绍,
https://github.com/lobehub/lobe-chat/blob/main/README.zh-CN.md

参考文档

missuo/FreeGPT35: Utilize the unlimited free GPT-3.5-Turbo API service provided by the login-free ChatGPT Web.
地址:https://github.com/missuo/FreeGPT35

lobehub/lobe-chat: 🤯 Lobe Chat - an open-source, modern-design LLMs/AI chat framework. Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Perplexity / Bedrock / Azure / Mistral / Ollama ), Multi-Modals (Vision/TTS) and plugin system. One-click FREE deployment of your private ChatGPT chat application.
地址:https://github.com/lobehub/lobe-chat

开始使用 · LobeChat Docs
地址:https://chat-docs.lobehub.com/zh/usage/start

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

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

相关文章

python_3

文章目录 题目运行结果模式A模式B模式C模式D 题目 mode input("请选择模式:") n int(input("请输入数字:"))if mode "A" or mode "a":# 模式A n:输入的层数 i:当前的层数# 每行数字循环次数 ifor i in range(1, n 1):for j in r…

【Linux】Ubuntu 压缩与解压缩

首先在Windows下安装7Zip压缩软件,以便于可以生成 .tar 和 .bz2 的压缩格式的文件。例如新建一个test文件夹,操作后如下。 gzip 压缩工具:负责 .gz 格式的文件的压缩和解压缩,gzip --help 查看使用帮助; 压缩文件&…

FreeRTOS_day4:使用计数型信号量实现生产消费模型

1、 程序代码: myCountingSem01Handle osSemaphoreNew(2, 2, &myCountingSem01_attributes);void StartDefaultTask(void *argument) {/* USER CODE BEGIN StartDefaultTask *//* Infinite loop */for(;;){osSemaphoreAcquire(myCountingSem01Handle,osWaitF…

Dockerd的使用

端口映射 存储卷 类似于mount,把真机的某个目录映射都容器里面 -v 选项可以有多个 利用存储卷修改配置文件 容器间网络模式 共享网络为 --networkcontainer:容器名 微服务架构 一种由容器为载体,使用多个小型服务组合来构建复杂的架构为…

gulp项目配置,压缩css,压缩js,进行监听文件改动

1,创建项目 npm install -g gulp这个应该很熟悉,就是全局安装gulp 2,创建一个工程,使用node创建,统一命令 npm init -y3,创建后,目录出现一个package.json文件,没错,就是我们用vu…

云数据库正进入2.0时代...

云数据库正进入2.0时代... 如何看待院士点赞国产数据库?这一行业还有哪些前景?中国在数据库领域正在赶超世界先进水平,您觉得数据库产业的突破到底意味着什么? 关于云原生数据库PolarDB,个人在实验场景或者是阿里云数据…

【C++航海王:追寻罗杰的编程之路】C++的类型转换

目录 1 -> C语言中的类型转换 2 -> 为什么C需要四种类型转换 3 -> C强制类型转换 3.1 -> static_cast 3.2 -> reinterpret_cast 3.3 -> const_cast 3.4 -> dynamic_cast 4 -> RTTI 1 -> C语言中的类型转换 在C语言中,如果赋值运…

计算机中数的表示

0. 简介 介绍计算机中数的表示方法,主要内容来自 c s a p p csapp csapp。 1. 整数的表示 包括有符号整数与无符号整数的表示。 假设 w → [ w n − 1 w n − 2 . . . w 0 ] \overrightarrow w[w_{n-1}w_{n-2}...w_0] w [wn−1​wn−2​...w0​] 为一种整数。…

【Frida】【Android】09_爬虫之Socket

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

2024 年广东省职业院校技能大赛(高职组)“云计算应用”赛项样题 3

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件…

江协科技STM32:TIM输出比较

输出比较模块的主要功能:输出一定频率和占空比的PWM波形 CC是捕获比较的意思,R是Register,寄存器的意思,CCR捕获比较寄存器它是输入捕获和输出比较共用的 当使用输入捕获,它就是捕获寄存器 当使用输出比较,它就是比…

蓝桥杯每日一题:斐波那契(矩阵乘法)

在斐波那契数列中,Fib00,Fib11,FibnFibn−1Fibn−2(n>1) 给定整数 n,求 Fibnmod10000。 输入格式 输入包含不超过 100100 组测试用例。 每个测试用例占一行,包含一个整数 当输入用例 n−1时,表示输入终止,且该…

自由定义表单table组件(antdesign版)

对表单自由排序&#xff0c;决定哪些列显示隐藏&#xff0c;能保存设置过的操作 效果图 使用页&#xff0c;操作列dataIndex要设置为action&#xff0c;forKey必需是唯一的 用的vue2版的antdesign vue写的样式&#xff0c;想用其它的ui框架可以自行修改样式 <customTable …

Brain.js 的力量:构建多样化的人工智能应用程序

机器学习&#xff08;ML&#xff09;是人工智能 (AI) 的一种形式&#xff0c;旨在构建可以从处理的数据中学习或使用数据更好地执行的系统。人工智能是模仿人类智能的系统或机器的总称。 机器学习&#xff08;ML&#xff09;与复杂的数学纠缠在一起&#xff0c;让大多数初学者…

解决nginx代理后,前端拿不到后端自定义的header

先说结论&#xff0c;因为前端和nginx对接&#xff0c;所以需要在nginx添加如下配置向前端暴露header add_header Access-Control-Expose-Headers Authorization 排查过程 1.后端设置了Authorization 的响应头作为token的返回&#xff0c;前后端本地联调没有问题 response.s…

嵌入式驱动学习第六周——内核函数调用(堆栈打印)

前言 在内核中&#xff0c;函数调用堆栈非常重要&#xff0c;因为它可以帮助开发人员理解代码是如何执行的&#xff0c;从而进行调试、性能优化或问题排查。堆栈可以显示当前执行的函数以及导致该函数调用的先前函数&#xff0c;从而形成一个函数调用链。本篇博客就介绍堆栈打印…

软件无线电原理

常规软件无线电接收器&#xff1a; 首先&#xff0c;来自天线的射频信号被放大&#xff0c;通常射频部分利用一个调谐器将感兴趣的频段区域的信号进行放大。这个放大的射频信号被送入一个混频器。来自本振的信号也被送入混频器&#xff0c;其频率由无线电的调谐控制决定。混频器…

【LeetCode】--- 动态规划 集训(二)

目录 一、63. 不同路径 II1.1 题目解析1.2 状态转移方程1.3 解题代码 二、931. 下降路径最小和2.1 题目解析2.2 状态转移方程2.3 解题代码三、174. 地下城游戏3.1 题目解析3.2 状态转移方程3.3 解题代码 一、63. 不同路径 II 题目地址&#xff1a; 不同路径 II 一个机器人位于…

传输层 --- TCP (下篇)

目录 1. 超时重传 1.1. 数据段丢包 1.2. 接收方发送的ACK丢包 1.3. 超时重传的超时时间如何设置 2. 流量控制 3. 滑动窗口 3.1. 初步理解滑动窗口 3.2. 滑动窗口的完善理解 3.3. 关于快重传的补充 3.4. 快重传和超时重传的区别 4. 拥塞控制 4.1. 拥塞控制的宏观认识…

「 典型安全漏洞系列 」11.身份验证漏洞详解

身份验证是验证用户或客户端身份的过程。网站可能会暴露给任何连接到互联网的人。这使得健壮的身份验证机制成为有效的网络安全不可或缺的一部分。 1. 什么是身份验证 身份验证即认证&#xff0c;是验证给定用户或客户端身份的过程。身份验证漏洞使攻击者能够访问敏感数据和功…