LlamaIndex 主要设计用于基于文本的数据,但你可以通过将该数据转换为基于文本的格式或首先进行嵌入表示,来将其与音频或视频等非文本数据一起使用。 LlamaIndex 的核心功能围绕使用语言模型索引和查询文本,因此非文本数据需要预处理才能适应此框架。例如,可以使用自动语音识别 (ASR) 将音频文件转录为文本,并可以分析视频内容以提取元数据、转录或场景描述。然后可以使用 LlamaIndex 索引这些基于文本的输出,以进行搜索或检索任务。
一种实际的方法是将 LlamaIndex 与处理非文本数据的专用模型相结合。对于音频,你可以使用 OpenAI 的 Whisper 之类的工具来生成转录,然后使用 LlamaIndex 索引这些转录以启用语义搜索。对于视频,你可以提取关键帧,使用计算机视觉模型来生成场景的文本描述,或者分析字幕。这些文本表示形式成为 LlamaIndex 的输入,使你可以利用其检索功能。或者,你可以使用多模态嵌入模型(如 CLIP 或特定于音频的嵌入)将非文本数据转换为向量表示形式,将这些向量存储在 LlamaIndex 的向量存储中,并执行相似性搜索。但是,这需要自定义管道才能将嵌入映射回原始媒体文件以供实际使用。
主要的限制是 LlamaIndex 不能原生处理原始音频或视频 - 它依赖于预处理步骤。开发人员必须设计工作流程,以在索引之前将非文本数据转换为兼容的格式(文本或嵌入)。例如,播客搜索工具可能会将剧集转录为文本,使用 LlamaIndex 对其进行索引,并让用户通过关键字或自然语言查询主题。同样,视频平台可以索引场景描述,以启用诸如“查找具有户外景观的剪辑”之类的查询。虽然这增加了复杂性,但 LlamaIndex 的灵活性使其适用于将特定于领域的模型与基于文本的检索相结合的混合系统。