← 开源
https-deeplearning-ai

agentic-ai-public

Research Agent service for the Agentic Workflow course

AI EngineeringGive agent toolsBuild agent workflow (SDK)Python
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
718
Star
430
Fork
+3
本周
4
贡献者
创建于 2025-09-25 · 更新于 2026-10-13 · 今日第 14603 名
主要开发者
enino84madeinglasgowandres-zartab

https-deeplearning-ai/agentic-ai-public 排名第 14,603,有 718 个星标。

同类别比较

https-deeplearning-ai/agentic-ai-public 排名第 14,603,此处有 8 个同类条目;braincrew-lab/langgraph-mcp-agents 排名第 14,599。

同类别比较
名称排名指标
openai/openai-cli14,593
语言:
Go
星标数:
719
分叉数:
75
简介:
Official CLI for the OpenAI API
spencer-project/spencer_people_tracking14,594
语言:
C++
星标数:
719
分叉数:
321
简介:
Multi-modal ROS-based people detection and tracking framework for mobile robots developed within the context of the EU FP7 project SPENCER.
CSML-by-Clevy/csml-engine14,595
语言:
Rust
星标数:
718
分叉数:
63
简介:
CSML is an easy-to-use chatbot programming language and framework.
braincrew-lab/langgraph-mcp-agents14,599
语言:
Python
星标数:
718
分叉数:
226
简介:
LangGraph-powered ReAct agent with Model Context Protocol (MCP) integration. A Streamlit web interface for dynamically configuring, deploying, and interacting with AI agents capable of accessing various data sources and APIs through MCP tools.
rekog-labs/MCP-Nest14,607
语言:
TypeScript
星标数:
718
分叉数:
124
简介:
A NestJS module to effortlessly create Model Context Protocol (MCP) servers for exposing AI tools, resources, and prompts.
HazAT/pi-interactive-subagents14,610
语言:
TypeScript
星标数:
717
分叉数:
182
prompt-security/ps-fuzz14,619
语言:
Python
星标数:
717
分叉数:
104
简介:
Make your GenAI Apps Safe & Secure :rocket: Test & harden your system prompt
MISTLab/Swarm-SLAM14,630
语言:
Shell
星标数:
715
分叉数:
82
简介:
Sparse Decentralized Collaborative Simultaneous Localization and Mapping Framework for Multi-Robot Systems
关键参数与规格
关键参数与规格
参数值
语言Python
类别AI Engineering
子类别Give agent tools,Build agent workflow (SDK)
关键词Agent-ready APIs, Databases, Retrieval, Tool use
星标数718
分叉数430
贡献者4
创建日期2025-09-25
更新日期2026-10-13
1 天星标数0
7 天星标数3
排名14,603
上次排名14,454
排名变化-149
7 天星标排名7,270
上次 7 天星标排名5,740
7 天星标排名变化-1,530
总星标排名14,595
上次总星标排名14,565
总星标排名变化-30
国家USA
README 摘录

Reflective Research Agent (FastAPI + Postgres, single container) A FastAPI web app that plans a research workflow, runs tool-using agents (Tavily, arXiv, Wikipedia), and stores task state/results in Postgres. This repo includes a Docker setup that runs **Postgres + the API in one container** (for local/dev). Features serves a simple UI (Jinja2 template) to kick off a research task. kicks off a threaded, multi-step agent workflow (planner → research/writer/editor). API keys stored in a file: Python deps

are installed by Docker from : , , , , , , , etc. The container’s entrypoint sets a sane default for local dev: To use Tavily: Provide (via or ). If you overrode it, ensure it’s valid: **Tables disappear on restart** In your you call on startup. Comment it out or guard with an env flag: **Tavily / arXiv / Wikipedia errors** Provide and ensure network access, provide in the root dir and file as follows: Wikipedia rate limits sometimes; try later or handle exceptions gracefully.

常见问题

记录了多少星标和分叉?

https-deeplearning-ai/agentic-ai-public 有 718 个星标和 430 个分叉。

仓库排名是多少?

https-deeplearning-ai/agentic-ai-public 排名第 14,603。

记录的语言和类别是什么?

https-deeplearning-ai/agentic-ai-public 有 718 个星标,语言为 Python,类别为 AI Engineering。

哪个仓库排名最接近?

https-deeplearning-ai/agentic-ai-public 与 braincrew-lab/langgraph-mcp-agents 比较,后者排名第 14,599,有 718 个星标。

README

Reflective Research Agent (FastAPI + Postgres, single container)

A FastAPI web app that plans a research workflow, runs tool-using agents (Tavily, arXiv, Wikipedia), and stores task state/results in Postgres. This repo includes a Docker setup that runs Postgres + the API in one container (for local/dev).

Features

  • / serves a simple UI (Jinja2 template) to kick off a research task.
  • /generate_report kicks off a threaded, multi-step agent workflow (planner → research/writer/editor).
  • /task_progress/{task_id} live status for each step/substep.
  • /task_status/{task_id} final status + report.

Project layout (key paths)

.
├─ main.py                      # FastAPI app (your file shown above)
├─ src/
│  ├─ planning_agent.py         # planner_agent(), executor_agent_step()
│  ├─ agents.py                 # research_agent, writer_agent, editor_agent  (example)
│  └─ research_tools.py         # tavily_search_tool, arxiv_search_tool, wikipedia_search_tool
├─ templates/
│  └─ index.html                # UI page rendered by "/"
├─ static/                      # optional static assets (css/js)
├─ docker/
│  └─ entrypoint.sh             # starts Postgres, prepares DB, then launches Uvicorn
├─ requirements.txt
├─ Dockerfile
└─ README.md

Make sure templates/index.html and (optionally) static/ exist and are copied into the image.


Prerequisites

  • Docker (Desktop on Windows/macOS, or engine on Linux).

  • API keys stored in a .env file:

    OPENAI_API_KEY=your-open-api-key
    TAVILY_API_KEY=your-tavily-api-key
    
  • Python deps are installed by Docker from requirements.txt:

    • fastapi, uvicorn, sqlalchemy, python-dotenv, jinja2, requests, wikipedia, etc.
    • Plus any libs used by your aisuite client.

Environment variables

The app reads only DATABASE_URL at startup.

  • The container’s entrypoint sets a sane default for local dev:

    postgresql://app:local@127.0.0.1:5432/appdb
    
  • To use Tavily:

    • Provide TAVILY_API_KEY (via .env or -e).

Optional (if you want to override defaults done by the entrypoint):

  • POSTGRES_USER (default app)
  • POSTGRES_PASSWORD (default local)
  • POSTGRES_DB (default appdb)

Build & Run (local/dev)

1) Build

docker build -t fastapi-postgres-service .

2) Run (foreground)

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

You should see logs like:

🚀 Starting Postgres cluster 17/main...
✅ Postgres is ready
CREATE ROLE
CREATE DATABASE
🔗 DATABASE_URL=postgresql://app:local@127.0.0.1:5432/appdb
INFO:     Uvicorn running on http://0.0.0.0:8000

3) Open the app


API quickstart

Kick off a run

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"}'
# -> {"task_id": "UUID..."}

Poll progress

curl http://localhost:8000/task_progress/

Final status + report

curl http://localhost:8000/task_status/

Troubleshooting

I open http://localhost:8000 and see nothing / errors

  • Confirm templates/index.html exists inside the container:

    docker exec -it fpsvc bash -lc "ls -l /app/templates && ls -l /app/static || true"
    
  • Watch logs while you load the page:

    docker logs -f fpsvc
    

Container asks for a Postgres password on startup

  • The entrypoint uses UNIX socket + peer auth for admin tasks (no password). Ensure you’re not calling psql -h 127.0.0.1 -U postgres in the script—use:

    su -s /bin/bash postgres -c "psql -c '...'"
    

DATABASE_URL not set error

  • The entrypoint exports a default DSN. If you overrode it, ensure it’s valid:

    postgresql://:@:/
    

Tables disappear on restart

  • In your main.py you call Base.metadata.drop_all(...) on startup. Comment it out or guard with an env flag:

    if os.getenv("RESET_DB_ON_STARTUP") == "1":
        Base.metadata.drop_all(bind=engine)
    

Tavily / arXiv / Wikipedia errors

  • Provide TAVILY_API_KEY and ensure network access, provide in the root dir and .env file as follows:
# OpenAI API Key
OPENAI_API_KEY=your-open-api-key
TAVILY_API_KEY=your-tavily-api-key
  • Wikipedia rate limits sometimes; try later or handle exceptions gracefully.

Development tips

  • Hot reload (optional): For dev, you can run Uvicorn with --reload if you mount your code:

    docker run --rm -it -p 8000:8000 -p 5432:5432 \
      -v "$PWD":/app \
      --name fpsvc fastapi-postgres-service \
      bash -lc "pg_ctlcluster \$(psql -V | awk '{print \$3}' | cut -d. -f1) main start && uvicorn main:app --host 0.0.0.0 --port 8000 --reload"
    
  • Connect to DB from host:

    psql "postgresql://app:local@localhost:5432/appdb"
    

排名相邻
同类项目