升级至 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-index
和 pip 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
迁移指南。