ERNIE-SDK简介
ERNIE-SDK是百度飞桨推出的大模型智能体开发框架,由ERNIE Bot Agent和ERNIE Bot两个项目组成。其中ERNIE Bot Agent是基于文心大模型编排能力的智能体开发框架,结合了飞桨星河社区的丰富预置功能;ERNIE Bot则为开发者提供便捷接口,轻松调用文心大模型的文本创作、通用对话、语义向量及AI作图等基础功能。
ERNIE Bot Agent特性
ERNIE Bot Agent是百度飞桨推出的基于文心大模型编排能力的智能体开发框架,具有以下主要特性:
强大的编排能力
ERNIE Bot Agent基于文心大模型的Function Calling机制,实现了多工具编排和自动调度功能,支持工具、插件、知识库等不同组件的混合编排。除自动调度外,未来还将支持手动编排、半自动编排等多种编排模式,为开发者提供更大的灵活性。
丰富的组件库
ERNIE Bot Agent为开发者提供了丰富的预置组件库:
-
预置工具: 一行代码即可加载使用星河社区工具中心的30+预置工具,涵盖百度AI开发平台和飞桨特色PP系列模型。后续将持续接入更多预置工具,也欢迎社区贡献。此外,工具模块支持用户灵活自定义本地和远程工具。
-
知识库: 提供开箱即用的基于文心百中的平台化知识库,并支持开发者在二次开发场景下使用langchain、llama_index等主流开源库作为知识库。
-
文心一言插件: 未来将支持调用文心一言插件商城中的插件(开发中)。
低开发门槛
ERNIE Bot Agent致力于降低开发门槛:
-
零代码界面: 依托星河社区提供零代码界面的智能体构建工具,通过简单点击配置即可开发AI原生应用。
-
简洁的代码: 仅需10行代码即可快速开发一个智能体应用。
-
预置资源与平台支持: 大量预置工具、平台级知识库,以及后续推出的平台级记忆机制,都旨在加速开发过程。
ERNIE Bot Agent安装使用
安装
ERNIE Bot Agent支持源码安装和快速安装两种方式:
- 源码安装(要求Python >= 3.8):
git clone https://github.com/PaddlePaddle/ERNIE-SDK.git
cd ERNIE-SDK
# 首先安装Ernie Bot
pip install ./erniebot
# 然后安装ERNIE Bot Agent
pip install ./erniebot-agent # 安装核心模块
# pip install './erniebot-agent/.[all]' # 也可以加上[all]一次性安装所有模块,包括gradio等依赖库
- 快速安装(要求Python >= 3.8):
# 安装核心模块
pip install --upgrade erniebot-agent
# 安装所有模块
pip install --upgrade erniebot-agent[all]
快速体验
下面的quick_start.py
示例展示了如何使用ERNIE Bot Agent快速构建智能体应用:
import asyncio
from erniebot_agent.agents import FunctionAgent
from erniebot_agent.chat_models import ERNIEBot
from erniebot_agent.tools import RemoteToolkit
async def main():
llm = ERNIEBot(model="ernie-3.5") # 初始化大语言模型
tts_tool = RemoteToolkit.from_aistudio("texttospeech").get_tools() # 获取语音合成工具
agent = FunctionAgent(llm=llm, tools=tts_tool) # 创建智能体,集成语言模型与工具
# 与智能体进行通用对话
result = await agent.run("你好,请自我介绍一下")
print(result.text)
# 模型返回类似如下结果:
# 你好,我叫文心一言,是百度研发的知识增强大语言模型,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。
# 请求智能体根据输入文本,自动调用语音合成工具
result = await agent.run("把上一轮的自我介绍转成语音")
print(result.text)
# 模型返回类似如下结果:
# 根据你的请求,我已经将自我介绍转换为语音文件,文件名为file-local-c70878b4-a3f6-11ee-95d0-506b4b225bd6。
# 你可以使用任何支持播放音频文件的设备或软件来播放这个文件。如果你需要进一步操作或有其他问题,请随时告诉我。
# 将智能体输出的音频文件写入test.wav, 可以尝试播放
audio_file = result.steps[-1].output_files[0]
await audio_file.write_contents_to("./test.wav")
asyncio.run(main())
运行上述代码前,需要先在AI Studio星河社区注册登录账号,然后在访问令牌页面获取Access Token
,最后执行:
export EB_AGENT_ACCESS_TOKEN=<aistudio-access-token>
export EB_AGENT_LOGGING_LEVEL=info
python quick_start.py
ERNIE Bot简介
ERNIE Bot作为ERNIE Bot Agent的底层依赖,为开发者提供了便捷易用的接口,使其能够轻松调用文心大模型的强大功能,涵盖了文本创作、通用对话、语义向量以及AI作图等多个基础功能。
更多详细的ERNIE Bot使用指南,请参阅ERNIE Bot文档。
总结
ERNIE-SDK作为百度飞桨推出的大模型智能体开发框架,集成了文心大模型的强大能力和丰富的预置功能,为开发者提供了便捷的智能体开发工具。无论是想快速调用文心大模型的基础功能,还是构建复杂的智能体应用,ERNIE-SDK都能满足开发者的需求。通过简单的安装和使用步骤,开发者就能轻松开启智能应用的开发之旅。
随着ERNIE-SDK的持续更新和社区的贡献,相信这个框架会为更多开发者带来便利,推动人工智能应用的创新与发展。欢迎感兴趣的开发者深入探索ERNIE-SDK的更多功能,参与到智能应用的开发中来。