QtCreator接入外部AI大模型

文章目录

一、概要

本篇文章主要通过让QtCreator接入外部AI插件,实现在QtCretor里调用AI模型完成代码自动补全(Code Completion)和聊天助手(Chat Assistant)的目的。下面是需要操作的工具列表。
Qt版本:Qt5.14.2(自带QtCreator4.11.1,但是这里不用它)
QtCreator版本:QtCreator17.0.0(独立安装程序)
AI插件:QodeAssist项目文章用到的插件release版本

二、安装Qt5.14.2,配置高版本QtCreator

访问: Qt5.14.2使用高版本QtCreator

三、下载AI插件

访问:QodeAssist Releases可以直接下载最新版本的插件,记的选择和自己安装的QtCreator一致的版本,这里选择QodeAssist-v0.6.0-QtC17.0.0-Windows-x64.7z

在这里插入图片描述


下载解压后,里面会有按照QtCreator插件路径创建的lib文件夹,把它放到安装QtCreator17时所选择的文件夹下,一般是C:\Qt\qtcreator-17.0.0

四、配置插件

4.1、AI大模型设置

前面几步操作完成后,打开QtCreator17.0.0=>编辑=>Preferences,找到QodeAssist,如下图配置。配置后在Provider Settings一栏中填上对应模型的API Key即可,非常简单。大家可以根据自己的需求和模型自定义。

在这里插入图片描述

4.2、自动补全配置

打开Code Completion选项,如下图:

在这里插入图片描述


在这里插入图片描述

QodeAssist的自动补全配置分为以下几个主要类别(按界面布局排布),附上个人建议供参考:

自动补全基础设置
  • Enable Auto Complete (autoCompletion): 启用或禁用自动补全功能的主开关
  • Enable Multiline Completion (multiLineCompletion): 允许生成跨多行的代码补全建议【建议】
  • Enable stream option (stream): 启用流式响应,让补全结果逐步显示【建议】
  • Enable smart process text from instruct model (smartProcessInstuctText): 智能处理指令模型的文本输出,如果不设置返回结果大概率会以注释开头。【建议】
  • AI suggestion triggers after typing (autoCompletionCharThreshold): 设置触发AI建议所需的字符数量(0-10个字符)
  • character(s) within(ms) (autoCompletionTypingInterval): 设置字符阈值必须在多长时间窗口内满足(500-5000毫秒)
  • with delay(ms) (startSuggestionTimer): 设置建议显示的延迟时间(10-10000毫秒)
  • Show progress indicator during code completion: 在代码补全过程中显示进度指示器
  • Include context from open files: 在补全时包含打开文件的上下文【不建议】
模型参数设置

基础参数:

  • Temperature: 控制生成文本的随机性(0.0-2.0,默认0.2)
  • Max Tokens: 设置生成的最大token数量(-1到900000,默认100)

高级参数:

  • Top P: 核采样参数,控制候选词汇的累积概率(0.0-1.0)
  • Top K: 限制候选词汇数量(1-1000)
  • Presence Penalty: 存在惩罚,减少重复内容(-2.0到2.0)
  • Frequency Penalty: 频率惩罚,进一步控制重复(-2.0到2.0)
上下文设置
  • Read Full File: 读取完整文件内容作为上下文【不建议】
  • Read Strings Before Cursor: 设置光标前读取的行数(0-10000行,默认50行)
  • Read Strings After Cursor: 设置光标后读取的行数(0-10000行,默认30行)
提示词设置

这项设置取决你使用的模型是否为FIM模型。

  • Use System Prompt: 启用系统提示词
  • System Prompt: 为FIM模型配置的系统提示词
  • Use special system prompt and user message for non FIM models: 为非FIM模型使用特殊的提示词模板
  • Max Changes Cache Size: 项目变更缓存的最大大小(2-1000,默认10)【不建议】
  • Additional Programming Languages: 添加自定义编程语言支持
Quick Refactor Settings(快速重构设置)

Quick Refactor Settings是专门为快速重构功能配置的设置组,包含以下选项:

  • Include context from open files in quick refactor (useOpenFilesInQuickRefactor): 在快速重构时包含打开文件的上下文信息
  • Quick Refactor System Prompt (quickRefactorSystemPrompt): 专门为快速重构功能配置的系统提示词,默认内容为专业的C++、Qt和QML代码补全助手提示
Ollama Settings(Ollama设置)

Ollama Settings是专门为Ollama提供商配置的设置组,包含以下选项:

  • Livetime (ollamaLivetime): 控制Ollama在完成请求后保持活跃的时间(以分钟为单位),设置为-1可禁用此功能,默认值为"5m"
  • Context Window (contextWindow): 设置Ollama的上下文窗口大小,范围为-1到10000,默认值为2048

4.3、聊天助手配置

打开Chat Assistant设置页面,如下图:

在这里插入图片描述

QodeAssist的聊天助手配置分为以下几个主要类别(按界面布局排布):

Chat Settings(聊天设置)
  • Chat history token limit (chatTokensThreshold): 聊天历史记录的token限制,当超过此限制时会移除最旧的消息,范围1-99999999,默认值20000
  • Sync open files with assistant by default (linkOpenFiles): 默认情况下与助手同步所有打开的文件,默认值false【不建议】
  • Enable stream option (stream): 启用流式响应选项,让回复逐步显示,默认值true
  • Enable autosave when message received (autosave): 收到消息时启用自动保存功能,默认值true
General Parameters(基础参数)
  • Temperature: 控制生成文本的随机性和创造性,范围0.0-2.0,默认值0.5
  • Max Tokens: 设置生成响应的最大token数量,范围-1到10000,默认值2000
Advanced Parameters(高级参数)
  • Top P: 核采样参数,控制候选词汇的累积概率,范围0.0-1.0,默认值0.9,需要先启用才能使用
  • Top K: 限制候选词汇数量,范围1-1000,默认值50,需要先启用才能使用
  • Presence Penalty: 存在惩罚参数,减少重复内容的生成,范围-2.0到2.0,默认值0.0
  • Frequency Penalty: 频率惩罚参数,进一步控制重复内容,范围-2.0到2.0,默认值0.0

Context Settings(上下文设置)

  • Use System Prompt: 启用系统提示词功能,默认值true
  • System Prompt: 配置聊天助手的系统提示词,默认为专业的C++、Qt和QML开发AI助手提示

Ollama Settings(Ollama设置)

  • Livetime: 控制Ollama在完成请求后保持活跃的时间(分钟),设置为-1可禁用,默认值"5m"
  • Context Window: 设置Ollama的上下文窗口大小,范围-1到10000,默认值2048
Chat Settings(聊天设置)
  • Text Font: 设置聊天界面文本的字体家族,从系统可用字体中选择,默认为系统字体
  • Text Font Size: 设置文本字体大小,默认为系统字体大小
  • Code Font: 设置代码块的字体家族,默认为等宽字体
  • Code Font Size: 设置代码字体大小,默认为系统字体大小
  • Text Format: 设置文本格式显示方式,可选择Markdown、HTML或纯文本,默认为Markdown

结尾

根据上述提示设置后即可使用,如果有开启日志选项,可以在QtCreator底部概要信息内查看;如果想使用自动补全,又没有开启自动补全设置,可以通过快捷键Ctrl Alt Q或者右键菜单开启;如果想使用聊天助手,在底部QodeAssist Chat查看,如下图。

在这里插入图片描述


结束。

Read more

前端安全:别让你的网站成为黑客的游乐场

前端安全:别让你的网站成为黑客的游乐场 毒舌时刻 前端安全?这不是后端的事吗? "我只是个前端,安全关我什么事?"——结果网站被XSS攻击,用户信息泄露, "我用了框架,应该很安全吧?"——结果框架有漏洞,被人轻松突破, "我的网站小,没人会攻击的"——结果被黑客当作练手的靶子。 醒醒吧,前端安全不是可有可无的,而是必须重视的! 为什么你需要这个? * 保护用户数据:防止用户信息被窃取 * 维护网站声誉:避免安全事件影响品牌形象 * 遵守法律法规:如GDPR、CCPA等数据保护法规 * 防止业务损失:避免因安全问题导致的经济损失 反面教材 // 反面教材:直接拼接HTML字符串 function renderUserInput() { const userInput = document.getElementById('user-input').value; // 危险!直接将用户输入插入到DOM中

【2026春招】三年前端血泪面经:拿下字节/阿里/美团Offer,这些高频题你必须掌握!(附手写源码)

【2026春招】三年前端血泪面经:拿下字节/阿里/美团Offer,这些高频题你必须掌握!(附手写源码)

前言: 2026 年的春招可以用一个词形容: “卷中卷” 。单纯会写 Vue/React 业务代码已经很难过简历关了,面试官现在更看重你的底层原理、工程化基建(如 Rspack/Vite/微前端)、性能优化以及复杂场景的解决能力。 笔者双非本,三年中小厂前端经验,经过一个多月的地狱级复习,最终拿下了字节跳动、淘天集团(阿里)、美团的三家 Offer。今天把这一个月的面经和高频手写题全部复盘出来,希望给正在求职的兄弟们一点参考! (文末附高频手撕代码题,建议收藏反复手敲!) 一、 字节跳动(抖音电商团队) 面试特点: 极其看重计算机基础、算法能力和源码理解。基本每一轮都会有一到两道 Hard/Medium 级别的算法题或手写题。 一面(基础与深度,约 60 分钟) 一面面试官主要考察基础的扎实程度,问得很细。 1. CSS/HTML: BFC 的触发条件和应用场景?如何实现一个高度自适应的瀑布流布局?

总结前端三年 理想滚烫与现实的冰冷碰撞

总结前端三年 理想滚烫与现实的冰冷碰撞

大家好,我是500佰,技术宅男 目前正在前往独立开发路线,我会在这里分享关于编程技术、独立开发、技术资讯以及编程感悟等内容 6月3日的一篇《一个普通人的30岁 他经历了什么》介绍一篇自己的碎碎念、即回顾自己以前的成长经历,那么再接着说下这3年来的工作经历,2022年1月,我以一名前端新人的身份开始了职业生涯。每当看到浏览器中运行的网站、手机里流畅的APP,或是点击按钮后转动的loading图标,都会想到这些产品背后凝聚着无数开发者的心血。我既期待能成为这个创造数字世界的一员,又难免担心:自己的技术储备是否足够?会不会被身边优秀的同事远远甩在身后? 怀揣着对未来的憧憬与一丝忐忑,我正式踏入了职业生涯的第一站。 不断尝试和调整的前两年(2022 ~ 2024) 我的职业生涯始于一家颇具特色的企业。原本以为会从事移动应用或网站开发,没想到公司专注于打造一款独特产品——我们开发了一系列可复用组件,配合自主研发的拖拽式平台,能够快速搭建Web站点。这种模式与后来流行的低代码平台颇有相似之处。 作为一名Java工程师加入公司后,却发现实际工作内容与预期有较大差异。当时还不了解’前端开发’这个

[开源] 纯前端实现楼盘采光模拟工具:从2D规划图到3D日照分析

[开源] 纯前端实现楼盘采光模拟工具:从2D规划图到3D日照分析

前言 买房是人生大事,不仅要看户型,更要看采光。尤其是现在高层住宅密集,低楼层的日照时长往往是购房者的心病。虽然市面上有专业的日照分析软件,但对于普通开发者或购房者来说门槛太高。 最近利用周末时间,我开发了一套纯前端、零依赖的楼盘规划与采光模拟工具。它包含两个部分: 1. 配置器 (Editor):基于 Canvas,在普通的楼盘规划图(JPG/PNG)上绘制楼栋轮廓、标定比例尺。 2. 可视化 (Viewer):基于 Three.js,将配置好的数据生成 3D 模型,模拟冬至/夏至不同时间段的日照阴影。 本文将分享这个项目的核心技术实现思路。 开源地址:[https://github.com/SeanWong17/building-sunlight-simulator] 欢迎 Star ⭐ 和 Fork! 🚀 功能演示 1. 2D 规划图配置器 这是数据生产的入口。用户上传一张总平图,