guy-hartstein/company-research-agent

An agentic company research tool powered by LangGraph and Tavily that conducts deep diligence on companies using a multi-agent framework. It leverages OpenRouter on the backend for rapid inference with any leading model.

Company Research Agent – 简介

一个小型 Web 应用,输入公司名称即可获得结构化的、有来源支持的简报(业务概览、行业背景、近期新闻等)。核心工作由 FastAPI 后端完成,它编排了一个由 LLM 驱动的研究图和 Tavily 网络搜索/相关性服务。React + Vite 前端将进度流式传输到浏览器,并可将最终 Markdown 报告导出为 PDF。


核心功能

功能 工作原理
自动研究 向 Tavily 发送查询,对相关性进行评分,并收集 URL。
LLM 驱动的综合 使用通过 OpenRouter 可访问的任何模型(或直接使用 OpenAI/Gemini 密钥)生成搜索提示、总结来源并撰写最终简报。
实时流式传输 界面通过 GET /research/{job_id}/stream 接收服务器发送的事件,以便实时查看任务进度。
PDF 导出 后端通过 POST /generate-pdf 将 Markdown 报告转换为 PDF。
可选持久化 如果提供了 MongoDB URI,任务和报告将存储以供后续检索。
模型灵活性 在设置界面中选择模型;同一模型将用于流程的每个步骤。

架构概览

React + Vite (前端)  ←→  FastAPI (后端)
        │                     │
        └─ POST /research ──►  研究图
                               ├─ 分析器
                               ├─ 收集器 (Tavily)
                               ├─ 策展器 (相关性评分)
                               ├─ 简报 (LLM 综合)
                               └─ 编辑器 (最终 Markdown)

后端与以下服务通信:

  • Tavily – 网络搜索和相关性排名。
  • LLM – OpenRouter 上的任何模型,或直接使用 OpenAI/Gemini,用于提示生成、总结和编辑。
  • MongoDB(可选)– 任务/报告存储。

快速开始(本地开发)

  1. 后端 – Python 3.11+,创建虚拟环境,安装 requirements.txt,复制 .env.example → .env 并填写你的 OpenRouter/Tavily 密钥(MongoDB 可选)。
  2. 前端 – 复制 ui/.env.development.example → ui/.env.development.local,设置 VITE_API_URL 为 http://localhost:8000,安装 npm 依赖。
  3. 运行 –
    • uvicorn application:app --reload --port 8000(API)
    • 在 ui 目录下运行 npm run dev(UI)→ 打开 http://localhost:5174。
  4. Docker – 在存在相同的 .env 文件后,docker compose up --build 将启动两个服务。

典型工作流程

curl -X POST http://localhost:8000/research \
  -H 'Content-Type: application/json' \
  -d '{"company":"Tavily","company_url":"https://tavily.com","industry":"AI search","hq_location":"New York, USA","model":"anthropic/claude-sonnet-5.5"}'
  • 响应会给出一个 job_id。
  • UI(或 GET …/stream 请求)会流式传输进度事件。
  • 完成后,GET /research/{job_id}/report 返回 Markdown;POST /generate-pdf 创建可下载的 PDF。

谁可能使用它?

  • 投资者或分析师,需要快速、有来源支持的目标公司概览。
  • 业务开发团队,寻找合作伙伴或竞争对手。
  • 学生或记者,希望无需手动网络搜索即可获得可复现的简报。
  • 开发者,寻找构建其他 LLM 编排研究代理的模板。

限制与注意事项

  • 依赖 API 密钥 – 你必须提供有效的 OpenRouter(或 OpenAI/Gemini)密钥和 Tavily 密钥;没有它们服务无法运行。
  • 来源质量 – 相关性评分是启发式的;最终报告反映 LLM 从检索页面中综合的内容。
  • 持久化可选 – 没有 MongoDB,每个任务仅存在于当前服务器运行的内存中。
  • 模型成本 – 通过 OpenRouter 使用大型模型可能很昂贵;选择在价格和质量之间平衡的模型。

许可证

Apache License 2.0 – 可自由使用、修改和分发。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目