要从 LlamaIndex 导出搜索结果,您可以使用内置方法序列化输出,或将其转换为常见的格式,如 JSON 或 CSV。 当您使用 LlamaIndex 执行搜索时,结果通常作为包含文本、元数据和源数据引用的对象返回。 要导出这些结果,您需要提取相关字段并将它们写入文件或数据库。 例如,在运行查询后,您可以访问 response.response
(文本答案)或 source_nodes
(源文档)等属性,并以编程方式保存它们。
一种简单的方法是将结果转换为 JSON。 例如,如果您的查询返回一个 Response
对象,您可以提取其 response
和 metadata
属性。 使用 Python 的 json
模块,您可以将这些数据序列化为 JSON 文件。 这是一个简化的示例
response = index.query("Your query")
result_data = {
"answer": response.response,
"sources": [node.text for node in response.source_nodes]
}
import json
with open("output.json", "w") as f:
json.dump(result_data, f)
这将创建一个包含答案及其来源的结构化文件。 对于 CSV 导出,您可以迭代多个结果并使用 csv
模块编写行,包括 query
、answer
和 source_url
等列。
对于更高级的用例,您可能需要处理元数据或批量导出结果。 如果您的搜索包括分数、时间戳或文档 ID,您可以扩展导出逻辑以包括这些字段。 例如,当处理多个响应时,您可以将结果聚合到字典列表中,并使用 Pandas 等库创建 DataFrame,然后将其导出到 CSV 或 Excel。 此外,LlamaIndex 的 Response
对象可以使用 pickle
或 jsonpickle
直接序列化,以便以后重新加载,但这可能需要处理自定义对象编码器。
如果您需要与外部系统集成,请考虑将结果格式化为数据库或 API。 例如,您可以编写一个脚本,将 LlamaIndex 响应转换为 SQL 插入语句,或将它们上传到 AWS S3 等云存储服务。 诸如 LlamaIndex 的 Document
类之类的工具也支持使用 save_to_dir()
保存到磁盘,这可以保留元数据和文本以供将来重新加载。 关键是将 LlamaIndex 输出的结构映射到您的目标格式,确保下游应用程序的一致性。