研究员
研究人员使用 Google 和 GPT-3 简洁准确地回答问题,从而节省您的时间。它包含引文,以便您可以查找来源。
这是与单独使用 Google 或 GPT 不同的搜索范例。使用 Google,您必须扫描几条 SEO 垃圾内容才能找到答案。使用 GPT,您无法确定您得到的答案是否正确,或者它来自哪里。
研究人员通过将 Google 搜索结果中的相关部分输入 GPT-3 以生成概述来解决这些问题。
比较
通过将网络上下文输入到大型语言模型中,您可以提高准确性并验证信息。在此示例中,您无法验证来自 ChatGPT 的信息。它也不是很具体。研究人员根据 Google 的上下文为您提供引用的来源和更具体的信息。
聊天GPT | 研究员 |
---|
| |
截图
技术问答 | 推荐 |
---|
| |
安装
- 使用 git 克隆此存储库。
- 确保您已安装 Python 3.8+。截至12/22,Pytorch并不在所有平台上支持Python 3.11,因此推荐使用Python 3.10。
- 运行
cd researcher
进入存储库文件夹。 - 运行
pip install -r requirements.txt
以安装所需的软件包。 - 在
settings.py
的OPENAI_KEY
变量中输入您的 OpenAI API 密钥。 - 运行
python app.py
来运行该应用程序。默认情况下它将在端口5000
上运行。 - [可选] 默认情况下,研究员将抓取 Google 搜索结果。这并不总是可靠的。如果您想要更高的可靠性,请向 Google 注册自定义搜索引擎,然后:
- 在
settings.py
的SEARCH_KEY
变量中输入 API 密钥。 - 在
SEARCH_ID
中输入自定义搜索引擎 ID。 - 将
SEARCH_METHOD
更改为api
。
用法
- 访问
http://127.0.0.1:5000
即可看到搜索界面。 - 输入搜索查询并单击“搜索”。提问效果最好。
- 可能需要 10-20 秒才能获取结果,具体取决于查询。您将看到摘要以及用于生成摘要的来源。
它是如何运作的
- 最初的搜索结果来自 Google
- 每个站点都是使用请求进行抓取的
- 站点 HTML 存储在本地 sqlite 数据库中
- 过滤结果以删除广告或跟踪器过多的网站
- 从每个站点提取文本块,并根据搜索查询进行排名
- 前 N 个文本块用于使用 GPT-3 生成摘要
- 摘要与用于生成摘要的来源一起显示
常问问题
- 这要花钱吗?这使用了 OpenAI API,这可能会根据您的积分而收费。每个查询的成本约为 1/3 美分。如果您使用 API 模式,它也可能根据您的 Google 搜索付费。 Google 自定义搜索每天提供 100 次免费搜索,那么每 1000 次查询将花费 5 美元。
- 为什么需要这么长时间才能得到结果?研究人员运行搜索,然后抓取网站以获取相关上下文,然后调用 API 来总结上下文。这些操作需要很长时间。调整一些设置可能会加快速度。特别是块长度和结果计数。
- 为什么我会收到 429 错误?默认情况下,研究人员会抓取 Google 结果。如果您过于频繁地执行此操作,可能会收到 429 错误。切换到 API 模式(如上所述)可以避免这种情况。
- 为什么我会收到无法生成摘要的错误? OpenAI API 有时会出现问题。这将导致不显示摘要。只需再次运行搜索即可解决此问题。
未来的改进
- 加快搜索过程
- 改进算法以找到最佳文本块
- 尝试使用自托管模型而不是 GPT-3(也许使用 PEGASUS 进行总结,或者微调 BLOOM 或 T5 变体)
- 在传递到 GPT-3 之前汇总文本块