PaddlePaddle / ERNIE-SDK

ERNIE Bot Agent is a Large Language Model (LLM) Agent Framework, powered by the advanced capabilities of ERNIE Bot and the platform resources of Baidu AI Studio.
http://ernie-bot-agent.readthedocs.io/
Apache License 2.0
350 stars 52 forks source link
agent chatcompletion embedding ernie-bot function-calling llm sdk

ERNIE SDK

[开发文档](http://ernie-bot-agent.readthedocs.io/) | [智能体应用体验](https://aistudio.baidu.com/application/center?tag=agent) [![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE) [![Version](https://img.shields.io/github/release/PaddlePaddle/ERNIE-SDK.svg)](https://github.com/PaddlePaddle/ERNIE-SDK/releases) ![Supported Python versions](https://img.shields.io/badge/python-3.8+-orange.svg) ![Supported OSs](https://img.shields.io/badge/os-linux%2C%20win%2C%20mac-yellow.svg) [![Downloads](https://pepy.tech/badge/erniebot-agent)](https://pepy.tech/project/erniebot-agent) [![codecov](https://codecov.io/gh/PaddlePaddle/ERNIE-SDK/branch/develop/graph/badge.svg)](https://codecov.io/gh/PaddlePaddle/ERNIE-SDK)

ERNIE SDK 仓库包含两个项目:ERNIE Bot Agent 和 ERNIE Bot。ERNIE Bot Agent 是百度飞桨推出的基于文心大模型编排能力的大模型智能体开发框架,结合了飞桨星河社区的丰富预置平台功能。ERNIE Bot 则为开发者提供便捷接口,轻松调用文心大模型的文本创作、通用对话、语义向量及AI作图等基础功能。

eb_sdk_agent_structure

ERNIE Bot Agent

特性

安装

点击展开 #### 源码安装 执行如下命令,使用源码安装 ERNIE Bot Agent(要求Python >= 3.8)。 ```shell 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等依赖库 ``` #### 快速安装 执行如下命令,快速安装最新版本 ERNIE Bot Agent(要求Python >= 3.8)。 ```shell # 安装核心模块 pip install --upgrade erniebot-agent # 安装所有模块 pip install --upgrade erniebot-agent[all] ```

快速体验

点击展开 下面的`quick_start.py`示例展示了如何使用 ERNIE Bot Agent 快速构建智能体应用。 ```python 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星河社区](https://aistudio.baidu.com/index)注册并登录账号,然后在AI Studio的[访问令牌页面](https://aistudio.baidu.com/index/accessToken)获取`Access Token`,最后执行以下命令: ```shell export EB_AGENT_ACCESS_TOKEN= export EB_AGENT_LOGGING_LEVEL=info python quick_start.py ```

详细教程

教程链接

ERNIE Bot

ERNIE Bot 作为 ERNIE Bot Agent 的底层依赖,为开发者提供了便捷易用的接口,使其能够轻松调用文心大模型的强大功能,涵盖了文本创作、通用对话、语义向量以及AI作图等多个基础功能。

更多详细的使用指南,请参阅ERNIE Bot

License

ERNIE Bot Agent 和 ERNIE Bot 遵循Apache-2.0开源协议。