首页 > 其他分享 >如何用Rust编写一个ChatGPT桌面应用

如何用Rust编写一个ChatGPT桌面应用

时间:2023-05-30 10:35:39浏览次数:53  
标签:桌面 IntelliJ GTK IDEA 编写 ChatGPT 安装 Rust

  今天发现了京东云团队发的一个博客,保存下来慢慢看。

为什么我们需要一个桌面应用

原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt......
(首先我假设你是一名如我一样习惯用IDEA开发的java仔)

为什么是用Rust编写

  1. 效率高、资源占用量低。
  2. 安全性高:Rust 是一种内存安全的语言,其所有操作都经过系统级别的严格代码检查,减少了运行期间的崩溃和内存泄漏等问题的出现。
  3. 可维护性高:Rust 能够更好地编写可维护的代码,并且支持面向对象编程和函数式编程,这使得开发人员能够更好地组织代码,易于理解和修改。同时,Rust 的模块化设计使得不同的开发人员可以同时在项目中工作,而不会相互干扰。
  4. 跨平台:Rust 广泛支持多种操作系统和平台,包括 Windows,macOS,Linux 和 Android 等,这使得开发人员能够设计适用于不同平台和设备的应用。

如何用Rust编写一个桌面应用

1.安装 Rust 语言工具链:首先,请确保你已安装了 Rust 编程语言工具链,包括 Rust 编译器 (rustc) 和包管理工具 (cargo)。可以通过访问 Rust 官方网站 并遵循说明来安装。

2.安装 Rust 插件:打开 IntelliJ IDEA,然后转到 "File" > "Settings" (Windows/Linux) 或 "IntelliJ IDEA" > "Preferences" (macOS)。在设置窗口中,选择 "Plugins",搜索 "Rust",然后单击 "Install"。安装完成后,重启 IntelliJ IDEA。

3.创建新的 Rust 项目:在 IntelliJ IDEA 中,选择 "File" > "New" > "Project",然后在项目类型列表中选择 "Rust"。按照提示配置项目设置,然后单击 "Finish" 以创建新项目。

4.添加 GUI 库:你可以选择的 GUI 库(如 GTK 或 Qt),在项目的 Cargo.toml 文件中添加相应的依赖项。例如,对于 GTK,需要添加如下依赖:

5.[dependencies] gtk = "0.9"

6.编写代码:使用 IntelliJ IDEA 编辑器编写 Rust 代码。Rust 插件会提供代码补全、语法高亮、错误提示等功能。

7.构建和运行:使用 IntelliJ IDEA 的内置终端或外部终端运行cargo build和cargo run命令,以构建和运行你的 Rust 桌面应用程序。

保姆教程的试错与验证

为了验证这个流程是否足够保姆级,我提前发给同事操作了一遍,最后在cargo run这里报错没有glib-2.0。这是因为在 macOS 上运行包含gtk依赖项的 Rust 项目时,需要先在系统上安装 GTK+ 和相关库。

可以通过使用 Homebrew 包管理器来解决这个问题。请按照以下步骤操作:

  1. 如果尚未安装 Homebrew,请访问 Homebrew 官方网站 并按照说明进行安装。
  2. 打开终端并运行以下命令以安装 GTK+ 及其依赖库:
  3. brewinstallgtk+3 brewinstalladwaita-icon-theme
  4. 安装 pkg-config 工具:
  5. brewinstallpkg-config
  6. 设置环境变量,让 Rust 编译器和链接器能够找到 GTK+ 库。在 shell 配置文件中(如/.bashrc、/.zshrc、~/.zshrc等),添加以下行:
  7. exportPKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
  8. 保存更改并重新加载 shell 配置文件,以使更改生效。比如你修改了~/.zshrc,则应运行以下命令:
  9. source~/.zshrc

Rust编写的桌面应用效果示例

当你看到这个hello world,就已经成功一大半了。因为已经有大佬开源了一套
https://github.com/lencx/ChatGPT 目前star过3w。很可惜的是,由于被盗用和潜在的法务风险,后续更新就不开源了,大家也可以基于这个版本发挥自己的创造力了。下图就是提供了便捷下载的一个示例。

标签:桌面,IntelliJ,GTK,IDEA,编写,ChatGPT,安装,Rust
From: https://www.cnblogs.com/joranger/p/17442522.html

相关文章

  • ChatGPT浅析
    ChatGPT是近期最火的概念了,和之前的AlphaGo不同,GPT让AI和普通大众如此接近,让大家可以亲自接触到AI带来的全新体验。不过,AI并不是魔法,ChatGPT也不是革命性的新技术。目前我个人来看,ChatGPT要取代人类的工作还言之过早,不过,辅助人类提高工作效率却已经绰绰有余。ChatGPT如此热门,相......
  • 2023-05-30 前端h5页面如何实现调起微信支付功能(该回答来自chatgpt,实际效果未测试)
    前端H5页面调起微信支付功能需要结合微信JS-SDK和后端接口实现。以下是基本步骤和示例代码:1.获取微信公众号的appid和secret在微信公众平台上创建一个公众号,获取其对应的appid和secret。2.引入微信JS-SDK将微信JS-SDK的链接放入HTML文件的头部,例如:<scriptsrc="https://res.......
  • 苹果公司限制员工使用AI工具ChatGPT
    ​      导读:苹果公司最近发布了一份内部备忘录,禁止员工使用生成式AI平台(包括ChatGPT和GitHub的Copilot等)用于工作任务。 本文字数:600,阅读时长大约:2分钟 苹果公司最近发布了一份内部备忘录,禁止员工使用生成式AI平台(包括ChatGPT和GitHub的Copilot等)用于工作任务。这......
  • Xfce桌面环境升级截图工具,支持AVIF,JPEG XL
    近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图像格式。近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图......
  • Xfce桌面环境升级截图工具,支持AVIF,JPEG XL
    近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图像格式。近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图......
  • Xfce桌面环境升级截图工具,支持AVIF,JPEG XL
    近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图像格式。近日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图......
  • 如何用ChatGPT做的PPT
    第一步:提供需求生成PPT 步骤1:输入内容 请将您的大致需求告诉它,以便它能够帮助您进行梳理。   步骤2:输入内容框架 只需按照特定的格式输入内容并设置标题即可。   只需要等待20秒,ChatGPT就能够自动编写完整的代码格式。   步骤3:打开生成工具 ......
  • 文心一言 VS 讯飞星火 VS chatgpt (25)-- 算法导论4.2 7题
    七、设计算法,仅使用三次实数乘法即可完成复数a+bi和c+di相乘。算法需接收a、b、c和d为输入,分别生成实部ac-bd和虚部ad+bc。文心一言:可以使用如下算法来计算复数a+bi和c+di的积,且只需进行三次实数乘法:1.将a和b相乘,得到ab;2.将c和d相乘,得到cd;3.将ab+cd赋......
  • 【一步步开发AI运动小程序】九、姿态辅助调试桌面工具折使用
    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序......
  • 我和ChatGPT聊数字人
    ​近期,聊天机器人ChatGPT火了,写诗写文写代码,才艺狠狠拉满。面对如此“会聊”的ChatGPT,很多人好奇相同的问题提问ChatGPT和真人,会有什么样的结果?于是我们组织了这次特殊的“采访”,以相同的问题采访ChatGPT与即构的AI视频处理技术负责人昕虬,双方对以下采访给出观点或答案:数字人......