LlamaIndex 官方示例全指南:从 Agents 到向量存储的五大实战模块
2026/9/11 1:30:20 网站建设 项目流程

LlamaIndex 官方示例全指南:从 Agents 到向量存储的五大实战模块

【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index

本文以 LlamaIndex 仓库中的 docs/examples/index.md 为骨架,系统梳理官方示例集的全貌:Agent 能力、Agentic Workflows 事件驱动工作流、LLM 集成、Embedding 模型与向量存储五大模块。读完本文,你将清楚每个模块对应哪些可运行的 notebook、底层由哪些核心类支撑(如AgentWorkflowFunctionAgent),并能快速定位到合适示例作为自己项目的起点。

一、示例集概览:一份可运行的"动手目录"

LlamaIndex 在docs/examples/目录下维护了一套极为丰富的示例集,覆盖不同的使用场景、第三方集成与功能特性。索引页 docs/examples/index.md 承担"总目录"职责,左侧导航中还挂载了大量按组件(llms、embeddings、vector_stores、tools、retrievers 等)分类的 notebook,方便按需检索。

从目录结构看,示例集与仓库的模块划分一一对应:

示例分类仓库目录核心主题
Agentsdocs/examples/agent函数调用 Agent、ReAct、CodeAct、多 Agent 工作流
Agentic Workflowsdocs/examples/workflow事件驱动的工作流编排、Text-to-SQL、RAG 流水线
LLM Integrationsdocs/examples/llm数十家 LLM 提供商的接入与配置
Embedding Modelsdocs/examples/embeddings各厂商 embedding 模型的使用
Vector Storesdocs/examples/vector_stores各类向量数据库的索引构建与检索

所有示例均以 Jupyter Notebook(.ipynb)形式提供,可直接在本地用jupyter notebookjupyter lab打开运行,也可用nbstripout等工具剥离输出后做版本管理。下文逐模块展开。

二、Agents:用 LlamaIndex 构建智能体

Agent 是 LlamaIndex 的核心能力之一,示例集提供了从入门到进阶的完整路径:

  • Function Calling Agent —— 学习函数调用 Agent 与AgentWorkflow的基础用法,这是当前推荐的主流入门方式;
  • React Agent —— 使用 ReAct(Reasoning and Acting,推理与行动交替)模式驱动 Agent;
  • Code Act Agent —— 能够编写并执行代码的 Agent,适合代码生成、数据分析类任务;
  • Multi-Agent Workflow —— 用AgentWorkflow编排多个各司其职的 Agent 协作完成复杂任务。

如果你对 Agent 的通用概念(工具绑定、状态管理、流式输出、结构化输出等)还不熟悉,官方框架文档 understanding/agent/index.mdx 提供了更系统的介绍,其中还包含 multi_agent.md、tools.md、state.md 等子专题。

2.1 源码视角:AgentWorkflow 的构造约束

示例中的AgentWorkflow对应核心源码 multi_agent_workflow.py 中的同名类,它同时继承WorkflowPromptMixin,本质上是"事件驱动的 Agent 编排器"。从构造函数(multi_agent_workflow.py)可以看到几个关键入参:

  • agentsBaseWorkflowAgent列表,至少提供一个 Agent,否则抛ValueError
  • root_agent:指定根 Agent 名称;单 Agent 场景下会自动把唯一 Agent 设为根;
  • initial_state:Agent 间共享的初始状态字典;
  • handoff_prompt/handoff_output_prompt/state_prompt:Agent 交接(handoff)与状态同步所用的提示词模板,均可自定义字符串;
  • timeout:单次运行超时;
  • early_stopping_method:取值"force""generate",默认"force",决定停止生成时的收尾方式。

实现上还做了一系列防御性校验(multi_agent_workflow.py):多 Agent 场景下每个 Agent 必须有非默认的namedescription(交接时靠它们路由),且AgentWorkflow不支持在单个 Agent 上设置initial_state。这些约束提示我们在写示例时,务必为每个子 Agent 取好名字、写好描述——这是多 Agent 协作能否正确交接的前提。

2.2 源码视角:三类内置 Agent 的差异

AgentWorkflow配套的 Agent 实现位于llama-index-core/llama_index/core/agent/workflow/目录下,三者继承自BaseWorkflowAgent

  • function_agent.py 中的FunctionAgent:面向支持函数调用(tool calling)的 LLM。其字段allow_parallel_tool_calls(默认True)决定是否并行调用多个工具;initial_tool_choice可强制首轮先调用某个工具,用于引导 Agent 的初始行为。请求发送走achat_with_tools/astream_chat_with_tools(function_agent.py);
  • react_agent.py 中的ReActAgent:采用 ReAct 模式,不依赖 LLM 的原生函数调用能力,兼容面更广;
  • codeact_agent.py 中的CodeActAgent:面向"写代码并执行"的场景。

三、Agentic Workflows:用 Workflows 编排智能体系统

除了直接用 Agent,LlamaIndex 还提供 Workflows 事件驱动框架来构建 agentic 系统,相关示例集中在 docs/examples/workflow:

  • Function Calling Agent from Scratch —— 不依赖高层封装,从零实现一个函数调用 Agent,适合理解事件流转细节;
  • React Agent —— 用 Workflows 手动搭建 ReAct 循环;
  • CodeAct Agent from Scratch —— 从零构建 CodeAct Agent(该 notebook 位于 agent 目录下,主题与 Agentic Workflows 一致);
  • Basic RAG —— 最简 RAG 工作流实现,演示"加载-索引-检索-合成"的事件流水线;
  • Advanced Text-to-SQL —— 让 LlamaIndex 生成 SQL 查询并执行,打通"自然语言 → SQL → 查询结果"的完整链路。

此外 docs/examples/workflow 还包含parallel_execution.ipynb(并行执行)、human_in_the_loop_story_crafting.ipynb(人在回路)、reflection.ipynb(反思式工作流)、multi_strategy_workflow.ipynb(多策略路由)等进阶示例,值得逐一阅读。

四、LLM Integrations:接入主流大模型提供商

LlamaIndex 通过统一接口抽象屏蔽了不同 LLM 提供商的差异,docs/examples/llm/目录下提供了近百个 notebook,覆盖几乎所有主流服务商。索引页重点推荐:

  • OpenAI —— GPT-3.5 / GPT-4 等系列模型;
  • Anthropic —— Claude 系列模型;
  • Bedrock —— 基于 AWS Bedrock Converse API,可调用 Meta Llama 3 等模型;
  • Gemini / Vertex —— Google Gemini 与 Vertex AI 模型;
  • Mistral —— Mistral AI 模型;
  • Ollama —— 本地运行 Ollama 模型。

除了索引页点名的这些,目录里还有deepseek.ipynbgroq.ipynbdashscope.ipynbzhipuai(对应llama-index-llms-zhipuai集成)、vllm.ipynbllama_cpp.ipynb等大量选择,足以覆盖云端 API、本地推理、自托管推理服务等多种部署形态。

在仓库的集成包层面,每个提供商都有独立的 pip 包,例如llama-index-integrations/llms/下的llama-index-llms-openaillama-index-llms-anthropicllama-index-llms-ollama等,安装后即可在代码中通过统一的from llama_index.llms.xxx import Xxx方式使用。对 LLM 抽象的整体理解可参考框架文档 understanding/using_llms.mdx。

五、Embedding Models:选择合适的向量化模型

Embedding 模型决定检索质量的底座,docs/examples/embeddings 提供了各主流方案的 notebook:

  • OpenAI Embeddings —— OpenAI 文本向量模型(如 text-embedding 系列);
  • Cohere Embeddings —— Cohere 向量模型;
  • HuggingFace Embeddings —— 在本地使用 HuggingFace 开源向量模型,数据不出本地,适合隐私敏感场景;
  • Jina Embeddings —— Jina AI 向量模型;
  • Ollama Embeddings —— 通过 Ollama 本地运行向量模型;
  • VoyageAI Embeddings —— VoyageAI 向量模型。

目录中还包含fastembed.ipynbnomic.ipynbmixedbreadai.ipynbbge相关等社区常用选择。所有 embedding 集成同样以独立 pip 包形式发布在llama-index-integrations/embeddings/下,安装对应包后即可用统一 API 调用。

六、Vector Stores:持久化与检索向量

向量存储是 RAG 落地的关键一环,docs/examples/vector_stores 是仓库中 notebook 数量最多的目录之一,覆盖主流向量数据库:

  • Pinecone —— 全托管向量数据库;
  • Chroma —— 轻量级开源向量存储;
  • Weaviate —— 支持混合检索的向量数据库;
  • Qdrant —— 高性能向量数据库,目录下还有Qdrant_hybrid.ipynbqdrant_bm42.ipynb等进阶用法;
  • MongoDB Atlas —— MongoDB Atlas Vector Search;
  • Redis —— Redis 向量检索;
  • Milvus —— 分布式向量数据库,另有MilvusHybridIndexDemo.ipynbMilvusAsyncAPIDemo.ipynb
  • Azure AI Search —— 微软云向量检索服务。

这些示例多数遵循同一套使用模式:创建向量存储客户端 → 用对应VectorStore类包装 → 构建VectorStoreIndex→ 查询。对应集成包位于llama-index-integrations/vector_stores/(如llama-index-vector-stores-pineconellama-index-vector-stores-qdrant等)。若想系统理解"向量存储 + 检索"在 RAG 中的位置,可阅读框架文档 understanding/rag/index.mdx。

七、如何挑选并运行示例

挑选示例时可按三条线索定位:

  1. 按组件:看左侧导航按组件组织的 notebook(llms、embeddings、vector_stores、tools、retrievers、query_engine 等);
  2. 按场景:如果目标是搭建 Agent,从 docs/examples/agent 和 docs/examples/workflow 入手;如果目标是 RAG,从 embeddings 与 vector_stores 入手;
  3. 按提供商:若已确定使用某家云服务或某款开源模型,直接在对应目录中搜索其 notebook。

运行方式上,所有示例都是标准 Jupyter Notebook,建议为每个集成包建立独立的虚拟环境(仓库根目录提供pyproject.tomluv.lock,可参考其依赖管理方式),先安装对应集成包(如llama-index-llms-openaillama-index-vector-stores-qdrant),再按 notebook 中的提示配置 API Key 或本地服务地址即可复现。

八、小结

docs/examples/index.md是进入 LlamaIndex 世界的"示例地图":Agent 与 Agentic Workflows 教会你构建智能体系统(底层由 AgentWorkflow 与 FunctionAgent 等类支撑),LLM 与 Embedding 集成解决"模型从哪来"的问题,向量存储解决"知识放哪里"的问题。建议按"先跑通 Basic RAG → 再上手 Function Calling Agent → 最后尝试 Multi-Agent 协作"的路径循序渐进,配合 docs/examples/index.md 持续按需查阅,即可快速把 LlamaIndex 用到自己的项目中。

【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询