测试 Yi-1.5-9B-Chat 模型指令跟随和使用外部工具的能力

34 天前
 smalltong02

今天休假,所以我闲来无事到Huggingface网站逛了一圈,本来只是想看看是否有什么新动态。但没想到,一进去就发现了 Yi 团队低调发布了Yi-1.5的模型,其中包括6B 、9B 和 34B的基础模型以及 Chat 模型。

去年的 Yi 模型在Huggingface上可是火过一段时间的,我对它的旧模型也做过测试,对它的性能表现印象非常深刻。要知道当时 Yi 和 Yi 的各种微调模型,可是霸榜了好一段时间!

恰好前段时间,我对Llama-3-8BPhi-3-mini模型进行了测试。首先,我为这些模型添加了代码解释器,以评估它们的任务分解和代码编写能力。其次,我为它们添加了本地知识库、搜索引擎和 Function Calling 工具,测试模型在多种工具情境下,自动选择合适工具并正确调用的能力。

测试的最终结果,Llama-3-8BPhi-3-mini模型在添加了代码解释器后,任务分解和代码编写能力还是不错的,经过一些试错,可以基本完成任务。不过第二大项测试就不行了,Phi-3-mini 模型几乎完全无法自动选择合适的工具,并进行正确的调用。Llama-3-8B 模型要好一些,前面几项测试在多试几次的情况下可以成功,但最后一项提交修理单,则是完全无法成功,有点让人失望。

今天,我就对Yi-1.5-9B-Chat模型进行同样的测试,探探它的水平如何!

一、添加代码解释器,测试任务分解和代码编写能力

这次依然使用我自己编写的代码解释器 keras-llm-interpreter,整个测试包含三项任务: 多代理的经典任务,让模型绘制 Tesla 和 Apple 今年的股票价格曲线并显示让模型画一只粉色的小猪并显示让模型读取本地的一个文件,制作成词云图片并显示

首先,让我们看看第一项任务:模型绘制 Tesla 和 Apple 今年的股票价格曲线并显示

在加载 Yi-1.5-9B-Chat 模型并开启代码解释器 keras-llm-interpreter 之后,布置任务给模型:Please plot Tesla and Apple stock price YTD from 2024.

如预期一样, Yi-1.5-9B-Chat 模型很好的完成了任务,它首先安装库 yfinance ,第二步编写代码从雅虎财经上下载了 TSLA 和 AAPL 的股票数据;第三步使用 plt 绘制了股票价格趋势图型,最后通过检查结果结束了任务。

第二项任务,让模型画一只粉色的小猪并显示

布置任务给模型:Please use Python language to draw an image of a pink pig and display it.

Yi-1.5-9B-Chat 模型也是一次就完成了这个任务,但是这只猪嘛...哎...

第三项任务,模型读取本地文件 wordcloud.txt ,制作成词云图片并显示

wordcloud.txt 中是指环王故事内容的一部分,首先还是布置任务给模型:Please create a word cloud image based on the file "D:\wordcloud.txt" and display it.

模型首先编写代码并读取了文件内容,最后编写代码制作词云并显示,可以说完成的非常不错!

总结:Yi-1.5-9B-Chat 模型在开启了代码解释器特性后,能够按照步骤分解任务内容,并且按照每一步骤编写代码并执行,最后检查任务的输出结果。Yi-1.5-9B-Chat的任务完成度和Llama-3-8B是查不多的,Phi-3-mini模型比它们 2 个则要差一些。

接下来,我打算使用Yi-1.5-9B-Chat 模型来构建一个 PS5 的智能客服代理。这个代理首先由Yi-1.5-9B-Chat 来驱动,对客户的输入进行语义理解之后,可以智能选择工具箱中的工具来为客户服务并解决问题。

我们为智能客服代理配备如下的工具:

  1. 本地知识库 - 根据公司产品的内部文档进行构建。
  2. 搜索引擎 - 可以从互联网或公司内部网站上进行搜索。
  3. 功能调用 - 提供一组函数供模型调用,使模型可以实际执行一些功能。

创建本地知识库和激活其它工具请参阅我之前的文章“使用大语言模型构建智能客户支持代理的测试”,这里对这些内容将不在赘述。

在加载完配置之后,首先我提了三个问题:

  1. Hello, Nice to meet you.
  2. please introduce yourself first.
  3. *Can you introduce your products? *

智能体回答的基本 OK ,前两个问题它并没有使用任何的工具,仅仅靠产品描述和客服的定位来回答了我们的问题,最后一个问题它尝试查询了本地知识库,但知识库中的内容无法帮助它回答这个问题,所以最终它还是使用本身能力进行了回答:

第四个问题是:

Are there any new products from PlayStation in 2024?

智能体发现问题已经超过了它知识的时间范围,所以选择使用搜索引擎 Bing 的结果来回答了问题,但最后的输出包含了一段不知所谓的 Json 结构,我想它的能力还是不如闭源大模型稳定:

第五个问题是:

Does the PS5 have text-to-speech feature?

这个问题估计也不在智能体的知识范围内,所以它使用知识库 PS5 的结果来回答了问题:

第六个问题我需要提交一个修理单,因为我的 PS5 手柄坏掉了。

My PS5 controller is broken. There's no response when I press the shoulder button. Please help me arrange for a repair.

智能体收到请求后,想问我一些包括购买时间, Email 等补充信息,但它在提问的最后调用了函数*"submit_warranty_claim(caption: str, description: str)"*提交了保修单,所以最终没有给我回答问题的机会:

总结:在所有的测试之后,Yi-1.5-9B-Chat 是目前未经过任务微调,34B 以下离线模型中唯一一个可以自动并正确选择使用所有工具的开源离线模型。虽然测试过程中,对某些问题需要尝试多次才能成功。但这也已经是一个非常巨大的进步!

我相信在不久的将来离线模型将大有可期,在外部工具的加持下它们可以在本地部署并完成更复杂的任务,这也是微软等公司一直聚焦小模型应用的决心。

下一次,我将测试一下Yi-1.5-34B-ChatLlama-3-70B模型。:)

1144 次点击
所在节点    程序员
5 条回复
pming1
34 天前
期待大佬出 Yi-1.5-34B-Chat 和 Llama-3-70B 模型的测评~~
sabernwj
34 天前
很有意义的文章,期待作者后续
smalltong02
33 天前
@pming1

好的,感谢支持!
smalltong02
33 天前
@sabernwj 好的,感谢支持!
zealotxxxx
33 天前
等待后续

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

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

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

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

© 2021 V2EX