网站首页 > 技术文章 正文
在 AI 时代,老式的编程习惯完全被颠覆。原来可能要一大堆插件或工具辛苦堆出来的程序,现在只要把 AI 调教好了就行。
aardio 支持调用十几种编程语言,这很适合发挥 AI 大模型的优势。对于 AI 来说,你就是让它 100 种编程语言左右手换着耍它也不会怯场。
在 aardio 新版中,我们按 F1 键可以调出 AI 编码助手,AI 不但可以写 aardio 代码,也可以写其他编程语言的代码。
实际上这个功能不仅仅可以用于 aardio,利用 ImTip 的超级热键,几句代码就可以写一个可以用于其他程序的 AI 续写与补全助手(参考 aardio 自带 AI 范例)。
下面现场演示令人惊讶的效果。
? 在 aardio 里调用 AI 自动写 Python 代码。
在 aardio 代码里需要写 Python 代码的位置,按下 F1 键,AI 麻利地生成了正确的 Python 代码:
AI 掌握了 aardio 如何与 Python 代码交互的技巧,自动生成了 aardio 需要的 Python 函数。完整的代码可以按 F5 键直接运行,完美无错。
? 在 aardio 里调用 AI 自动写网页前端代码
下面再演示一下在 aardio 里调用 AI 自动写前端代码。
aardio 通过自带 web.view 库可以调用系统自带的 WebView2 浏览器控件加载网页前端,开发简单,接口交互方便,在网页里可以直接调用本地代码写的函数,生成的程序体积也很小。
下面我找了一个 aardio 调用 web.view 用网页写界面的例子,我们直接把网页部分的代码全部清空。
然后按 F1 键调出 AI 编码助手,让我惊讶的是 AI 迅速生成了完美无误的网页界面代码,并编写了与 aardio 交互的 JavaScript 代码,生成的代码完美无误,可以直接运行。
? 要点
以上演示调用的是最近很火的 DeepSeek V3 。DeepSeek 扣费很少,。建议大家去申请一个 key , 充十块钱估计能用上一整年了。这种按量计费的方式更能完全释放 AI 的全部能力,对双方都公平。
那些不需要调用 API 直接就可以使用的聊天助手表面上看似乎省了事,实际上可能优化你的输入降智你的回复,有一定动手能力就不要去当这种韭菜了。
另外有条件的朋友也可以试试 Claude 3.5 Sonnet ,效果很好。
使用 AI 续写与补全代码时,清楚的注释语句有利于 AI 更好地生成代码。写注释语句实际上也等于是写 AI 提示词。
『 F1 编码助手 』与 『 工具 / 问 AI 』 共享配置,选择或切换配置对这两个工具都有效。
不同的 AI 助手配置里可以添加不同的系统提示词。例如程序主要使用的是 web.view 那么可以加个 web.view 指南。注意要添加对 AI 友好的 Markdown 格式( aardio 所有文档在本地都是 Markdown 格式,在线文档底部也都有 Markdown 文件链接 )。
大模型的 token 计数通常小于文件大小或字数,例如 web.view 入门指南有 18KB,但 token 数只有 4KB 左右。
aardio 范例里提供了一个 token 估算工具:
服务端基本都能缓存重复提交的提示词,命中缓存的输入扣费会少很多。
在聊天助手里,问完全不相关的问题最好先清除上下文以避免降低 AI 生成回复的质量,或者不必要地扣除费用。
? 调用大模型
有朋友问我这些 AI 功能是怎么实现的。
其实非常简单,aardio 里的 AI 工具全都是开源的。
首先,在 aardio 或者 ImTip 的超级热键里,我们写几句代码就可以创建一个热键,在超级热里里如下获取输入光标前后的文本作为 AI 的上下文:
import key.hotkey;
superHotkey = key.hotkey();
//加载超级热键配置
superHotkey.loadTable({
// 按 Ctrl+ I 触发热键
["Ctrl+I"] = function(){
thread.invoke(
function(winform){
import winex.editor;
//获取当前文本输入窗口光标插入点前后的文本。
var leftText,rightText = winex.editor.getText2(true);
}
)
};
})
至于在 aardio 埋在调用大模型的 API 接口那就更简单了,示例:
import console;
console.showLoading(" Thinking ");
//1. 创建机器人
//---------------------------------------------------------------------
import web.rest.aiChat;
var ai = web.rest.aiChat(
key = '\0\49\66\90\28\3\0\87\8\80\9\80\5\80\4\3\83\5\80\4\80\9\80\7\83\9\84\82\0\4\3\0\80\3\82\84\82';
url = "https://api.deepseek.com/v1";
model = "deepseek-chat";
temperature = 0.1;
maxTokens = 1024,
)
//2. 创建消息队列保存对话上下文。
var msg = web.rest.aiChat.message();
//添加用户提示词
msg.prompt( "test" );
//3. 调用 AI 聊天接口。
ai.messages(msg,console.writeText);
猜你喜欢
- 2025-01-10 2023年最火的300个JS会议/演讲清单(国外)
- 2025-01-10 PS通道抠图技巧:如何快速抠出风景中的大树?
- 2025-01-10 互联网大佬发布《UI组件库二次封装技巧》,在GitHub引起热议
- 2025-01-10 倒车时,新手司机如何判断,车身与车位前端垂直距离大于1.5米?
- 2025-01-10 前端开发中,对图片的优化技巧有哪些?
- 2025-01-10 小技巧,如何使用 webpack 降低前端资源文件维护成本
- 2025-01-10 前端开发者都应知道的 jQuery 小技巧
- 2025-01-10 PICC置管时为防导管异位,我们这样做
- 2025-01-10 「电商设计」C4D产品建模,新手必看小技巧
- 2025-01-10 前端小技巧:利用Blob对象切片上传大文件
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)