AI个人学习
和实操指南

Bambo:轻量灵活的智能体框架,简单配置角色和工具,处理多种负载任务

综合介绍

Bambo是一个新型的代理框架,与主流框架相比,它更加轻量和灵活,能够处理各种负载任务。Bambo通过定义工具目录中的所有工具,并使用异步自定义函数来实现高效的代理功能。用户可以在llm_client.py文件中定义所需调用的模型和客户端参数,然后在示例文件夹中创建自己的测试脚本。Bambo的目标是提供一个高效、灵活的代理解决方案,适用于各种应用场景。

传统Agent框架每个角色都是独立的Agent,需要一个"主管"协调工作,角色切换要经过复杂的交接流程,LLM调用次数比较多,导致响应速度和流畅性不佳。

Bambo通过角色扮演的方式解决此问题。基于Bambo,实现了notebooklm类似的效果,效果中没有TTS,如果需要,可以在测试脚本中添加相应的代码。

Bambo:轻量灵活的智能体框架,简单配置角色和工具,处理多种负载任务-1


 

Bambo:轻量灵活的代理框架,处理多种负载任务-1

 

功能列表

  • 轻量灵活的代理框架
  • 处理各种负载任务
  • 支持异步自定义函数
  • 定义和调用所需的模型和客户端参数
  • 创建和运行测试脚本
  • 多角色场景支持
  • 代码执行和分析功能

 

使用帮助

安装流程

  1. 克隆仓库:
    git clone https://github.com/LB-Young/Bambo.git
    cd Bambo
    
  2. 安装依赖:
    pip install -r requirements.txt
    
  3. 手动安装PyTorch(如有需要):
    pip3 install torch torchvision torchaudio
    

设置和配置

  1. 定义工具目录中的所有工具,并确保自定义函数是异步的。
  2. 在llm_client.py文件中定义所需调用的模型和客户端参数。
  3. 在示例文件夹中创建自己的测试脚本,定义所需的角色和工具。
  4. 初始化Bambo对象并传入所需参数:
    from src.bambo import Bambo
    from src.llm_client import client, model
    from src.tools.code_execute import code_execute
    roles = {
    "finance_expert": "金融专家",
    "law_expert": "法律专家",
    "medical_expert": "医疗专家",
    "computer_expert": "计算机专家",
    }
    tools = {}
    bambo = Bambo(client=client, bambo_role=None, roles=roles, tools=tools, agents=None, model=model)
    query = "我是高考生,现在想要选专业,但是不知道选什么专业。请你介绍一下金融、法律和计算机三个专业分别有什么优点和缺点。"
    async for item in bambo.execute(query=query):
    print(item, end="", flush=True)
    

使用Bambo

  1. 运行Bambo接口:
    python examples/notebooklm.py
    
  2. 或在后台运行代理:
    nohup python examples/multi_roles.py &> multi_roles.log &
    
  3. 交互式菜单将引导您完成以下选项:
    • 创建/更新训练数据集
    • 训练模型
    • 运行代理
    • 运行完整工作流程
    • 退出

配置

编辑config.py以自定义:

  • 模型选择
  • 训练超参数
  • 代理设置
  • 响应模板
  • 任务过滤

Bambo提供多种方式过滤处理的任务:

  1. 标签(自动)
  2. 黑名单(手动)
未经允许不得转载:首席AI分享圈 » Bambo:轻量灵活的智能体框架,简单配置角色和工具,处理多种负载任务

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文