使用大语言模型+谷歌工具箱构建私人助理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
smalltong02
V2EX    程序员

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

  • &nbp;
  •   smalltong02
    smalltong02 2024-06-01 12:16:10 +08:00 1651 次点击
    这是一个创建于 505 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自从 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     Solana     2626 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:22 PVG 17:22 LAX 02:22 JFK 05:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86