Wikipedia
维基百科是一个多语言的免费在线百科全书,由一群志愿者社区(称为维基人)通过开放协作和使用名为MediaWiki的基于维基的编辑系统编写和维护。
维基百科
是历史上最大和最受欢迎的参考工作。
这个笔记本展示了如何从wikipedia.org
检索维基页面并将其转换为下游使用的文档格式。
安装
首先,您需要安装wikipedia
Python包。
#!pip install wikipedia
WikipediaRetriever
有以下参数:
- 可选参数
lang
:默认值为"en"。用于在特定语言的维基百科中搜索。 - 可选参数
load_max_docs
:默认值为100。用于限制下载的文档数量。下载所有100个文档需要时间,因此在实验中使用较小的数字。目前有一个硬性限制为300。 - 可选参数
load_all_available_meta
:默认值为False。默认情况下,只下载最重要的字段:Published
(文档发布/最后更新日期)、title
(标题)、Summary
(摘要)。如果为True,则还会下载其他字段。
get_relevant_documents()
有一个参数query
,用于在维基百科中查找文档的自由文本。
示例
运行检索器
from langchain.retrievers import WikipediaRetriever
retriever = WikipediaRetriever()
docs = retriever.get_relevant_documents(query="HUNTER X HUNTER")
docs[0].metadata # 文档的元信息
{'title': 'Hunter × Hunter',
'summary': 'Hunter × Hunter(风格化为HUNTER×HUNTER,发音为“hunter hunter”)是一部由冨樫義博创作和绘制的日本漫画系列。它自1998年3月起在集英社的少年漫画杂志《周刊少年Jump》上连载,尽管自2006年以来该漫画经常进入长时间的停刊期。截至2022年11月,该漫画已经出版了37卷。故事主要讲述了一个名叫冈·弗里克斯的年轻男孩发现他在年幼时离开他的父亲实际上是一位世界知名的猎人,猎人是一种持有执照的专业人士,专门从事寻找稀有或未知动物物种、寻宝、勘测未开发的地区或追捕无法无天的个人等奇幻追求。冈出发踏上成为猎人的旅程,并最终找到他的父亲。在此过程中,冈遇到了各种其他猎人并遭遇了超自然现象。\n《Hunter × Hunter》被改编为由日本动画公司日本动画制作的62集电视动画系列,导演是古桥一浩,于1999年10月至2001年3月在富士电视台播出。随后,日本动画公司又制作了三部共30集的原创视频动画(OVA),分别于2002年至2004年在日本发行。由Madhouse制作的第二部电视动画系列于2011年10月至2014年9月在日本电视台播出,共148集,并于2013年发布了两部动画剧场版。此外,还有许多基于《Hunter × Hunter》的音频专辑、视频游戏、音乐剧和其他媒体。\n该漫画已被翻译成英文,并由Viz Media自2005年4月起在北美发行。两个电视系列也由Viz Media授权,第一个系列于2009年在Funimation Channel播出,第二个系列于2016年4月至2019年6月在Adult Swim的Toonami节目块播出。\n《Hunter × Hunter》取得了巨大的批评和经济成功,并成为有史以来销量最高的漫画系列之一,截至2022年7月,发行量已超过8400万册。\n\n'}
docs[0].page_content[:400] # 文档的内容
'Hunter × Hunter(风格化为HUNTER×HUNTER,发音为“hunter hunter”)是一部由冨樫義博创作和绘制的日本漫画系列。它自1998年3月起在集英社的少年漫画杂志《周刊少年Jump》上连载,尽管自2006年以来该漫画经常进入长时间的停刊期。截至2022年11月,该漫画已经出版了37卷。故事主要讲述了一个名叫冈·弗里克斯的年轻男孩发现他在年幼时离开他的父亲实际上是一位世界知名的猎人,猎人是一种持有执照的专业人士,专门从事寻找稀有或未知动物物种、寻宝、勘测未开发的地区或追捕无法无天的个人等奇幻追求。冈出发踏上成为猎人的旅程,并最终找到他的父亲。在此过程中,冈遇到了各种其他猎人并遭遇了超自然现象。\n《Hunter × Hunter》被改编为由日本动画公司日本动画制作的62集电视动画系列,导演是古桥一浩,于1999年10月至2001年3月在富士电视台播出。随后,日本动画公司又制作了三部共30集的原创视频动画(OVA),分别于2002年至2004年在日本发行。由Madhouse制作的第二部电视动画系列于2011年10月至2014年9月在日本电视台播出,共148集,并于2013年发布了两部动画剧场版。此外,还有许多基于《Hunter × Hunter》的音频专辑、视频游戏、音乐剧和其他媒体。\n该漫画已被翻译成英文,并由Viz Media自2005年4月起在北美发行。两个电视系列也由Viz Media授权,第一个系列于2009年在Funimation Channel播出,第二个系列于2016年4月至2019年6月在Adult Swim的Toonami节目块播出。\n《Hunter × Hunter》取得了巨大的批评和经济成功,并成为有史以来销量最高的漫画系列之一,截至2022年7月,发行量已超过8400万册。\n\n'
问题回答
# 获取一个令牌:https://platform.openai.com/account/api-keys
from getpass import getpass
OPENAI_API_KEY = getpass()
········
import os
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationalRetrievalChain
model = ChatOpenAI(model_name="gpt-3.5-turbo") # 切换到 'gpt-4'
qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
questions = [
"什么是Apify?",
"1830年革命烈士纪念碑是什么时候建造的?",
"什么是Abhayagiri Vihāra?",
# "Wikipédia en français有多大?",
]
chat_history = []
for question in questions:
result = qa({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **问题**:{question} \n")
print(f"**回答**:{result['answer']} \n")
-> **问题**:什么是Apify?
**回答**:Apify是一个平台,可以轻松地自动化网络抓取、数据提取和网络自动化。它提供了一个基于云的基础设施,用于运行网络爬虫和其他自动化任务,以及一个基于Web的工具,用于构建和管理您的爬虫。此外,Apify还提供了一个市场,用于购买和销售预构建的爬虫和相关服务。
-> **问题**:1830年革命烈士纪念碑是什么时候建造的?
**回答**:Apify是一个网络抓取和自动化平台,可以让您从网站中提取数据,将非结构化数据转换为结构化数据,并自动化重复任务。它提供了一个用户友好的界面,可在不需要任何编码知识的情况下创建网络抓取脚本。Apify可用于各种网络抓取任务,如数据提取、网络监控、内容聚合等。此外,它还提供了各种功能,如代理支持、调度和与其他工具的集成,以使网络抓取和自动化任务更加简单高效。
-> **问题**:什么是Abhayagiri Vihāra?
**回答**:Abhayagiri Vihāra是斯里兰卡阿努拉德普勒的一个重要的上座部佛教寺院遗址。它建于公元前2世纪,被认为是斯里兰卡最重要的寺庙群之一。