






















1、什么是LlamaIndex

本篇将为各位同学介绍一下LlamaIndex, 它是一个强大的开源工具,它能帮助开发者构建各种基于大型语言模型 (LLM) 的应用程序。它提供了一套工具和 API,使开发者能够轻松地将 LLM 与外部数据源连接起来,从而赋予 LLM 更强大的能力,从功能上看它与LangChian有点类似。
LlamaIndex (前身为 GPT Index) 是一个数据框架,它诞生的目的是帮助开发人员将外部数据轻松桥接到大型语言模型 (LLM) 应用中。它提供了一种结构化的方法来连接 LLM 与各种数据资源,从而使 LLM 能够访问并利用这些数据来完成更复杂的任务,例如它能实现:
LlamaIndex的核心功能包括:
1. 数据连接器: LlamaIndex 提供了各种数据连接器,可以轻松地将 LLM 连接到不同类型的数据源,包括:
2. 数据索引: LlamaIndex 提供了多种索引结构,可以有效地组织和存储外部数据,以便 LLM 可以快速访问和检索相关信息。例如:
3. 查询接口: LlamaIndex 提供了用户友好的查询接口,可以轻松地向 LLM 提出问题并获取答案。它支持各种查询类型,例如:
LlamaIndex 是一个强大的数据框架,可以帮助开发人员充分发挥 LLM 的潜力,构建更智能、更强大的应用程序。它提供了一种便捷的方式来连接 LLM 与外部数据,并提供了各种工具和功能来优化数据访问、查询和处理。
如果你对AI大模型感兴趣,在这里我给大家推荐一个非常优质的 AI 大模型资料,由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。入口直接给放下面了,点击卡片链接即可领取⬇️⬇️⬇️

LlamaIndex 框架的核心结构可以概括为三个主要组成部分:数据连接器(Data Connectors)、索引(Indexes) 和查询接口(Query Interface)。这三个部分协同工作,使得 LLM 能够有效地访问、理解和利用外部数据。
示例:
from llama_index import SimpleDirectoryReader
# 加载本地文件夹中的所有文档
documents = SimpleDirectoryReader('data_directory').load_data()
from llama_index import VectorStoreIndex
# 使用向量存储索引构建索引
index = VectorStoreIndex.from_documents(documents)
from llama_index import QueryEngine
# 创建查询引擎
query_engine = index.as_query_engine()
# 查询索引
response = query_engine.query("What is the main topic of this document?")
我们可以把框架的基本流程总结如下:
Data Connectors 从不同数据源读取数据。Indexes 将数据结构化存储。Query Interface 查询数据并获得LLM的回复。pip install llama-index langchain llama-cpp-python chromadb
LLamaIndex 提供 多种数据加载方式,下面以 TXT 文档 为例:
from llama_index.core import SimpleDirectoryReader
# 读取本地文件夹中的所有文档
documents = SimpleDirectoryReader("files/").load_data()
print(f"文档数量: {len(documents)}")
print(documents[0].text[:500]) # 预览前 500 个字符
LLamaIndex 还支持读取 PDF、Notion、数据库等数据源。
打开huggingface官网,搜索embedding模型,然后把embedding模型下载到本地
# 下载nomic-embed-text-v2-moe 到models文件夹
huggingface-cli download nomic-ai/nomic-embed-text-v2-moe --local-dir ./models
from llama_index.core import VectorStoreIndex
from llama_index.core import SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
# 读取本地文件夹中的所有文档
documents = SimpleDirectoryReader("files/").load_data()
# 创建索引
embedding = HuggingFaceEmbedding(model_name='./models', trust_remote_code=True)
index = VectorStoreIndex.from_documents(documents, embed_model=embedding)
# 保存索引
index.storage_context.persist("index_storage/")
LLamaIndex 会自动 分块、转换向量并存储索引。
from langchain.llms import Ollama
from llama_index.core import load_index_from_storage, StorageContext
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
# 自定义本地 Embedding 模型
embedding_model = HuggingFaceEmbedding(model_name="./models", trust_remote_code=True)
# 加载索引
storage_context = StorageContext.from_defaults(persist_dir="index_storage/")
index = load_index_from_storage(storage_context, embed_model=embedding_model)
# 自定义Chat模型
llm = Ollama(
model='deepseek-r1:7b',
)
# 创建查询引擎
query_engine = index.as_query_engine(llm=llm)# 进行查询response = query_engine.query("这篇文档的主要内容是什么?")
print(response)
这样,我们就可以 用 LlamaIndex 读取 PDF,并进行智能问答 了!
如果你对AI大模型感兴趣,在这里我给大家推荐一个非常优质的 AI 大模型资料,由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。