对 Qwen 2 模型代理能力的完整测试

165 天前
 smalltong02
就在前天,阿里正式发布了 Qwen 2 开源大语言模型,这次发布包括基础语言模型和指令调整语言模型,参数范围从 0.5 到 720 亿,还包括了 Mixture-of-Experts 模型。

作为一个一直使用 Qwen 直到 Qwen 1.5 模型的忠实用户,我对这次的发布感到格外兴奋。因为在全球权威测评中,Qwen 2 72B 模型的性能已经超过最强开源模型的王者 Llama3 70B 模型。要知道,Llama3 距今发布可还不到两个月的时间!





模型测试

虽然 Qwen 2 刚刚推出,但已经有很多人对其进行了广泛的测试。这些测试主要涵盖语义理解、语言生成质量、世界知识准确性、问题回答和对话能力、安全性,以及鲁棒性和稳定性等方面。由于这些方面的测试已经很多,我此次测试的重点将更侧重于模型在代理方面的能力。我将为 Qwen 2 添加代码解释器,以评估其任务分解和代码编写能力。此外,我还会为其添加本地知识库、搜索引擎、Function Calling 和 Google 工具箱,测试模型在多种工具情境下自动选择并正确调用合适工具的能力。


本次测试使用的工具包括:
Python 代码解释器 (可以执行 Python 代码和本机脚本语言)
本地知识库 (使用 PS5 用户手册文档构建的知识库)
搜索引擎 (duckduckgo)
Function Calling (包含三个函数,获取本地时间,本地位置,向 support@sony.com 发送修理单邮件)
Google 工具箱
( 1 )从 Google Mail 中搜索和发送邮件
( 2 )从 Google Drive 中搜索,上传和下载文档
( 3 )从 Google Calendar 中检查和添加提醒事件
( 4 )从 Youtube 中搜索视频
( 5 )从 Google Map 中搜索位置


本次测试主要有三个大测试以及多个小任务组成:

Qwen2 7B Instruct 任务分解和代码编写能力测试

股票绘图任务:绘制 Tesla 和 Apple 今年的股票价格曲线。

浪漫之心任务:使用 python 语言绘制一个浪漫之心并显示它。

词云任务:读取本地文件"D:\lord_of_the_rings.txt"内容,统计词频并绘制词云图像。

使用的工具:代码解释器


Qwen2 7B Instruct 扮演 PS5 客服代理测试

介绍 PS5 产品任务:预期通过预制的代理提示词介绍产品。

介绍 PlayStation 新产品任务:预期自动使用搜索引擎结果来归纳并回答。

介绍 PS5 的特殊特性任务:预期自动从本地知识库中搜索后回答。

提交修理单任务:预期自动调用提交修理单函数,向 support@sony.com 发送修理单邮件。

使用的工具:本地知识库,搜索引擎 (duckduckgo),Function Calling


Qwen2 7B Instruct 扮演个人助理代理测试

自我介绍任务:预期通过预制的代理提示词介绍自己。

检索新闻任务:预期自动使用搜索引擎结果来归纳并回答。

检索工作邮件任务:预期自动使用邮件检索工具来回答。

添加提醒任务:预期自动检查空闲时间,并协助添加新的提醒事件。

分享文档任务:预期自动从 Google Drive 中下载工作文档,并通过邮件分享给组员。

分享视频任务:预期自动从 Youtube 中搜索视频,并通过邮件分享给朋友。

使用的工具:本地知识库,搜索引擎 (duckduckgo),Google 工具箱


完整的视频演示: <amp-youtube data-videoid="H9ZqZTqpTvk" layout="responsive" width="480" height="270"></amp-youtube>

下面我将详细演示 Qwen2 7B Instruct 模型在这些任务上的完成情况。


一、Qwen2 7B Instruct 任务分解和代码编写能力测试


股票绘图任务:绘制 Tesla 和 Apple 今年的股票价格曲线。(成功)





Qwen2 模型很好的完成了任务,首先使用 yfinance 从雅虎财经上获取了 TSLA 和 AAPL 的股票数据;然后使用 plt 绘制了两支股票今年的价格趋势图型。


2. 浪漫之心任务:使用 python 语言绘制一个浪漫之心并显示它。(完美)





Qwen2 模型非常完美的完成了任务,它导入了 turtle 库,然后编写 python 代码动态绘制了浪漫之心!看到这颗心动态生成的过程,心里还有点小感动...

浪漫之心的绘制过程:

https://i.imgur.com/9akLk2q.mp4



3. 词云任务:读取本地文件"D:\lord_of_the_rings.txt"内容,统计词频并绘制词云图像。(成功)





文件内容是指环王故事的一部分,模型首先编写代码并读取了文件内容,最后编写代码制作词云并显示。


二、Qwen2 7B Instruct 扮演 PS5 客服代理测试

1.介绍 PS5 产品任务:预期通过预制的代理提示词介绍产品。(成功)



模型介绍了自己和 PS5 主机,没有使用工具,符合预期。


2. 介绍 PlayStation 新产品任务:预期自动使用搜索引擎结果来归纳并回答。(成功)



模型使用了搜索引擎 (duckduckgo)搜索相关内容之后,回答了 PlayStation 在 2024 年的新产品。


3. 介绍 PS5 的文本转语音特性任务:预期自动从本地知识库中搜索后回答。(成功)



模型从本地知识库( PS5 )中搜索相关内容之后,回答了这个问题。


4. 提交修理单任务:预期自动调用提交修理单函数,向 support@sony.com 发送修理单邮件。(成功)



告诉模型 PS5 手柄的肩键损坏之后,模型调用了正确的函数提交了修理单,并返回了修理单号给客户。不过期待模型进一步询问修理信息,比如客户名称,损坏的细节描述,购买时间,购买凭证等,模型并没有询问,稍有遗憾。但总体上还是成功完成了任务。



三、Qwen2 7B Instruct 扮演个人助理代理测试

1. 自我介绍任务:预期通过预制的代理提示词介绍自己。(成功)



模型仅使用了预制的提示词进行了自我介绍。


2. 检索新闻任务:预期自动使用搜索引擎结果来归纳并回答。(成功)



询问刚刚结束的 Google IO 开发者大会的新闻,模型使用了搜索引擎 (duckduckgo)搜索相关内容之后,回答了这个问题。


3. 检索工作邮件任务:预期自动使用邮件检索工具来回答。(成功)



让模型搜索我的 Gmail 邮箱,查找关于 Google 开发者比赛的邮件,模型调用 Google 工具箱中的邮件搜索工具之后,总结邮件内容并进行了回答。任务成功!稍有不满意的地方是,回答的文本格式有点问题。


4. 添加提醒任务:预期自动检查空闲时间,并协助添加新的提醒事件。(成功)





让模型检查今天下午 2 点-3 点的时间安排,是否有空。模型调用 Google 工具箱中的 Calendar 工具检查之后发现 2:30 到 3:30 有一个 meeting ,点开模型返回的连接之后,还可以直接导航到 Google Calendar 中检查这个 meeting 的详细信息。






让模型把面试的提醒安排到 3:30 到 4:30 ,模型调用 Calendar 工具添加了新的提醒,点开连接之后,可以导航到 Google Calendar 中检查这个新添加的提醒。


5. 分享文档任务:预期自动从 Google Drive 中下载工作文档,并通过邮件分享给组员。(成功)







让模型搜索 Google Drive 中关于 HipsHook 的介绍文档,并把它下载到本地的"Download"目录中。







接着让模型发送邮件,并把其中一个文件作为附件,发送给了 Team 中的另外一个成员 Tony 。


6. 分享视频任务:预期自动从 Youtube 中搜索视频,并通过邮件分享给朋友。(成功)





让模型从我的 Youtube 频道中查找关于"实时语言翻译"的视频信息。模型通过 Youtube 工具找到了视频以及视频的连接。







接着让模型发送邮件,把这个视频链接作为邮件内容的一部分,分享给了我的朋友 Tony 。


最终总结:经过测试,Qwen 2 是目前唯一一个通过所有测试的本地开源语言模型。此前,只有闭源的大模型(如 Gemini 1.5 Pro 和 GPT-4 )才能达到这种能力。大语言模型技术的迭代速度之快令人难以置信,我期待这项技术能够真正落地的那一天。我相信,通过手机端部署的个人助理,自动检查邮箱、编写并发送邮件、安排日常工作和生活的日子在不久的将来一定会实现!
3035 次点击
所在节点    程序员
23 条回复
neteroster
165 天前
很好的测试。Qwen2 确实是非常优秀的一组模型,特别是多语言能力方面的改进可圈可点。阿里选择将模型(除 72B )以 Apache2.0 开源也是非常慷慨。期待未来更强的模型。
freshgoose
165 天前
楼主你这个网页是什么软件来着,有点眼熟,但想不起来了
ogli324
165 天前
想看和 gpt4/o 的横评
yankebupt
165 天前
才发现是 7B Instruct 而不是 72B 就可以做这些……这是个民用单显卡能跑的模型啊……
速度还真是快
Znemo
165 天前
使用体验上主观感觉不如 qwen 14b ,所有开源模型,每次看介绍和测评都贼厉害,真用起来就不是那么回事 。
crackidz
165 天前
@Znemo 其实什么模型都需要根据场景上手 benchmark 一下,当然使用姿势也需要调整一下:有些 GPT-4* 可以直接处理的,换成一些小模型需要用一些额外的姿势,相同的处理方式会看出能力差异
mightybruce
165 天前
mark 一下。有时间我试试
kenvix
165 天前
部署了 Qwen2-72B-AWQ ,针对翻译场景,明显更喜欢说废话,尽管 Prompt 已经要求直接给出翻译结果不要说别的。Qwen2 的感觉 RLHF 没做好,明显比 1.5-110B 倒退了很多
kneo
165 天前
用 ollama 试了下 7b 模型,确实有进步,能完成之前完成不了的任务。我之前有两个用 gpt3.5 能轻松跑出来的简单任务,用 ollama 试过所有 4090 卡能跑的模型,没一个能完成的。qwen2 算是第一个能跑出来的。
smalltong02
165 天前
@freshgoose
测试使用的是我自己的开源项目: https://github.com/smalltong02/keras-llm-robot
smalltong02
165 天前
@ogli324

好的,下次整起来。
smalltong02
165 天前
@yankebupt

条件有限,手上只有一块 4090 ,70B 的跑起来太慢啦。速度快是因为使用了 2 倍的播放速度,Youtube 上视频太长太拖拉就没人看啦。
smalltong02
165 天前
@Znemo

可能您在测试的时候,侧重于逻辑推理和语言生成方面。我的测试更注重的是和各种工具配合使用,测试方向不太一样就会有不一样的效果。
smalltong02
165 天前
@crackidz

是的,毕竟各家的大模型,训练数据还是不一样的,训练的侧重点也有区别。
smalltong02
165 天前
@mightybruce

您要自己测试的话,需要在 Google Cloud Platform 上注册自己的账号,并且生成 OAuth 2.0 的凭证,下载 Json 格式的 Token 之后再导入到 WebUI 中就可以使用了。
smalltong02
165 天前
@kenvix

您可以再尝试调整一下 Prompt ,看看效果是否会好一些。实在不行就整理数据并做微调吧。
smalltong02
165 天前
@kneo

不知道您的测试主要关注哪方面,方便共享吗?我也可以合并到我的测试集中,并在本机上尝试一下。
CNYoki
164 天前
现在在用 qwen110b 做实体抽取+推理,感觉跟 gpt4o 还是差很多
kenvix
164 天前
@smalltong02 #16 我感觉是需要微调了
wwvvance
156 天前
请教一下, qwen2 模型是什么形式跑起来的, ollama 启动方式是不是不支持函数调用, 要用 qwen-agent, 但我发现 qwen-agent 不兼容 langchain 的类, 有点苦恼不知道如何整合. 提前感谢.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1048094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX