//AI 图像识别/视觉模型 import gdip.snap; import web.form.chat; var chatUi = web.form.chat(text="图像识别"); chatUi.showLoading(" 正在识别图像"); //屏幕选区 import mouse.screenArea; var screenArea = mouse.screenArea(chatUi); //接收屏幕截图数据 screenArea.onBufferReady = function(pngBuffer){ /* 视觉模型与文本大模型的使用方法是一样的。 都可以用 web.rest.aiChat 调用 API,用 web.form.chat 创建对话界面。 区别是 web.form.chat 或 web.rest.aiChat.message 对象的 prompt 方法需要多指定一个图像参数。 下面添加提示词与图像,参数 2 指定图像 URL。 参数 2 用 buffer 对象指定 JPG/PNG/GIF/WEBP 内存数据会自动换为 Data URL。 */ chatUi.prompt("识别图像并分析总结", pngBuffer ) owner.endModal(true); } if(!screenArea.doModal()) return; //创建 AI 对话线程,下面的代码与调用其他文本大模型是一样的 thread.invoke( function(chatUi){ //创建 AI 客户端 import web.rest.aiChat; var aiClient = web.rest.aiChat( key = '\0\1\96';//密钥(API key) url = "https://ai.aardio.com/api/v1/";//接口地址(接口通用) model = "test-vl";//此模型仅供少量技术测试。 ) //调用聊天接口。 var resp,err = aiClient.messages(chatUi.chatMessage, function(deltaText,reasoning){ //输出思考过程 if(reasoning) { chatUi.showThinking(reasoning); } //输出回复,自带高性能 Markdown 解析器。 chatUi.writeDelta(deltaText); } ); if(err){ chatUi.errorMessage(err); } },chatUi //将窗口对象作为参数传入工作线程 ) //显示模态窗口 chatUi.doModal();