llama_index [Bug]:llamaindex-cli缺少glob模式?

zpqajqem  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(25)

问题描述

llamaindex-cli rag --files 不接受通配符模式。

版本

0.0.7

重现步骤

$ llamaindex-cli rag --files node/**/*.js
usage: llamaindex-cli [-h] {rag,download-llamapack,download-llamadataset,upgrade,upgrade-file,new-package} ...
llamaindex-cli: error: unrecognized arguments: node/benchmark/_cli.js node/benchmark/_http-benchmarkers.js

相关日志/回溯

  • 无响应*
jmo0nnb3

jmo0nnb31#

嘿 @hemanth! 👋 很高兴再次见到你。希望你过得很好!
感谢你报告这个问题。根据你提供的信息和上下文,似乎在 LlamaIndex 0.0.7 版本中,由于 --files 参数的处理方式,llamaindex-cli rag --files 命令无法接受glob模式。
handle_cli 方法中,glob 模块中的 iglob 函数用于遍历 --files 参数指定的文件。files 参数直接传递给 iglob,而不检查它是否包含glob模式。以下是相关代码部分:

if files is not None:
    documents = []
    for _file in iglob(files, recursive=True):
        _file = os.path.abspath(_file)
        if os.path.isdir(_file):
            reader = SimpleDirectoryReader(
                input_dir=_file,
                filename_as_id=True,
                file_extractor=self.file_extractor,
            )
        else:
            reader = SimpleDirectoryReader(
                input_files=[_file],
                filename_as_id=True,
                file_extractor=self.file_extractor,
            )

        documents.extend(reader.load_data(show_progress=verbose))

iglob 函数正确地用于遍历与 --files 参数中提供的glob模式匹配的文件。因此,如果 llamaindex-cli rag --files 命令无法接受glob模式,问题可能不是glob模式本身的处理方式,而可能是与用户如何指定glob模式或影响 iglob 函数解析模式的环境相关的问题。
我还找到了一个类似的已关闭问题 [Bug]: llamaindex-cli unrecognized arguments: - files ./README.md,它建议使用正确的文件命令行参数,即 --files-f,而不是 - files。正确的命令应该是 llamaindex-cli rag --files "./README.md"llamaindex-cli rag -f "./README.md"
不幸的是,在 LlamaIndex 代码库的 handle_cli 方法或 iglob 函数使用之后的版本 0.0.7 中,我没有找到任何更改。
你能提供更多关于你的环境的信息吗?具体来说,操作系统及其版本、正在使用的 shell 以及正在运行的确切命令?这将帮助我们更好地理解问题并找到解决方案。

来源

关于 Dosu

此响应旨在节省您的时间并使其有用。它不是精确的解决方案,而是您自己研究的起点。
帮助我变得更有用!如果你觉得这个回答有帮助,请点赞👍;如果不相关,请点赞👎。
如果你想继续讨论,请以 @dosu-bot 开头回复。

goqiplq2

goqiplq22#

@logan-markewich
我希望能够解决这个问题。

相关问题