两天时间用 Rust + Tauri 构建全平台的 ChatGPT 应用
五一难得悠闲,手痒痒,抛下自己的项目,花了两天时间用 Rust + Tauri 构建一款全平台的 ChatGPT 应用。
留意到GitHub上有四款 ChatGPT 开源应用关注度比较高,分别是一个套壳桌面版,一个 naive-ui web 版,一个 nextjs 版本,一个无 server 依赖的纯 html 版本,于是就想写个全平台的版本,之所以选择用 Rust 作为后端,而不是直接在客户端 api 调用,是期望未来有更大扩展性,嵌入自己的模型。
项目已经上线,被 awesome tauri 收录,前端复用 web-chatgpt,后端用 rust 重写,目前在桌面,web, 手机上都能流畅运行。
Tauri 的正式版本还不支持手机端,这里我们使用最新的 2.0.0-alpha.8 版本,文档在这里Guides | Tauri Apps。Tauri 现在还不支持在浏览器里使用代理,可以用原生 Rust 解决。
准备开发环境
目录结构
- src: 前端部分,改自 web-chatgpt
- server: web 后端,采用 axum,在这里为了写 stream,浪费不少时间,主要是网上例子少,二是第一次碰,对 stream 的概念理解也有误。
- shared : Rust 后端逻辑部分, 目前只是实现了 OpenAI api 的调用,不得不说,Rust 的生态相对 nodejs 还是差一点,单单是 OpenAI api sdk 的功能性就稍逊,这里结合 async-openai crate 和 nodejs chatgpt-api 实现了上下文功能,未来会在这里加入自己的模型。
- src-tauri : tauri 实现,这里比较简单,因为主要逻辑都在上面的 shared里,与 server 共享
运行桌面
pnpm tauri dev
运行 Web
# run backend cargo run --bin server # start frontend dev pnpm dev
运行 iOS
pnpm tauri ios dev

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
当Serverless遇到Regionless:现状与挑战
摘要:本文尝试基于分析现有的学术文章,剖析Serverless与Regionless并存时,在性能提升和成本控制两个方向的现状与挑战 本文分享自华为云社区《当Serverless遇到Regionless:现状与挑战》,作者:云容器大未来。 近年来,Serverless服务崛起的趋势是有目共睹的:从Berkeley将Serverless认定为云计算向用户呈现的新默认形态[1],到头部厂商纷纷推出Serverless产品并成为爆款。这个趋势对于云计算平台是个必然,因为Serverless解放了用户管理和使用复杂云计算资源的双手,犹如第二次工业革命中内燃机汽车的出现解决了马车夫养马的麻烦,也推动高效、稳定的交通工具走进寻常百姓家。如同汽车由内燃机和转向机构等组件构成,Serverless平台可大致分为资源管理和任务编排[2],分别致力于提供高效且灵活的算力以及提供方便的用户程序执行方式。 在Serverless如火如荼的同时,Regionless也是不可忽视的一个方向。Regionless实际上是华为云提出的概念,即为屏蔽掉云平台Region的差异,使得云服务的租户能像“用水和用电”一样随时...
- 下一篇
案例实践|云智慧ITSM产品在利星行汽车的运维实践
ITSM(信息技术服务管理)是一种以客户为中心的方法,旨在提高信息技术的效率和效果。在传统零售行业,ITSM可以帮助连锁零售企业提升客户服务水平,通过IT服务台提供快速响应和解决客户的问题和需求。同时, ITSM可以帮助连锁零售企业优化业务流程,通过IT服务目录定义和标准化各项IT服务的范围、质量和价格,如网络连接、数据备份、安全防护、报表生成等,从而提高IT服务的可度量性和可改进性。 本文围绕云智慧ITSM项目(以下称DOSM)在利星行的落地实践,从业务流程、表单自动化审批、团队工作可视化等业务场景出发,介绍了云智慧DOSM产品在利星行汽车的应用情况。 项目背景 利星行汽车专注豪华汽车品牌服务,经销网络遍及全国87个城市,提供多元的产品和服务,以满足客户的多样化需求。经营范围涵盖新车、二手车、汽车零部件的销售、售后服务、金融和保险及相关的汽车衍生服务。利星行汽车员工数量超过1.7万人,IT运维团队200人左右。 随着利星行汽车整体业务的快速发展,月均运维工单数量也随之迅速增长。为了更好地完成数字化转型、提高IT管理系统的韧性和敏捷性,需要引入一个可以贯穿整个IT部门的信息化管理系统,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程