Files
agent_management/agent_templates/docs/DIRECTORY_STRUCTURE.md
T
2026-01-15 17:30:48 +00:00

5.8 KiB
Raw Blame History

Agent Templates 目录结构

概述

agent_templates 目录已重新组织,按照功能分类到不同的文件夹中,便于管理和维护。

目录结构

agent_templates/
├── agents/                    # 所有 Agent 实现
│   ├── search_agent/         # 智能搜索 Agent
│   │   ├── search_agent.py
│   │   ├── search_agent_main.py
│   │   ├── search_agent.Dockerfile
│   │   └── search_agent/     # 搜索 Agent 核心模块
│   ├── jina_search_agent/    # Jina 搜索 Agent
│   │   ├── jina_search_agent.py
│   │   └── jina_search_agent.Dockerfile
│   ├── azure_blob_agent/     # Azure Blob 存储 Agent
│   │   ├── azure_blob_agent.py
│   │   └── azure_blob_agent.Dockerfile
│   ├── azure_blob_agent_a2a/ # Azure Blob Agent (A2A 协议)
│   │   ├── azure_blob_agent_a2a.py
│   │   └── azure_blob_agent_a2a.Dockerfile
│   ├── azure_blob_agent_mcp/ # Azure Blob Agent (MCP 协议)
│   │   ├── azure_blob_agent_mcp.py
│   │   └── azure_blob_agent_mcp.Dockerfile
│   ├── postgresql_agent/     # PostgreSQL 数据库 Agent
│   │   ├── postgresql_agent.py
│   │   └── postgresql_agent.Dockerfile
│   ├── mysql_agent/          # MySQL 数据库 Agent
│   │   ├── mysql_agent.py
│   │   └── mysql_agent.Dockerfile
│   └── a2a_litellm_agent/    # A2A LiteLLM Agent
│       ├── a2a_server.py
│       ├── agent.py
│       ├── config.py
│       ├── main.py
│       ├── requirements.txt
│       ├── a2a_litellm_agent.Dockerfile
│       └── __init__.py
│
├── common/                    # 共享代码和工具
│   ├── agent_callback_utils.py  # Agent 回调工具
│   ├── api_key_utils.py         # API Key 配置工具
│   ├── requirements_a2a.txt     # A2A 协议依赖
│   ├── requirements_mcp.txt     # MCP 协议依赖
│   └── Dockerfile.test          # 测试 Dockerfile
│
├── docs/                      # 文档文件
│   ├── A2A_LITELLM_AGENT_USAGE.md
│   ├── API_KEY_CONFIGURATION_SUMMARY.md
│   ├── AZURE_BLOB_AGENT_*.md
│   ├── SEARCH_AGENT_*.md
│   ├── JINA_SEARCH_AGENT_EXAMPLES.md
│   ├── MYSQL_AGENT_EXAMPLES.md
│   ├── POSTGRESQL_AGENT_EXAMPLES.md
│   └── ...
│
├── scripts/                   # 构建和工具脚本
│   ├── build_*.sh             # 各 Agent 的构建脚本
│   ├── build_all_agents.sh   # 批量构建脚本
│   ├── rebuild_all.sh        # 重建所有 Agent
│   └── check_image_content.sh # 镜像内容检查
│
└── tests/                     # 测试文件
    ├── test_*.py             # Python 测试文件
    ├── test_*.sh             # Shell 测试脚本
    └── test_client.py        # 测试客户端

各目录说明

agents/

包含所有 Agent 的实现代码。每个 Agent 都有自己的子目录,包含:

  • Agent 主程序文件(.py)
  • Dockerfile(.Dockerfile)
  • 相关的配置和依赖文件

common/

包含所有 Agent 共享的工具代码和依赖:

  • agent_callback_utils.py - Agent 回调处理工具
  • api_key_utils.py - 统一的 API Key 配置管理
  • requirements_*.txt - 各协议的依赖文件

docs/

包含所有文档文件:

  • 使用指南(*_USAGE.md)
  • 示例文档(*_EXAMPLES.md)
  • 配置说明(*_SUMMARY.md)

scripts/

包含构建和工具脚本:

  • 各 Agent 的独立构建脚本
  • 批量构建脚本
  • 工具脚本

tests/

包含测试文件:

  • Python 单元测试
  • 集成测试脚本
  • 测试客户端

使用说明

构建单个 Agent

cd agent_templates
./scripts/build_search_agent.sh v1.0

构建所有 Agent

cd agent_templates
./scripts/build_all_agents.sh v1.0

查看文档

# 查看搜索 Agent 使用指南
cat docs/SEARCH_AGENT_USAGE.md

# 查看 API Key 配置说明
cat docs/API_KEY_CONFIGURATION_SUMMARY.md

导入路径说明

在 Agent 代码中导入共享工具

# 在 Docker 容器中运行时,common/ 目录会被复制到 /app/common/
from common.agent_callback_utils import AgentCallbackHandler
from common.api_key_utils import get_llm_api_key

在本地开发时

# 需要将 common/ 目录添加到 Python 路径
import sys
sys.path.insert(0, '../common')
from agent_callback_utils import AgentCallbackHandler

Dockerfile 路径更新

所有构建脚本已更新为使用新的路径结构:

# 旧路径
-f search_agent.Dockerfile

# 新路径
-f agents/search_agent/search_agent.Dockerfile

迁移指南

如果您有现有的脚本或代码引用旧路径,请更新为:

旧路径 新路径
search_agent.py agents/search_agent/search_agent.py
search_agent.Dockerfile agents/search_agent/search_agent.Dockerfile
agent_callback_utils.py common/agent_callback_utils.py
api_key_utils.py common/api_key_utils.py
*.md docs/*.md
build_*.sh scripts/build_*.sh
test_*.py tests/test_*.py

注意事项

  1. 构建脚本: 所有构建脚本已更新路径,可以直接使用
  2. Dockerfile: 需要确保 Dockerfile 中的 COPY 路径正确
  3. 导入路径: 在容器中运行时,common/ 目录会被复制到正确位置
  4. 文档: 所有文档已移动到 docs/ 目录

维护建议

  1. 添加新 Agent: 在 agents/ 目录下创建新的子目录
  2. 共享代码: 放在 common/ 目录
  3. 文档: 放在 docs/ 目录
  4. 脚本: 放在 scripts/ 目录
  5. 测试: 放在 tests/ 目录