Skip to content

Latest commit

 

History

History
224 lines (187 loc) · 7.72 KB

File metadata and controls

224 lines (187 loc) · 7.72 KB

English | 中文

PRs Welcome license pip

适用于生产环境的多智能体协作框架

访问官方网站: OxyGent |开源仓库: Python or Java

1. 简介

OxyGent 是一个开源框架,将工具、模型、智能体统一为可插拔的原子算子——Oxy。专为开发者设计,OxyGent 让你像搭乐高一样构建灵活的多智能体系统,极致可扩展,每一步决策全链路可追溯。从构建、推理到持续进化,OxyGent 打造了一个闭环智能体流水线——无缝集成 Oxy,弹性扩展,协同创新,驱动 AI 生态无限可能。

2. 核心特性

🏎️ 高效开发

  • OxyGent 是模块化多智能体框架,极致高效构建、部署、进化 AI 团队。标准化 Oxy 组件像乐高一样拼装,支持热插拔与跨场景复用:纯净 Python 接口,无需繁杂配置。

🤝 智能协作

  • 动态规划范式,智能体可智能分解任务、协商解法、实时适应变化。区别于刚性流程,OxyGent 智能体自然应对突发挑战,每一步决策全链路可审计。

🕸️ 弹性架构

  • 底层弹性架构支持任意智能体拓扑:从简单 ReAct 到复杂混合规划。自动依赖映射与可视化调试,轻松优化分布式系统性能。

🔁 持续进化

  • 每一次交互都是学习机会:内置评估引擎自动生成训练数据。智能体通过知识反馈持续自我进化,且全过程透明可追溯。

📈 无限扩展

  • 按 Metcalfe 定律线性扩容:分布式调度器让协作智能指数级增长。系统轻松应对全域优化与实时决策,任意规模无压力。

OxyGent最新版本 (July 9, 2025) 在GAIA榜单中分数为59.14,目前开源框架第一OWL为60.8分。

3. 框架核心类

4. 框架亮点

  • 开发者:专注业务逻辑,无需重复造轮子
  • 企业:一套框架打通所有智能体,告别信息孤岛,降低沟通成本。
  • 用户:畅享智能体生态的无缝协作体验。

5. 快速开始

步骤1:创建运行环境

  • 方式一:conda
    conda create -n oxy_env python==3.10
    conda activate oxy_env
  • 方式二:uv
    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv python install 3.10 
    uv venv .venv --python 3.10
    source .venv/bin/activate

步骤2:安装依赖

  • 方式一:conda
    pip install oxygent
  • 方式二:uv
    uv pip install oxygent
  • 方式三:开发环境
    git clone https://github.com/jd-opensource/OxyGent.git
    cd OxyGent
    pip install -r requirements.txt # or in uv
    brew install coreutils # maybe essential

步骤3:Node.js环境(如果使用MCP)

步骤4:创建示例

  • demo.py
    import os
    from oxygent import MAS, Config, oxy, preset_tools
    
    Config.set_agent_llm_model("default_llm")
    
    oxy_space = [
       oxy.HttpLLM(
          name="default_llm",
          api_key=os.getenv("DEFAULT_LLM_API_KEY"),
          base_url=os.getenv("DEFAULT_LLM_BASE_URL"),
          model_name=os.getenv("DEFAULT_LLM_MODEL_NAME"),
       ),
       preset_tools.time_tools,
       oxy.ReActAgent(
          name="time_agent",
          desc="A tool that can query the time",
          tools=["time_tools"],
       ),
       preset_tools.file_tools,
       oxy.ReActAgent(
          name="file_agent",
          desc="A tool that can operate the file system",
          tools=["file_tools"],
       ),
       preset_tools.math_tools,
       oxy.ReActAgent(
          name="math_agent",
          desc="A tool that can perform mathematical calculations.",
          tools=["math_tools"],
       ),
       oxy.ReActAgent(
          is_master=True,
          name="master_agent",
          sub_agents=["time_agent", "file_agent", "math_agent"],
       ),
    ]
    
    async def main():
       async with MAS(oxy_space=oxy_space) as mas:
          await mas.start_web_service(
             first_query="What time is it now? Please save it into time.txt."
          )
    
    if __name__ == "__main__":
       import asyncio
       asyncio.run(main())

步骤5:设置环境变量

  • 方式一:在终端声明
    export DEFAULT_LLM_API_KEY="your_api_key"
    export DEFAULT_LLM_BASE_URL="your_base_url"
    export DEFAULT_LLM_MODEL_NAME="your_model_name"  
  • 方式二:创建 .env 文件
    DEFAULT_LLM_API_KEY="your_api_key"
    DEFAULT_LLM_BASE_URL="your_base_url"
    DEFAULT_LLM_MODEL_NAME="your_model_name"

步骤6:运行

  • 启动多智能体系统
    python demo.py

步骤7:查看可视化结果

6. 成为贡献者

您可以通过以下方法为 OxyGent 作出贡献:

  1. 在Issue中报告问题
  2. 提供改进建议
  3. 补充文档
    • Fork仓库
    • 修改文档
    • 提出pull request
  4. 修改代码
    • Fork仓库
    • 创建新分支
    • 加入您的修改
    • 提出pull request

感谢您的贡献! 🎉🎉🎉 如果您在开发中遇到问题,请参阅 OxyGent中文指南 或者 OxyGent 文档

7. 社区支持

如果你在OxyGent的开发或使用过程中遇到任何问题,欢迎在项目的Issue区域提交可复现的步骤或日志片段。 如果您有企业内部Slack,请直接联系OxyGent Core团队。

欢迎沟通和联系我们:

contact

8. 致谢

感谢以下为OxyGent作出贡献的开发者

9. 许可证

Apache License

OxyGent 由 Oxygen JD.com 提供

感谢您对OxyGent的关心与贡献!