LLM based autonomous agent that conducts local and web research on any topic and generates a comprehensive report with citations.
gpt-researcher基本信息
gpt-researcher介绍
🔎 GPT Researcher
GPT Researcher 是一个智能体代理,专为各种任务的综合在线研究而设计。
代理可以生成详细、正式且客观的研究报告,并提供自定义选项,专注于相关资源、结构框架和经验报告。受最近发表的Plan-and-Solve 和RAG 论文的启发,GPT Researcher 解决了速度、确定性和可靠性等问题,通过并行化的代理运行,而不是同步操作,提供了更稳定的性能和更高的速度。
我们的使命是利用人工智能的力量,为个人和组织提供准确、客观和事实的信息。
为什么选择GPT Researcher?
- 因为人工研究任务形成客观结论可能需要时间和经历,有时甚至需要数周才能找到正确的资源和信息。
- 目前的LLM是根据历史和过时的信息进行训练的,存在严重的幻觉风险,因此几乎无法胜任研究任务。
- 网络搜索的解决方案(例如 ChatGPT + Web 插件)仅考虑有限的资源和内容,在某些情况下会导致肤浅的结论或不客观的答案。
- 只使用部分资源可能会在确定研究问题或任务的正确结论时产生偏差。
架构
主要思想是运行“计划者”和“执行”代理,而计划者生成问题进行研究,“执行”代理根据每个生成的研究问题寻找最相关的信息。最后,“计划者”过滤和聚合所有相关信息并创建研究报告。
代理同时利用 gpt3.5-turbo 和 gpt-4o(128K 上下文)来完成一项研究任务。我们仅在必要时使用这两种方法对成本进行优化。研究任务平均耗时约 3 分钟,成本约为 ~0.1 美元。
详细说明:
- 根据研究搜索或任务创建特定领域的代理。
- 生成一组研究问题,这些问题共同形成答案对任何给定任务的客观意见。
- 针对每个研究问题,触发一个爬虫代理,从在线资源中搜索与给定任务相关的信息。
- 对于每一个抓取的资源,根据相关信息进行汇总,并跟踪其来源。
- 最后,对所有汇总的资料来源进行过滤和汇总,并生成最终研究报告。
演示
https://github.com/assafelovic/gpt-researcher/assets/13554167/a00c89a6-a295-4dd0-b58d-098a31c40fda
教程
特性
- 📝 生成研究问题、大纲、资源和课题报告
- 🌐 每项研究汇总超过20个网络资源,形成客观和真实的结论
- 🖥️ 包括易于使用的web界面 (HTML/CSS/JS)
- 🔍 支持JavaScript网络资源抓取功能
- 📂 追踪访问过和使用过的网络资源和来源
- 📄 将研究报告导出为PDF或其他格式...
📖 文档
请参阅此处,了解完整文档:
- 入门(安装、设置环境、简单示例)
- 操作示例(演示、集成、docker 支持)
- 参考资料(API完整文档)
- Tavily 应用程序接口集成(核心概念的高级解释)
快速开始
步骤 0 - 安装 Python 3.11 或更高版本。参见此处 获取详细指南。
步骤 1 - 下载项目
$ git clone https://github.com/assafelovic/gpt-researcher.git
$ cd gpt-researcher
步骤2 -安装依赖项
$ pip install -r requirements.txt
第 3 步 - 使用 OpenAI 密钥和 Tavily API 密钥创建 .env 文件,或直接导出该文件
$ export OPENAI_API_KEY={Your OpenAI API Key here}
$ export TAVILY_API_KEY={Your Tavily API Key here}
- LLM,我们推荐使用 OpenAI GPT,但您也可以使用 Langchain Adapter 支持的任何其他 LLM 模型(包括开源),只需在 config/config.py 中更改 llm 模型和提供者即可。请按照 这份指南 学习如何将 LLM 与 Langchain 集成。
- 对于搜索引擎,我们推荐使用 Tavily Search API(已针对 LLM 进行优化),但您也可以选择其他搜索引擎,只需将 config/config.py 中的搜索提供程序更改为 "duckduckgo"、"googleAPI"、"googleSerp "或 "searx "即可。然后在 config.py 文件中添加相应的 env API 密钥。
- 我们强烈建议使用 OpenAI GPT 模型和 Tavily Search API 以获得最佳性能。
第 4 步 - 使用 FastAPI 运行代理
$ uvicorn main:app --reload
第 5 步 - 在任何浏览器上访问 http://localhost:8000,享受研究乐趣!
要了解如何开始使用 Docker 或了解有关功能和服务的更多信息,请访问 documentation 页面。