# Search Agent 使用指南 ## 简介 智能搜索 AI Agent 是一个基于大语言模型的搜索代理,能够理解用户查询意图、自动规划搜索策略、从多个来源获取信息,并生成高质量、有来源引用的答案。 ## 架构 - **基础镜像**: `agnettaiji.azurecr.io/ai-agents/search-agent:v1.0` - **支持平台**: linux/amd64, linux/arm64 - **端口**: 8080 - **协议**: HTTP/REST API ## 功能特点 - 🧠 **智能查询理解**: 分析用户意图,提取关键实体 - 📋 **搜索规划**: 智能分解问题,制定搜索策略 - 🔎 **多源搜索**: 支持 Web 搜索和新闻搜索 - 📄 **内容提取**: 智能提取网页核心内容 - 🎯 **结果排序**: 基于相关性重排搜索结果 - ✍️ **答案生成**: 综合信息生成结构化回答 - 🔄 **自我反思**: 评估答案质量,决定是否迭代 ## 环境变量配置 ### 必需配置 | 变量名 | 说明 | 示例 | |--------|------|------| | `LLM_BASE_URL` | LLM API 基础URL | `https://apis.openroutex.com/openai/deployments/xchat52` | | `LLM_API_KEY` | LLM API 密钥 | `sk-xxx` | | `SERPER_API_KEY` | Serper API 密钥(Google搜索) | `xxx` | | `JINA_API_KEY` | Jina API 密钥(内容提取和重排序) | `jina_xxx` | ### 可选配置 | 变量名 | 说明 | 默认值 | |--------|------|--------| | `LLM_MODEL` | LLM 模型名称 | `xchat52` | | `MAX_ITERATIONS` | 最大迭代次数 | `3` | | `MAX_RESULTS_PER_QUERY` | 每次搜索最大结果数 | `10` | | `CONTENT_MAX_LENGTH` | 内容最大长度 | `5000` | | `LOG_LEVEL` | 日志级别 | `INFO` | | `TIMEOUT` | 超时时间(秒) | `30` | ## 部署方式 ### 方式 1: 通过 agent-manager Web API ```bash curl -X POST http://localhost:8000/api/v2/agents \ -H "Content-Type: application/json" \ -d '{ "name": "my-search-agent", "template_type": "search_agent", "image": "agnettaiji.azurecr.io/ai-agents/search-agent:v1.0", "replicas": 1, "env_vars": { "LLM_BASE_URL": "https://apis.openroutex.com/openai/deployments/xchat52", "LLM_API_KEY": "your-llm-key", "LLM_MODEL": "xchat52", "SERPER_API_KEY": "your-serper-key", "JINA_API_KEY": "your-jina-key", "MAX_ITERATIONS": "3", "LOG_LEVEL": "INFO" }, "resources": { "cpu_request": "500m", "memory_request": "512Mi", "cpu_limit": "1000m", "memory_limit": "1Gi" } }' ``` ### 方式 2: 直接使用 kubectl ```bash # 创建命名空间(如果不存在) kubectl create namespace agents # 应用 YAML 配置 kubectl apply -f - < ``` ### 常见问题 1. **Agent 无法启动** - 检查环境变量是否正确配置 - 确认 ACR secret 已创建 - 查看 Pod 事件和日志 2. **搜索失败** - 确认 API keys 有效 - 检查网络连接 - 查看日志中的错误信息 3. **健康检查失败** - 确认端口 8080 正常监听 - 检查容器资源是否充足 - 查看启动日志 ## 相关文件 - `/home/taiji/tools/agent-manager/agent_templates/search_agent.py` - 主程序 - `/home/taiji/tools/agent-manager/agent_templates/search_agent.Dockerfile` - Dockerfile - `/home/taiji/tools/agent-manager/agent_templates/build_search_agent.sh` - 构建脚本 - `/home/taiji/tools/agent-manager/agent_templates/test_search_agent.sh` - 测试脚本 - `/home/taiji/tools/agent-manager/agent_manager/templates/search_agent.yaml` - K8s 模板 ## 技术栈 - **语言**: Python 3.11 - **框架**: FastAPI, Uvicorn - **LLM**: xchat52 (GPT-5.2) - **搜索**: Serper API (Google 搜索代理) - **内容提取**: Jina Reader - **重排序**: Jina Reranker - **异步**: asyncio ## 许可 遵循项目主许可证。