V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
smalltong02
V2EX  ›  程序员

使用大语言模型+谷歌工具箱构建私人助理

  •  
  •   smalltong02 ·
    smalltong02 · 175 天前 · 1109 次点击
    这是一个创建于 175 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自从 2022 年底 OpenAI 第一次发布 ChatGPT 3.5 模型以来,一直到现在的 GPT-4o 模型,仅仅才过了一年半的时间, 就从最初的纯语言模型,演化到了现在的多模态输入多模态输出模型。可以说大语言模型技术迭代迅速,并且展现出来了非常巨大的潜力。

    为了让大语言模型能够在面向企业( To B )和面向消费者( To C )的多种场景中商业化,并真正提高用户生产效率。从 2023 年初,运用大语言模型构建本地知识库,AI Agent 的框架就层出不穷。比如年初的开源框架 AutoGPT 和 BabyAGI ,7 月份的 MetaGPT ,9 月份微软发布的 AutoGen 框架,以及最后 11 月份 OpenAI 发布的 GPTs 平台。无论是个人开发者还是大型的 AI 公司,都在尝试让大语言模型落地商业化的道路。

    本文尝试通过为大语言模型配备本地知识库,搜索引擎和谷歌工具箱(包括邮箱、日历、云存储、YouTube 和谷歌地图),构建一个私人助理,以探索大语言模型在简化和辅助日常工作与生活中的可行性。


    本次演示所使用的模型和全部工具功能如下:

    开源项目: https://github.com/smalltong02/keras-llm-robot

    演示视频:

    模型:Gemini 1.5 Pro

    知识库:PS5

    搜索引擎:谷歌搜索

    谷歌工具箱:

    Gmail 功能: 检索邮件,创建草稿,发送邮件

    日历功能:检索日历,添加提醒

    谷歌 Drive(云存储):检索文档,下载文档,上传文档

    Youtube:检索视频

    谷歌地图:获取指定地址的地图 URL


    ## 一、首先加载模型,创建私人助理

    选择 AI Generator 选项并从下拉菜单中选择创建 Virtual Personal Assistant

    ![image]( "config-1")

    本次演示使用 Gemini 1.5 Pro 模型,助理名字选择 Jessica

    ![image]( "config-2")

    跳过语音输入和输出的选择,等以后本项目移植到移动端,本项必选!用语音控制大模型给自己打工,想想就爽!

    ![image]( "config-3")

    把本地知识库,搜索引擎和工具箱,全部选上

    ![image]( "config-4")

    最后加载配置并等待加载完成

    ![image]( "config-5")


    ## 二、对私人助理进行测试

    **任务一,首先让她介绍一下自己**

    **Question**: Hello, Who are you? And what are your capabilities?

    **Answer**: 助理回答自己名叫 Jessica ,是我的私人秘书,能够帮助我解决工作和生活问题。可以管理我的 Email ,日常计划,云存储,并可以帮我查找知识库。

    ![image]( "test-1")

    **总结**:模型对系统提示词进行了很好的总结和归纳之后,回答了这个问题,回答的非常不错。


    **任务二,让助理检查 5 月中的谷歌 IO 大会的新闻**

    **Question**: Please help me check the news about the Google I/O 2024.

    **Answer**: 助理通过使用搜索引擎,从网络搜索之后回答了这个问题。

    ![image]( "test-2")

    **总结**:问题超过了模型训练数据的时间范围,所以模型自动使用了搜索引擎,表现非常不错。

    **任务三,让助理检查我邮箱中关于“开发者竞赛”的邮件,并总结邮件内容**

    **Question**: Please check my email for messages with the subject containing "Developer competition", And provide a brief summary of the email's content.

    **Answer**: 助理使用 Gmail 工具中的 search_in_mails 功能从我的邮箱检索到了“谷歌开发者竞赛”的邮件,并总结了邮件的内容。

    ![image]( "test-3")

    点击扩展之后可以检查邮件内容

    ![image]( "test-4")

    **任务四,让助理检查我的时间安排,并添加一个新的面试提醒**

    **Question**: I have an interview between 2pm to 3pm on May 31th, please check if I am available at this time?

    **Answer**: 助理使用 Calendar 工具中的 get_event_from_calendar 功能,检查了 2pm 到 3pm 的时间,发现和一个会议安排冲突,并询问是否要重新规划面试时间。

    ![image]( "test-5")

    点击助理提供的连接,还可以直接导航到谷歌 Calendar 中检查这个会议提醒

    ![image]( "test-6")

    **Question**: What about between 3:30pm to 4:30pm today?

    **Answer**: 助理再次使用 Calendar 工具检查了 3:30pm 到 4:30pm 的时间,发现这个时间段没有任何安排,询问我是否需要预定这个时间。

    ![image]( "test-7")

    **Question**: Please add this appointment reminder for me, It was an interview between 3:30pm to 4:30pm on May 31th for a sales position.

    **Answer**: 助理使用 Calendar 工具中的 create_event_to_calendar 功能,帮我添加了这个提醒

    ![image]( "test-8")

    点击提供的连接,可以直接导航到谷歌 Calendar 中检查这个新的面试提醒

    ![image]( "test-9")

    **任务五、将云存储中的开发文档共享给其它的团队成员**

    **Question**: Please help me find the file 'HipsHook Project' in my cloud storage.

    **Answer**: 助理使用云存储工具,从谷歌 Drive 中找到了 2 个匹配的文档

    ![image]( "test-10")

    **Question**: 告诉助理下载第二份文档到本地的"download"目录中。

    **Answer**: 助理使用云存储工具,从谷歌 Drive 中下载了第二份文档

    ![image]( "test-11")

    检查"download"目录,这份文档已经下载完成,并转换成了 pdf 格式

    ![image]( "test-12")

    **Question**: 告诉助理共享这份文档和我的团队成员 Tony, 他的 Email 是"[email protected]".

    **Answer**: 助理写了一封邮件并添加这份文档到附件,发送给了 Tony 。

    ![image]( "test-13")

    登录到我的测试邮箱中检查这封邮件,已经收到这封邮件。

    ![image]( "test-14")

    点击邮件并检查邮件的正文,虽然我没有提供邮件正文的内容,不过模型任然帮我附加了邮件标题和一些合适的邮件正文。

    ![image]( "test-15")

    **任务六、从我的 Youtube 频道中,找到视频并共享给我的朋友 Tony**

    **Question**: Please retrieve the shared URL of the video 'Language Translation' from my YouTube channel, and Please give a brief description of the video.

    **Answer**: 助理使用 Youtube API ,从我的频道中找到了这个视频的 URL ,并总结了视频的简要描述。

    ![image]( "test-16")

    点击助理提供的连接,可以直接导航这个视频

    ![image]( "test-17")

    **Question**: I need to share the link to this video with my friend Tony, His email is "[email protected]".

    **Answer**: 同样的,助理写了一封邮件并添加这个视频 URL 到邮件正文,发送给了 Tony 。

    ![image]( "test-18")

    登录到我的测试邮箱中检查这封邮件,也已经收到这封邮件。

    ![image]( "test-19")

    ![image]( "test-20")

    **最终总结**:经过测试后,发现现在的大语言模型已经拥有了非常好的能力,可以和各种工具组合在一起帮助 C 端用户解决一些实际的问题。这是继 RAG 知识库之后,又一个很快就可以看到商业落地曙光的功能。期待在经过一段发展之后,大语言模型可以更稳定,更高效的完成这些任务,并真正能够部署给用户使用!
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2775 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:48 · PVG 20:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.