使用 LlamaIndex 创建本地文件问答应用

在本篇文章中,我们将介绍如何使用 LlamaIndex 创建一个本地文件问答应用。本教程将详细讲解如何设置和使用该工具,并提供示例代码帮助您快速上手。

安装和设置

首先,您需要安装 LlamaIndex 和 Chroma 数据库。可以使用以下命令进行安装:

$ pip install -U llama-index
$ pip install -U chromadb

安装完成后,您可以通过以下命令查看 LlamaIndex CLI 的帮助信息:

$ llamaindex-cli rag -h

基本使用方法

设置 API 密钥

默认情况下,该工具使用 OpenAI 的 API。因此,您需要设置 OPENAI_API_KEY 环境变量:

$ export OPENAI_API_KEY=<your_api_key>  //中转API
导入文件

接下来,您需要指向一些本地文件,以便将其导入本地向量数据库。以下是一个导入 LlamaIndex README.md 文件的示例:

$ llamaindex-cli rag --files "./README.md"

您还可以使用文件通配符模式,例如:

$ llamaindex-cli rag --files "./docs/**/*.rst"
提问

导入文件后,您可以开始提问:

$ llamaindex-cli rag --question "What is LlamaIndex?"

系统将基于您导入的文件内容生成答案。

创建聊天应用

您还可以创建一个基于 FastAPI 后端和 NextJS 前端的完整聊天应用。首先,确保您的机器上已安装 NodeJS 和 npx。如果没有,请参考 LlamaIndex.TS 文档 进行安装。

一旦设置完成,创建新应用非常简单,只需运行以下命令:

$ llamaindex-cli rag --create-llama

您将被要求提供一些信息,例如项目名称和模型类型等。选择 “Generate code, install dependencies, and run the app (~2 min)” 选项,所有依赖项将自动安装并运行应用。然后,您可以通过访问 http://localhost:3000 来访问该应用。

自定义 CLI 工具

该工具支持高度自定义,您可以使用以下代码创建自定义的 rag CLI 工具:

#!/path/to/your/virtualenv/bin/python
import os
from llama_index.core.ingestion import IngestionPipeline, IngestionCache
from llama_index.core.query_pipeline import QueryPipeline
from llama_index.core.storage.docstore import SimpleDocumentStore
from llama_index.cli.rag import RagCLI

# 设置 API 密钥
os.environ["OPENAI_API_KEY"] = "sk-xxx"  //中转API

docstore = SimpleDocumentStore()

vec_store = ...  # 向量存储实例
llm = ...  # LLM 实例 - 可选,默认使用 OpenAI gpt-3.5-turbo

custom_ingestion_pipeline = IngestionPipeline(
    transformations=[...],
    vector_store=vec_store,
    docstore=docstore,
    cache=IngestionCache(),
)

custom_query_pipeline = QueryPipeline()
custom_query_pipeline.add_modules(...)
custom_query_pipeline.add_link(...)

file_extractor = {".html": ...}

rag_cli_instance = RagCLI(
    ingestion_pipeline=custom_ingestion_pipeline,
    llm=llm,  # 可选
    query_pipeline=custom_query_pipeline,  # 可选
    file_extractor=file_extractor,  # 可选
)

if __name__ == "__main__":
    rag_cli_instance.cli()

常见错误及解决方法

  1. API 密钥未设置
    如果未设置 OPENAI_API_KEY 环境变量,会出现 API 调用失败的错误。请确保正确设置了环境变量。

  2. 文件路径错误
    如果提供的文件路径不正确或文件不存在,会导致文件导入失败。请检查文件路径的正确性。

  3. 依赖项未安装
    在使用自定义 CLI 工具时,确保所有依赖项均已正确安装。可以使用 pip install -U llama-index chromadb 进行安装。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值