快速成长中的大语言模型功能日新月异。为解决复杂问题,它甚至可以调用工具,“自动”写代码进行编程!
近日,上海人工智能实验室(上海AI实验室)推出书生·浦语大语言模型的升级版对话模型InternLM-Chat-7B v1.1(以下简称“InternLM-Chat”)。InternLM-Chat为首个具有代码解释能力的开源对话模型,能够根据需要灵活调用Python解释器等外部工具,在解决复杂数学计算等任务上的能力显著提升;此外,该模型还可通过搜索引擎获取实时信息,提供具有时效性的回答。
与此同时,上海AI实验室还发布了开源智能体框架Lagent以辅助用户体验新模型的完整功能。通过Lagent,用户可便捷实现由大语言模型到智能体的转换,从而轻松实现模型的插件调用功能并探索新的智能体范式。
开源链接:
书生·浦语开源体系InternLM:https://github.com/InternLM
InternLM-Chat:https://github.com/InternLM/InternLM
Lagent:https://github.com/InternLM/lagent
OpenCompass:https://opencompass.org.cn/
在今年7月举行的WAIC 2023上,上海人工智能实验室(上海AI实验室)正式开源了书生·浦语大模型70亿参数的轻量级版本InternLM-7B,并推出首个面向大模型研发与应用的全链条开源体系,同时提供免费商用,受到了学术和产业界的广泛关注。开放评测平台OpenCompass的评测结果显示,书生·浦语在数十项评测中体现出强大的知识体系与推理能力。
大语言模型为什么需要代码解释器
题目:已知水库水位为海拔148.5m,相应水面的面积为140.0km2;水位为海拔157.5m时,相应水面的面积为180.0km2。将该水库在这两个水位间的形状看作一个棱台,则该水库水位从海拔148.5m上升到157.5m时,增加的水量约为?
由题意知,水库的体积增加了
可以发现,模型虽然知道计算公式,但却无法正确计算出结果。但是,如果模型具有调用代码解释器的能力,就可以产生如下内容,调用 Python代码解释器对问题进行求解:

用户可以基于一定的规则,从模型的回复中提取出模型对代码解释器的调用并执行代码,计算得到结果 1440.0并返回给模型,模型在接收到计算结果后可以组织回复并告诉用户最终答案。
根据题意可知,棱台的体积为
调用开源插件,赋能复杂任务
本次书生·浦语开源升级,使大模型具备了调用代码解释器及搜索引擎等外部插件的能力,为大模型解决复杂任务赋能。
当前,大多数开源模型主要聚焦于对话主观体验的提升,并不具备良好的调用外部插件的能力。针对此情况,书生·浦语团队进行了积极研究探索,赋予了InternLM-Chat调用代码解释器、检索工具等外部插件的新能力。
写代码解难题


检索获取新知

千亿参数模型能力再上台阶

同时,模型还能够理解三角函数的性质并对问题进行求解。在以下问题中,模型使用方程求解出多个答案并能够根据题意回答实数的最小值。

在调用插件的过程中,大语言模型可能无法一次性成功调用工具解决问题。此时模型的反思和修正能力就显得尤为关键。如下图所示,让千亿参数的模型统计满足题目要求的集合个数,计算指出模型并没有导入对应的模块依赖,但随后能根据报错修复代码并正确求解。

开源Lagent框架,
助力智能体研发
1.集合了多种类型的智能体能力,包括ReAct、AutoGPT 和 ReWoo 等,这些智能体能够调用大语言模型进行多轮的推理和工具调用,并在工作过程中及时进行反思和自我修正;
2.框架简单易拓展,支持Python解释器、API调用和搜索三类常用典型工具;
3.灵活支持多个大语言模型应用,包括InternLM、Llama-2等开源模型和GPT-4、GPT-3.5等基于API的闭源模型。
为了方便社区基于Lagent灵活地实现和探索各种新的Agent及工具,Lagent采用了一套简洁的模块设计。智能体(Agent)模块包含了动作执行器(ActionExecutor)和大语言模型(LLM),并确立了特定类型的规划和执行机制。Agent模块接收用户输入后,LLM进行对应的规划和决策过程,发出调用工具的指令。不同类型的工具,如 Python解释器和搜索引擎等被分别定义为智能体的一个动作(Action),由 ActionExecutor接收并解析调用工具的指令,完成具体的工具调用并向LLM返回执行结果。

目前广泛使用的开源框架Langchain也实现了类似的功能,能够为大语言模型提供工具扩展,但在多重抽象和封装之下,学习上手和调试相对较复杂,Lagent采用简洁直观的设计,统一的接口并提供清晰的文档,为用户在构建不同Agent和工具调用流程中提供一致性的流畅体验。
题目:

在实际使用过程中,无论采用何种工具和Agent,用户都可以通过类似的10行代码快速构建一个Demo并调试。未来,Lagent也将继续支持各种丰富的Agent和工具,不断拓宽大语言模型作为智能体的能力边界,助力开源社区高效构建和研发基于大语言模型的智能体。
来源:上海人工智能实验室
编辑:蓝悦
↓分享
↓点赞
↓在看