Skip to main content

Rooted in Origin, Driving All Things

Project description

RootDriver

根源出发,驱动万物

一个轻量级的 Python AI Agent 开发框架,支持单智能体和多智能体应用。

特性

  • 简洁易用:装饰器方式定义工具,快速构建 Agent
  • 模块化设计:LLM 适配器、工具系统、会话管理解耦
  • 工具调用:支持 function calling,自动执行工具并返回结果
  • 状态管理:支持内存和数据库持久化检查点
  • 异常体系:完整的异常类层次结构
  • 异步支持:全面异步支持,并发多 Agent / 工具调用

安装

pip install rootdriver

快速开始

定义工具

from rootdriver import tool

@tool
def get_weather(city: str) -> str:
    """获取城市天气"""
    return f"{city} 晴天"

创建 Agent

from rootdriver import Agent, AgentLLM, OpenAIAdapter

agent = Agent(
    agent_llm=AgentLLM(
        adapter=OpenAIAdapter(
            api_key="YOUR_API_KEY",
            base_url="BASE_URL"
        ),
        model="gpt-4",
    ),
    tools=[get_weather],
    system_prompt="你是一个有用的助手",
)

# 单次对话
response = agent.talk("北京天气怎么样?")
print(response)

使用工具

# 完整对话循环(包含工具调用)
response = agent.react("帮我查下上海天气")
print(response)

异步用法

import asyncio
from rootdriver import Agent, AgentLLM, OpenAIAdapter

async def main():
    agent = Agent(agent_llm=AgentLLM(...))

    # 单次异步对话
    response = await agent.atalk("你好")
    print(response)

    # 并发多个 Agent
    results = await asyncio.gather(
        agent.areact("问题1"),
        agent.areact("问题2"),
        agent.areact("问题3"),
    )

asyncio.run(main())

核心组件

组件 说明
Agent 智能体入口,整合 LLM、工具、会话
Engine 核心引擎,处理对话循环和工具调用
Conversation 会话管理,维护消息历史
LLM LLM 调用封装
Tool 工具集合,管理所有可调用工具
State 状态管理,支持检查点和持久化

项目结构

rootdriver/
├── agent.py           # Agent 智能体
├── engine.py          # 引擎核心
├── conversation.py    # 对话管理
├── state.py           # 状态管理
├── exception.py       # 异常定义
├── llm/
│   ├── llm.py         # LLM 封装
│   ├── base_adapter.py    # 适配器基类
│   └── adapter/
│       └── openai_adapter.py  # OpenAI 适配器
├── tool/
│   ├── base_tool.py   # 工具基类
│   └── tools.py       # 工具集
├── types/             # 类型定义
└── utils/             # 工具函数

License

MIT

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

rootdriver-0.3.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rootdriver-0.3.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file rootdriver-0.3.0.tar.gz.

File metadata

  • Download URL: rootdriver-0.3.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for rootdriver-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5bcc441fd892c2d03360502eb57385163021874eae0ea6d966fcff83118eb3dd
MD5 ab39e3fefff1a40af84b046e32180a4e
BLAKE2b-256 d36d09d51d69626562817fd8602c56479c87c4071c2889f7bd7fd36979435204

See more details on using hashes here.

File details

Details for the file rootdriver-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rootdriver-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for rootdriver-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 303db105a56e987cf04cab900d1d3503dff8178175e208df71c28e2f6163c13e
MD5 37b7bb925a0b6266a738cd810967be8f
BLAKE2b-256 6245cab468265dc09cf1788be981484bda8ce9e3c473582850d201357fc6aed4

See more details on using hashes here.

Supported by

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