Skip to content

升级至 v0.10.0#

随着 LlamaIndex v0.10.0 的推出,有几个变化:

  • 集成现在需要单独进行 pip install(请参阅完整注册表
  • 许多导入发生了变化
  • ServiceContext 已被弃用

幸运的是,我们已经尽量让这些变化变得尽可能简单!

迁移导入#

选项 1:使用临时的旧版导入#

由于这是一个如此大的变化,我们还提供了一个 legacy 导入包,以便现有代码可以在最小影响的情况下迁移到 v0.10.0。

通过查找和替换,您可以将您的导入更新为:

from llama_index import VectorStoreIndex
from llama_index.llms import Ollama

...

变为:

from llama_index.legacy import VectorStoreIndex
from llama_index.legacy.llms import Ollama

...

选项 2:完全迁移#

为了帮助进行迁移,pip install llama-indexpip install llama-index-core 都配备了一个命令行工具,用于更新现有代码和笔记本。

注意: CLI 工具会直接更新文件。请确保您已经备份数据以便根据需要撤销任何更改。

安装完 v0.10.0 后,您可以自动升级现有的导入:

llamaindex-cli upgrade-file <file_path>
# 或者
llamaindex-cli upgrade <folder_path>

对于笔记本,会插入新的 pip install 语句并更新导入。

对于 .py.md 文件,导入语句也会被更新,并且新的要求会被打印到终端。

弃用的 ServiceContext#

除了导入的更改之外,现有的 ServiceContext 已经被弃用。虽然它将在有限的时间内得到支持,但设置相同选项的首选方法将是全局在 Settings 对象中或在使用特定模块的 API 中进行本地设置。

例如,之前您可能有:

from llama_index import ServiceContext, set_global_service_context

service_context = ServiceContext.from_defaults(
  llm=llm, embed_model=embed_model, chunk_size=512
)
set_global_service_context(service_context)

现在看起来是这样的:

from llama_index.core import Settings

Settings.llm = llm
Settings.embed_model = embed_model
Settings.chunk_size = 512

您可以查看 更多细节 中的 ServiceContext -> Settings 迁移指南。