refactor: rename tool modules and clean imports

This commit is contained in:
cmgzn
2025-10-31 10:56:43 +08:00
parent d5b752c33b
commit 4000f53b4a
10 changed files with 81 additions and 67 deletions

View File

@@ -4,7 +4,6 @@ A multi-agent data processing system built on [AgentScope](https://github.com/mo
## 📋 Table of Contents
- [DataJuicer Agent](#datajuicer-agent)
- [📋 Table of Contents](#-table-of-contents)
- [What Does This Agent Do?](#what-does-this-agent-do)
- [Architecture](#architecture)
@@ -62,7 +61,7 @@ Router Agent ──┐
### System Requirements
- Python 3.8+
- Python 3.10+
- Valid DashScope API key
- Optional: Data-Juicer source code (for custom operator development)
@@ -103,7 +102,7 @@ Choose the running mode using the `-u` or `--use_studio` parameter:
```bash
# Use AgentScope Studio (provides interactive interface)
python main.py --use_studio true
python main.py --use_studio True
# Or use command-line mode (default)
python main.py

View File

@@ -4,7 +4,6 @@
## 📋 目录
- [DataJuicer 智能体](#datajuicer-智能体)
- [📋 目录](#-目录)
- [这个智能体做了什么?](#这个智能体做了什么)
- [架构](#架构)
@@ -61,7 +60,7 @@ Data-Juicer (DJ) 是一个一站式系统,面向大模型的文本及多模态
### 系统要求
- Python 3.8+
- Python 3.10+
- 有效的 DashScope API 密钥
- 可选Data-Juicer 源码(用于自定义算子开发)
@@ -102,7 +101,7 @@ export DATA_JUICER_PATH="your-data-juicer-path"
```bash
# 使用 AgentScope Studio提供交互式界面
python main.py --use_studio true
python main.py --use_studio True
# 或使用命令行模式(默认)
python main.py

View File

View File

@@ -8,9 +8,9 @@ from agentscope.formatter import DashScopeChatFormatter
from agentscope.memory import InMemoryMemory
from agentscope.agent import UserAgent
from .agent_factory import create_agent
from .prompts import DJ_SYS_PROMPT, DJ_DEV_SYS_PROMPT, ROUTER_SYS_PROMPT, MCP_SYS_PROMPT
from .tools import (
from agent_factory import create_agent
from prompts import DJ_SYS_PROMPT, DJ_DEV_SYS_PROMPT, ROUTER_SYS_PROMPT, MCP_SYS_PROMPT
from tools import (
dj_toolkit,
dj_dev_toolkit,
mcp_tools,

View File

@@ -5,7 +5,6 @@ Tools package for data-agent.
This module provides a unified entry point for all agent tools,
organized by agent type for easy access and management.
"""
import asyncio
from typing import List
from agentscope.agent import AgentBase
from agentscope.tool import (
@@ -14,11 +13,11 @@ from agentscope.tool import (
)
from agentscope.tool import Toolkit
from .dj_tools import execute_safe_command
from .router_tools import agent_to_tool
from .dj_tools import query_dj_operators
from .dj_dev_tools import get_basic_files, get_operator_example, configure_data_juicer_path
from .mcp_tools import get_mcp_toolkit
from .dj_helpers import execute_safe_command
from .router_helpers import agent_to_tool
from .dj_helpers import query_dj_operators
from .dj_dev_helpers import get_basic_files, get_operator_example, configure_data_juicer_path
from .mcp_helpers import get_mcp_toolkit
def create_toolkit(tools: List[str]):
# Create toolkit and register tools

View File

@@ -7,7 +7,6 @@ and example code for different operator types.
"""
import os
from pathlib import Path
from agentscope.message import TextBlock
from agentscope.tool import ToolResponse

View File

@@ -1,5 +1,13 @@
# -*- coding: utf-8 -*-
import os
import sys
from pathlib import Path
root_path = Path(__file__).parent.parent
sys.path.insert(0, str(root_path))
sys.path.insert(0, str(Path(root_path)/"data_juicer_agent"))
import pytest
from unittest.mock import AsyncMock, Mock, patch
from agentscope.agent import ReActAgent
@@ -22,6 +30,7 @@ from data_juicer_agent.tools import (
dj_tools,
dj_dev_tools,
mcp_tools,
get_mcp_toolkit,
execute_safe_command,
query_dj_operators,
get_basic_files,
@@ -29,6 +38,7 @@ from data_juicer_agent.tools import (
configure_data_juicer_path,
)
class TestDataJuicerAgent:
"""Test suite for the data_juicer_agent functionality"""
@@ -138,6 +148,13 @@ class TestDataJuicerAgent:
@pytest.mark.asyncio
async def test_mcp_tools_list(self, mock_mcp_client):
"""Test MCP tools list contains expected tools and MCP client binding"""
with patch(
"agentscope.mcp.HttpStatefulClient",
return_value=mock_mcp_client,
) as mock_client_cls:
await get_mcp_toolkit()
assert mock_client_cls.assert_called_once
expected_tools = [view_text_file, write_text_file]
assert len(mcp_tools) == len(expected_tools)
for tool in expected_tools:
@@ -179,7 +196,7 @@ class TestDataJuicerAgent:
mock_mcp_clients = [mock_mcp_client]
with patch(
"data_juicer_agent.tools.mcp_tools._create_clients",
"data_juicer_agent.tools.mcp_helpers._create_clients",
return_value=mock_mcp_clients,
):
with patch(
@@ -216,5 +233,6 @@ class TestDataJuicerAgent:
)
assert mcp_agent_created, "MCP agent should be created"
if __name__ == "__main__":
pytest.main(["-v", __file__])