利用Qt实现调用文字大模型的API,文心一言、通义千问、豆包、GPT、Gemini、Claude。

利用Qt实现调用文字大模型的API,文心一言、通义千问、豆包、GPT、Gemini、Claude。

下载地址: AI.xyz

1 Qt实现语言大模型API调用

嘿,大家好!分享一个最近做的小项目 "AI.xyz" 基于Qt实现调用各家大模型。

做这个项目的理由其实特搞笑:就是我想换个新键盘,但是刚买了电脑,媳妇不让。

我就琢磨着怎么能挣个键盘钱,想来想去,最后决定看看在闲鱼上卖代码行不行。花了两个周末研究了一阵。

现在做得差不多了,再有一两个周末估计就能搞定。

为什么舍近求远用C++呢?因为我不会前端,而且前端有好多开源的东西......

基于qt实现的我还没看到(想想也正常,没必要),不过这倒是个不错的练手和学习的机会。

功能:

  • 能调用各家语言大模型。国内的文心、豆包、通义。国外的 GPT、Gemini、Claude。
  • 国内模型的 API 需要自己申请,在设置里输入就行。
  • 国外模型的话,只适配了我平时用的:302AI 还有在淘宝买的 one/newAPI 分发。
  • 操作样式直接参考的 ChatGPT-Next-Web 。
    实现:
    用了很多现成的开源库。
    网络调用 用的 libhv 。
    解析 markdown 用的 md4c 。
    渲染 md 没选 QWebEngineView,那个太大了,直接用 QTextBrowser 硬写的。
    快捷键用的 QHotkey 。

2 AI.xyz v0.1 版本上线,能帮我换键盘吗?

视频------AI.xyz v0.1 版本上线,能帮我换键盘吗?

嗨,大家好!我是Beyond欣,欢迎回到我的频道。


上期视频里,我做了一个小项目 AI.xyz,一个基于Qt的人工智能助手应用。

现在,v0.1 版本已经出炉啦!

把它丢到了闲鱼,能不能换键盘就靠它了!

这周,开发了不少工作:
打包发布

制作了一个简易的下载页面,对AI.xyz感兴趣的小伙伴们可以去体验一下。

所有填写的API和聊天记录都保存在本地,AI.xyz不会上传任何信息。

所有请求都是本地直接向模型供应商发起的。

无需担心隐私问题,因为压根连服务器都没有。
助手功能

添加了 Prompt 模板,对话支持推送 System。

增加了一个助手选择UI,可以根据关键字进行检索,并且支持响应式布局调整。
动态主题

重构了原来的方案,替换了高清按钮图标。

之前是通过两个大qss文件实现切换。

现在根据不同控件拆分成多个qss文件,并用占位符表示所有颜色和资源。

通过读取配置文件中的颜色定义,实现了动态换肤。
Markdown解析

先删除frontmatter、然后识别代码块,识别关键字、最后丢给 MD4C 转成html。
Markdown渲染

预先准备好 HTML 文件,将解析后的字符传入 body,并利用 QTextBrowser 进行绘制。
模型支持

将模型信息从硬编码改为 CSV 文件管理,这样可以随时调整模型介绍、关键词和调用逻辑。
用户体验

优化了页面布局,支持侧边栏折叠,支持替换头像。

将模型选择移至菜单栏,新建对话直接沿用当前对话使用的模型。
关于API获取

国内大模型 API 申请非常简单,还都有免费额度。只需要在设置中填入 API 密钥就可以使用了。

我已经在下载网站上分享了我的 API 密钥,有兴趣的小伙伴可以试用(我的随时会停)。

至于国外模型 API,需要自行申请或者去淘宝买。

调用本地代理功能我还没完善,自己申请的 OpenAI api 用国内IP直接调可能封号,慎重。

淘宝上有不少现成的服务,以Gemini为例:

过别人服务器的那种 1$ 只要几毛,

直接卖账户 API的那种 1$ 大概2快。


不管 AI.xyz 最后能不能帮我换个键盘,我其实挺享受这个过程的。

这是第一次尝试做个项目,现在感觉蛮有趣的。

当然了,我也明白这个项目最终的用户量大概率是零。

如果考虑商业效率什么的话,用Qt来做这种项目真的是下下下策,我就自己图一开心。

接下来,我打算研究如何集成语音合成和图片生成功能。

并学习如何像 ChatBox 那样提供 License 和搭建服务器中转。

感谢观看,记得订阅点赞,我们下期见!

相关推荐
阳光开朗_大男孩儿2 小时前
DBUS属性原理
linux·服务器·前端·数据库·qt
Alphapeople3 小时前
Qt Modbus
开发语言·qt
竹林海中敲代码3 小时前
Qt Creator 集成开发环境 常见问题
qt·qt工具常见问题
长沙红胖子Qt8 小时前
关于 Qt运行加载内存较大崩溃添加扩大运行内存 的解决方法
开发语言·qt·qt扩大运行内存
gopher95118 小时前
qt相关面试题
开发语言·qt·面试
聚梦小课堂16 小时前
OpenAI GPT o1技术报告阅读(1):通过学习,以及报告中有趣的部分-密文解析思维链✨
gpt·解密·openai o1·技术解读·案例解释·论文导读·案例解析
三玖诶17 小时前
在 Qt 中使用 QLabel 设置 GIF 动态背景
开发语言·qt·命令模式
只对您心动19 小时前
【QT】实现TCP服务器,客户端之间的通信
linux·服务器·c语言·开发语言·c++·qt·tcp/ip
Austim小白20 小时前
QT消息对话框学习
qt·学习
散一世繁华,颠半世琉璃20 小时前
GPT如何理解人类语言:从向量化到智能涌现
gpt