5.8 KiB
5.8 KiB
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 |
注意事项
- 构建脚本: 所有构建脚本已更新路径,可以直接使用
- Dockerfile: 需要确保 Dockerfile 中的 COPY 路径正确
- 导入路径: 在容器中运行时,common/ 目录会被复制到正确位置
- 文档: 所有文档已移动到 docs/ 目录
维护建议
- 添加新 Agent: 在
agents/目录下创建新的子目录 - 共享代码: 放在
common/目录 - 文档: 放在
docs/目录 - 脚本: 放在
scripts/目录 - 测试: 放在
tests/目录