V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
smalltong02
V2EX  ›  程序员

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

  •  1
     
  •   smalltong02 ·
    smalltong02 · 227 天前 · 1498 次点击
    这是一个创建于 227 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天休假,所以我闲来无事到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.

    img

    img

    img

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

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

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

    img

    img

    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.

    img

    img

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

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

    img

    第四个问题是:

    Are there any new products from PlayStation in 2024?

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

    img

    第五个问题是:

    Does the PS5 have text-to-speech feature?

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

    img

    第六个问题我需要提交一个修理单,因为我的 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)"*提交了保修单,所以最终没有给我回答问题的机会:

    img

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

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

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

    5 条回复    2024-05-14 09:39:06 +08:00
    pming1
        1
    pming1  
       227 天前
    期待大佬出 Yi-1.5-34B-Chat 和 Llama-3-70B 模型的测评~~
    sabernwj
        2
    sabernwj  
       227 天前
    很有意义的文章,期待作者后续
    smalltong02
        3
    smalltong02  
    OP
       227 天前
    @pming1

    好的,感谢支持!
    smalltong02
        4
    smalltong02  
    OP
       227 天前
    @sabernwj 好的,感谢支持!
    zealotxxxx
        5
    zealotxxxx  
       226 天前
    等待后续
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1145 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:34 · PVG 02:34 · LAX 10:34 · JFK 13:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.