Skip to main content

Python library for the ERNIE Bot Agent

Project description

ERNIE Bot Agent

ERNIE Bot Agent 是由百度飞桨全新推出的大模型智能体(agent)开发框架。基于文心大模型强大的编排能力,并结合飞桨星河社区提供的丰富预置平台化功能,ERNIE Bot Agent 旨在成为功能全面且高度可定制的一站式大模型智能体和应用开发框架。

License Version Supported Python versions Supported OSs Downloads codecov

特性

  • 编排能力: ERNIE Bot Agent 基于文心大模型的 Function Calling 能力实现了多工具编排和自动调度功能,并且允许工具、插件、知识库等不同组件的混合编排。除了自动调度,我们未来还将支持更多的编排模式,例如手动编排、半自动编排,为开发者提供更大的灵活性。
  • 组件库: ERNIE Bot Agent 为开发者提供了一个丰富的预置组件库:
    • 预置工具:只需一行代码,即可加载使用星河社区工具中心的30+预置工具。这些工具当前主要来自百度AI开发平台和飞桨特色PP系列模型。后续,我们会持续接入更多预置工具,也欢迎社区贡献。此外,工具模块也支持用户灵活自定义本地和远程工具。
    • 知识库:提供了开箱即用的基于文心百中的平台化知识库, 并允许开发者在二次开发的场景下使用langchainllama_index等主流开源库作为知识库。
    • 文心一言插件:未来将支持通过调用文心一言插件商城中的插件(开发中)
  • 低开发门槛
    • 零代码界面:依托星河社区提供了零代码界面的智能体构建工具,通过简单的点击配置即可开发AI原生应用。
    • 简洁的代码:10行代码就可以快速开发一个智能体应用。
    • 预置资源与平台支持:大量的预置工具、平台级别的知识库,以及后续将推出的平台级别的记忆机制,都旨在加速开发过程。

安装

源码安装

执行如下命令,使用源码安装 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等依赖库

快速安装

执行如下命令,快速安装最新版本 ERNIE Bot Agent(要求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星河社区注册并登录账号,然后在AI Studio的访问令牌页面获取Access Token,最后执行以下命令:

export EB_AGENT_ACCESS_TOKEN=<aistudio-access-token>
export EB_AGENT_LOGGING_LEVEL=info
python quick_start.py

详细教程

教程链接

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

erniebot-agent-0.5.2.tar.gz (73.3 kB view details)

Uploaded Source

Built Distribution

erniebot_agent-0.5.2-py3-none-any.whl (113.7 kB view details)

Uploaded Python 3

File details

Details for the file erniebot-agent-0.5.2.tar.gz.

File metadata

  • Download URL: erniebot-agent-0.5.2.tar.gz
  • Upload date:
  • Size: 73.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.12

File hashes

Hashes for erniebot-agent-0.5.2.tar.gz
Algorithm Hash digest
SHA256 f658f60d66c2e980ba4477ebb138757fd36c7c26a91fc580dde6775093b757f8
MD5 e3e3600e503c08c364f11beff3f4fd25
BLAKE2b-256 8d1f58ba531d14ede70e345d99f534c254a02e81274e804bc30cdb5c555c0e35

See more details on using hashes here.

File details

Details for the file erniebot_agent-0.5.2-py3-none-any.whl.

File metadata

File hashes

Hashes for erniebot_agent-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc28a764d27aa225ba4022c4ad66f2eeefd89979056c6352bf78c13fb061ebfa
MD5 50f7b4d4952328b5f9ac5b3d3b45f2b5
BLAKE2b-256 07f82e53875f50adc8b2db997992e3e13ae323d9927d67da9be14321d4af12be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page