SuperAPI AI 工具集

agentic-research-agent-deeplearning

智能体与模型

查看项目

更新于 10-16 02:01

技能介绍

用途

Agentic Research Agent (DeepLearning.AI) 是一个基于 FastAPI 的服务,用于编排多步骤的 AI 研究流程。它把研究任务拆解为规划、研究、写作、编辑等阶段,由多个智能体协作完成,并通过 Postgres 数据库跟踪任务状态与进度。

主要能力

  • 规划智能体:将研究任务拆解为可执行的步骤计划。
  • 工具使用智能体:研究、写作、编辑智能体可访问 Tavily 搜索、arXiv 论文和 Wikipedia。
  • 状态管理:Postgres 数据库记录任务状态、进度和结果。
  • 单一容器:一体化 Docker 镜像,内含 Postgres 与 FastAPI。
  • 实时进度:为长时间运行的研究任务提供实时状态更新。
  • Web UI 与 REST API:可启动研究流程、监控进度并获取最终报告。

使用方式

前置条件

确保已安装 Docker:

docker --version

创建包含 API 密钥的 .env 文件:

cat > .env << EOF
OPENAI_API_KEY=your-openai-key
TAVILY_API_KEY=your-tavily-key
EOF

克隆与构建

git clone https://github.com/deeplearning-ai/agentic-ai-public.git
cd agentic-ai-public
docker build -t fastapi-postgres-service .

运行服务

docker run --rm -it \
  -p 8000:8000 \
  -p 5432:5432 \
  --name fpsvc \
  --env-file .env \
  fastapi-postgres-service

访问地址:

  • Web UI:http://localhost:8000
  • API 文档:http://localhost:8000/docs
  • Postgres:postgresql://app:local@localhost:5432/appdb

主要 API 端点

启动研究任务:

curl -X POST http://localhost:8000/generate_report \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Large Language Models for scientific discovery",
    "model": "openai:gpt-4o"
  }'

轮询进度:

curl http://localhost:8000/task_progress/550e8400-e29b-41d4-a716-446655440000

获取最终报告:

curl http://localhost:8000/task_status/550e8400-e29b-41d4-a716-446655440000

项目结构

.
├── main.py                    # FastAPI 应用入口
├── src/
│   ├── planning_agent.py     # 规划器与执行器逻辑
│   ├── agents.py             # 研究、写作、编辑智能体
│   └── research_tools.py     # 工具实现(Tavily、arXiv、Wikipedia)
├── templates/
│   └── index.html            # Web UI 模板
├── static/                   # CSS/JS 资源
├── docker/
│   └── entrypoint.sh         # 容器启动脚本
├── requirements.txt
└── Dockerfile

配置

环境变量:

  • 必需:OPENAI_API_KEY、TAVILY_API_KEY
  • 可选数据库:DATABASE_URL、POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB
  • 可选行为:RESET_DB_ON_STARTUP(设为 1 时启动时删除表)

依赖项:

fastapi>=0.104.0
uvicorn[standard]>=0.24.0
sqlalchemy>=2.0.0
psycopg2-binary>=2.9.0
python-dotenv>=1.0.0
jinja2>=3.1.0
requests>=2.31.0
wikipedia>=1.4.0
arxiv>=2.0.0
aisuite>=0.1.0

适用场景

适合需要自动化多步骤研究流程的场景,例如围绕某个主题收集资料、检索学术论文与百科信息,并生成结构化研究报告。也适合作为构建自定义研究智能体服务的参考实现。

限制

  • 需要 OpenAI API 密钥和 Tavily API 密钥。
  • 依赖 Docker 环境运行。
  • 外部工具(Tavily、arXiv、Wikipedia)可能失败或触发速率限制,需要错误处理与重试。
  • 长时间运行任务需要超时与日志记录。
  • 生产环境建议使用后台任务或消息队列。
  • 资料未提供收费、价格、平台支持范围等具体信息。