Skip to content

LlamaCloudIndex + LlamaCloudRetriever#

LlamaCloud 是一种新一代的托管解析、摄取和检索服务,旨在为您的 LLM 和 RAG 应用程序提供生产级的上下文增强功能。

目前,LlamaCloud 支持以下功能:

  • 托管摄取 API,处理解析和文档管理
  • 托管检索 API,为您的 RAG 系统配置最佳检索

访问#

我们正在向一组有限的企业合作伙伴开放托管摄取和检索 API 的私人测试版。如果您有兴趣将数据管道集中化,并花更多时间处理实际的 RAG 用例,请与我们联系。

如果您可以访问 LlamaCloud,可以访问LlamaCloud进行登录并获取 API 密钥。

设置#

首先,请确保您已安装最新版本的 LlamaIndex。

注意: 如果您正在从 v0.9.X 升级,请务必查看我们的迁移指南,并先卸载之前的版本。

pip uninstall llama-index  # 如果从 v0.9.x 或更旧版本升级,请运行此命令
pip install -U llama-index --upgrade --no-cache-dir --force-reinstall

上述安装中包含了 llama-index-indices-managed-llama-cloud 包,但您也可以直接安装

pip install -U llama-index-indices-managed-llama-cloud

使用#

您可以使用以下代码在 LlamaCloud 上创建索引:

import os

os.environ[
    "LLAMA_CLOUD_API_KEY"
] = "llx-..."  # 可以在环境变量中提供 API 密钥,或稍后在构造函数中提供

from llama_index.core import SimpleDirectoryReader
from llama_index.indices.managed.llama_cloud import LlamaCloudIndex

# 创建新索引
index = LlamaCloudIndex.from_documents(
    documents,
    "my_first_index",
    project_name="default",
    api_key="llx-...",
    verbose=True,
)

# 连接到现有索引
index = LlamaCloudIndex("my_first_index", project_name="default")

您还可以配置托管检索的检索器:

# 从现有索引创建
index.as_retriever()

# 从头开始
from llama_index.indices.managed.llama_cloud import LlamaCloudRetriever

retriever = LlamaCloudRetriever("my_first_index", project_name="default")

当然,您也可以使用其他索引快捷方式来充分利用您的新托管索引:

query_engine = index.as_query_engine(llm=llm)

chat_engine = index.as_chat_engine(llm=llm)

检索器设置#

以下是检索器设置/关键字参数的完整列表:

  • dense_similarity_top_k: 可选[int] -- 如果大于 0,则使用密集检索检索 k 个节点
  • sparse_similarity_top_k: 可选[int] -- 如果大于 0,则使用稀疏检索检索 k 个节点
  • enable_reranking: 可选[bool] -- 是否启用重新排序。牺牲一些速度以换取准确性
  • rerank_top_n: 可选[int] -- 在重新排序初始检索结果后返回的节点数
  • alpha 可选[float] -- 密集检索和稀疏检索之间的加权。1 = 完全密集检索,0 = 完全稀疏检索。