如果我正确理解 llamaindex 的工作原理,它将每个长文档拆分为几个较小的块,然后将它们作为 LLM 提示中的上下文部分传递。我正在遵循这个指南 我正在尝试创建能够讨论电影的聊天机器人,其知识库是维基百科情节。因此,我认为聊天机器人不仅要看到情节的相关部分,还要看到标题,这样它才能知道用户正在谈论哪部电影,这一点至关重要。 如何为每个块添加标题,使上下文如下所示?
{title}
{relevant plot chunk}
这是处理元数据的示例代码。这取决于你的数据结构。在下面的示例中,年份被添加为元数据
years = [2022, 2021, 2020, 2019]
UnstructuredReader = download_loader("UnstructuredReader", refresh_cache=True)
loader = UnstructuredReader()
doc_set = {}
all_docs = []
for year in years:
year_docs = loader.load_data(file=Path(f'./data/UBER/UBER_{year}.html'), split_documents=False)
# insert year metadata into each year
for d in year_docs:
d.metadata = {"year": year}
doc_set[year] = year_docs
all_docs.extend(year_docs)