45.llama_index-全局配置(Settings)
内容参考于图灵AI大模型全栈llamaIndex中有一个全局配置当我们没有指定模型的时候它会使用全局配置中设置的模型效果图代码# 导入 LlamaIndex 的全局配置对象 Settings # 核心作用LlamaIndex 的全局单例配置中心统一管理大模型、嵌入模型、文本切分等全局参数 # 设计逻辑一次配置后后续所有组件索引、查询引擎、文档加载器等都会自动复用这里的配置 # 不用每个组件都单独初始化模型避免重复加载、代码冗余切换模型也只需要改一处 from llama_index.core import Settings # 导入 Ollama 本地大模型适配类 from llama_index.llms.ollama import Ollama # 导入 HuggingFace 本地嵌入模型适配类 from llama_index.embeddings.huggingface import HuggingFaceEmbedding # 全局配置大模型 # 把初始化好的 Ollama 模型赋值给 Settings.llm # 效果全局生效之后所有需要调用大模型的地方生成回答、总结、提取等都会自动用这个模型 # 不用再给每个组件单独传 llm 参数代码更简洁配置统一 Settings.llm Ollama( modelqwen2.5:7b, # 指定本地运行的模型名称 request_timeout120, # 请求超时时间单位秒 # 强烈建议调大本地模型生成速度慢默认超时短很容易中途报错 ) # 全局配置嵌入模型 # 把初始化好的本地嵌入模型赋值给 Settings.embed_model # 效果全局生效之后文档入库生成向量、查询生成问题向量都会自动用这个模型 # 保证入库和查询用的是同一个嵌入模型向量维度一致检索不会出问题 Settings.embed_model HuggingFaceEmbedding( # 本地模型文件路径指向提前下载好的 bge-m3 模型文件夹 model_namerD:\huanjing\ai模型\BAAI\bge-m3, ) # 测试调用全局大模型 # 直接通过 Settings.llm 调用大模型验证全局配置是否生效 # complete 是单轮补全接口输入文本直接返回回答 response Settings.llm.complete(你好) # 取回答的纯文本内容并打印 print(response.text) # 测试调用全局嵌入模型 # 直接通过 Settings.embed_model 生成查询向量验证嵌入模型配置是否生效 embedding Settings.embed_model.get_query_embedding(你好) # 打印生成的向量数组 print(embedding)