news 2026/5/7 0:57:02

苹果 Siri 要变聊天机器人,我提前用 Gemini API 给 Siri 加了个“大脑”:支持多轮对话和屏幕感知

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
苹果 Siri 要变聊天机器人,我提前用 Gemini API 给 Siri 加了个“大脑”:支持多轮对话和屏幕感知

文章目录

      • 一、先搞懂原理:Siri为啥原来“不太聪明”?
      • 二、准备工作:3步搞定环境配置
      • 三、核心代码:服务端+快捷指令,复制就能用
        • 1. Python服务端代码(关键!支持多轮对话+屏幕识别)
        • 2. iOS快捷指令配置(3步让Siri调用服务)
      • 四、实测效果:比原版Siri强在哪?
      • 五、进阶优化:让超级Siri更好用
      • 六、最后说句心里话

今天用2026年最火的Gemini API给Siri装个“超级大脑”——不仅能多轮对话不翻车,还能实时识别屏幕上的文字、图片内容,比如你指着手机里的表格问“这个数据怎么算增长率”,它立马就能给你算出来,比原版Siri强太多了!

今天就带大家从零开始搞,代码直接抄、步骤超详细,哪怕你是刚入门的小白,跟着做也能成!

一、先搞懂原理:Siri为啥原来“不太聪明”?

其实原版Siri的问题在于“记忆短、功能死”——你问完一个问题,它记不住上下文,下次再问相关的就得重新说;而且只能调用苹果预设的功能,没法自己扩展。

咱们这次改造的核心思路特别简单:

  1. 把Siri当成“传话筒”:用户跟Siri说话,Siri把语音转文字后传给我们自己写的服务
  2. 用Gemini API当“大脑”:让Google的Gemini大模型处理文字,支持多轮对话、理解上下文
  3. 加个“屏幕眼睛”:用iOS的屏幕截图+OCR识别,让Gemini能“看见”屏幕上的内容
  4. 再把结果传回Siri:Gemini生成回答后,Siri用语音读给用户听

简单说就是“Siri负责收发消息,Gemini负责动脑思考+看屏幕”,组合起来就是个超强版智能助手!

二、准备工作:3步搞定环境配置

咱先把需要的工具和账号准备好,都很简单,不用怕:

  1. 获取Gemini API密钥

    • 去Google AI Studio官网(https://aistudio.google.com/)注册登录,不用翻墙也能进
    • 右上角点“Get API Key”,创建一个密钥,复制下来存好,后面要用到(别泄露给别人哦)
  2. 安装必备依赖库
    咱用Python写服务端,需要装3个库:

    • google-generativeai:调用Gemini API的官方库
    • pillow:处理屏幕截图
    • pytesseract:做OCR文字识别(让程序“读”屏幕上的字)
      打开终端,复制下面的命令回车就行,自动安装:
    pipinstallgoogle-generativeai pillow pytesseract
  3. iOS端准备

    • 确保手机升级到iOS 16以上(不然没法用快捷指令的截图功能)
    • 下载“快捷指令”APP(苹果自带的,没有的话去App Store搜)

三、核心代码:服务端+快捷指令,复制就能用

咱分两部分写代码,先写Python服务端(负责对接Gemini和处理屏幕内容),再弄iOS快捷指令(让Siri能调用这个服务)。

1. Python服务端代码(关键!支持多轮对话+屏幕识别)

我把代码里的关键步骤都加了注释,大家复制到自己的Python编辑器里,改改API密钥就能跑:

importgoogle.generativeaiasgenaifromPILimportImageimportpytesseractfromflaskimportFlask,request,jsonifyimportos# 1. 配置Gemini API(把你刚才复制的API密钥填这里!)genai.configure(api_key="你的Gemini API密钥")# 2. 初始化Gemini模型,选最新的Gemini 1.5 Pro,支持多轮对话和图像理解model=genai.GenerativeModel(model_name="gemini-1.5-pro-latest",# 开启多轮对话记忆,让Gemini能记住之前的聊天内容safety_settings=[{"category":"HARM_CATEGORY_HARASSMENT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_HATE_SPEECH","threshold":"BLOCK_NONE"},]# 这里暂时关闭安全拦截,方便测试,正式用可以调严点)# 3. 初始化对话历史,存之前的聊天内容chat_history=[]# 4. 创建Flask服务,让iOS快捷指令能访问app=Flask(__name__)# 5. 核心功能:处理用户请求(文字+屏幕截图)@app.route("/siri-ai",methods=["POST"])defsiri_ai():globalchat_history data=request.json# 拿到用户说的话user_input=data.get("user_input","")# 拿到iOS传过来的屏幕截图路径(后面快捷指令会处理)screenshot_path=data.get("screenshot_path","")# 如果有屏幕截图,先做OCR识别文字screen_text=""ifscreenshot_pathandos.path.exists(screenshot_path):# 打开截图img=Image.open(screenshot_path)# 用OCR识别屏幕上的文字(支持中文!)screen_text=pytesseract.image_to_string(img,lang="chi_sim+eng")print(f"识别到屏幕文字:{screen_text}")# 6. 构建给Gemini的提示词,把用户输入和屏幕内容都传过去prompt=f""" 你现在是增强版Siri助手,需要: 1. 先看屏幕识别到的内容:{screen_text}(如果没有就忽略) 2. 再回答用户的问题:{user_input}3. 记住之前的对话,支持多轮聊天,不要每次都像第一次说话 4. 回答要口语化,别太官方,像朋友聊天一样 """# 7. 调用Gemini API,传入对话历史和当前提示chat=model.start_chat(history=chat_history)response=chat.send_message(prompt)ai_answer=response.text# 8. 更新对话历史,让下次聊天能记住chat_history.append({"role":"user","parts":[prompt]})chat_history.append({"role":"model","parts":[ai_answer]})# 9. 把结果返回给iOS快捷指令returnjsonify({"answer":ai_answer})# 10. 启动服务(默认跑在本地5000端口)if__name__=="__main__":# 注意:手机和电脑要连同一个WiFi,不然Siri连不上服务app.run(host="0.0.0.0",port=5000,debug=True)

代码里有几个关键点要注意:

  • 一定要把“你的Gemini API密钥”换成你自己的,不然调用不了模型
  • 电脑和手机必须连同一个WiFi,因为Siri要访问你电脑上的服务
  • pytesseract如果识别不了中文,去装个中文语言包(网上搜“pytesseract 中文语言包”,跟着装就行,超简单)
2. iOS快捷指令配置(3步让Siri调用服务)

这部分不用写代码,跟着点就行:

  1. 打开“快捷指令”APP,点右上角“+”新建指令,命名为“超级Siri”
  2. 添加动作:
    • 先加“获取屏幕截图”(让Siri能“拍照”屏幕)
    • 再加“Base64编码”(把截图转成文字格式,方便传数据)
    • 再加“HTTP请求”:
      • 方法选“POST”
      • URL填你电脑的IP+端口,比如“http://192.168.1.100:5000/siri-ai”(电脑IP在Windows上用ipconfig查,Mac上用ifconfig查)
      • 请求体选“JSON”,内容填:
        {"user_input":"{查询文本}","screenshot_path":"{Base64编码的截图}"}
    • 最后加“朗读文本”(让Siri把AI的回答读出来)
  3. 保存指令,然后在iPhone设置里把这个快捷指令添加到Siri,以后喊“嘿Siri,超级Siri”就能用了!

四、实测效果:比原版Siri强在哪?

我给大家举几个实测例子,你们就知道有多香了:

  1. 多轮对话不翻车

    • 我问:“北京今天天气怎么样?”
    • 超级Siri:“今天北京晴,气温15-25℃,适合穿薄外套~”
    • 我再问:“那明天呢?需要带伞吗?”
    • 超级Siri:“明天北京有小雨,气温12-18℃,记得带伞,别淋着啦~”(原版Siri这里会问“你说明天哪个地方?”,记不住上下文)
  2. 屏幕感知超实用

    • 我打开手机里的Excel表格,里面有“1月销售额5万,2月8万”
    • 喊“嘿Siri,超级Siri,算一下这两个月的增长率”
    • 超级Siri:“我看到屏幕上1月销售额5万,2月8万,增长率是(8-5)/5=60%,比1月涨了不少哦~”(原版Siri根本看不懂表格)
  3. 复杂问题也能答

    • 我问:“用Python写个爬取豆瓣Top250电影的代码”
    • 超级Siri:“没问题,给你个简单的代码,用requests和BeautifulSoup:
      importrequestsfrombs4importBeautifulSoup url="https://movie.douban.com/top250"response=requests.get(url)soup=BeautifulSoup(response.text,"html.parser")movies=soup.find_all("div",class_="hd")formovieinmovies:print(movie.find("span",class_="title").text)
      运行前记得装依赖库哦~”(原版Siri只会说“我没法帮你写代码”)

五、进阶优化:让超级Siri更好用

如果觉得基础版不够爽,还能加这些功能:

  1. 加记忆清理功能:有时候聊太久想重置,加个“重置对话历史”的接口,调用后chat_history清空
  2. 支持图片识别:Gemini能直接理解图片,不用OCR,把截图直接传给Gemini,能识别图表、手写笔记
  3. 部署到云服务器:不用开电脑,把Python服务部署到阿里云、腾讯云,手机随时随地能用(学生机才几十块一年)

六、最后说句心里话

现在AI行业真的太火了,苹果、谷歌这些大厂都在抢着升级智能助手,本质上就是在抢AI人才。我做AI研发22年了,明显感觉国内现在缺的不是技术,是能把技术落地的人——比如能给Siri加功能、能开发AI助手的工程师,缺口真的很大。

目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。

其实搞AI真没那么难,像今天给Siri加大脑,也就几行代码的事。只要你愿意动手,从简单的小项目开始练,慢慢就能上手复杂的开发。说不定下次苹果更新Siri,里面就有你写的功能呢?

大家如果在操作过程中遇到问题,比如API调用失败、快捷指令连不上,都可以在评论区问我,我看到都会回!也欢迎大家把自己改的超级Siri功能分享出来,一起交流进步~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 13:36:11

机械制造行业,SpringMVC如何支持百M大文件的下载安全性?

大型文件传输系统解决方案 项目需求分析 作为江苏某上市集团公司的项目负责人,我深知当前面临的文件传输需求具有以下关键挑战: 超大文件传输:需支持50G文件及100G文件夹高可靠性:需实现断点续传,且刷新/重启浏览器…

作者头像 李华
网站建设 2026/5/1 13:02:36

开发抢红包软件违法

“抢红包软件是否违法”这个问题,答案不能一概而论。软件本身是一个工具,具体是否违法,完全取决于“谁在用”以及“用这个软件来干什么”。 为了让你快速理解,我把几种典型情况整理成了下表: 违法场景主要行为描述可…

作者头像 李华
网站建设 2026/5/6 13:49:17

全栈信创融合AI 打造自主可控的智能算力底座

数字经济进入高质量发展新阶段,算力已成为核心生产要素,更是支撑科技自立自强、培育新质生产力的关键支撑。当全栈信创筑牢自主可控的产业根基,遇上AI技术引爆的智能化革命,二者的深度融合不再是简单的技术叠加,而是重…

作者头像 李华
网站建设 2026/5/1 7:17:12

多语言文档识别工具

跨国协作越来越频繁,企业、高校、研究机构每天都要处理大量外文文档。合同、技术手册、学术论文……这些材料不仅语言复杂,格式也五花八门。传统翻译工具往往顾此失彼:要么翻译质量差强人意,要么排版乱成一团,后期调整…

作者头像 李华
网站建设 2026/5/3 6:23:43

使用LangGraph构建你的第一个AI Agent-附完整代码

AI Agent 指的是有能力主动思考和行动的智能体,能够以类似人类的方式工作,通过大模型来“理解”用户需求,主动“规划”以达成目标,使用各种“工具”来完成任务,并最终“行动”执行这些任务。 从模型到 Agent 在 Agen…

作者头像 李华
网站建设 2026/5/2 21:13:57

2026年3月Tiobe编程语言榜:Rust排名大涨,Go/Kotlin受关注

每年三月的Tiobe编程语言排行榜都是开发者关注的焦点,它反映了过去一段时间内编程语言的流行趋势和技术社区的关注变化。2026年3月的榜单已经出炉,其中既有意料之中的稳固者,也出现了令人瞩目的新变动。这份榜单不仅仅是名次的排列&#xff0…

作者头像 李华