45.llama_index-全局配置(Settings)

内容参考于:图灵AI大模型全栈

llamaIndex中有一个全局配置,当我们没有指定模型的时候它会使用全局配置中设置的模型

效果图:

代码

python 复制代码
# 导入 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(
    model='qwen2.5:7b',      # 指定本地运行的模型名称
    request_timeout=120,         # 请求超时时间,单位秒
                                 # 强烈建议调大:本地模型生成速度慢,默认超时短很容易中途报错
)

# ========== 全局配置嵌入模型 ==========
# 把初始化好的本地嵌入模型赋值给 Settings.embed_model
# 效果:全局生效,之后文档入库生成向量、查询生成问题向量,都会自动用这个模型
# 保证入库和查询用的是同一个嵌入模型,向量维度一致,检索不会出问题
Settings.embed_model = HuggingFaceEmbedding(
    # 本地模型文件路径,指向提前下载好的 bge-m3 模型文件夹
    model_name=r"D:\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)

相关推荐
俊俊谢15 小时前
LLaMA-Factory 部署与 DeepSeek-R1-Distill-Qwen 模型乱码问题解决全记录
机器学习·大模型·llama·qwen·llama-factory·deepseek·hugging-face
pW3g3lLuu1 天前
大模型学习8上-推理部署框架llama.cpp与Ollama使用指北
学习·llama
owCode1 天前
Windows RX6500XT(gfx1034) Ollama AMD ROCm 完整安装教程
语言模型·chatgpt·github·llama·gpu算力
染指11101 天前
44.llama_index-向量模型的使用(在线和本地)
llama·llama_index
协享科技1 天前
源模型本地部署实战:Llama 3 - Qwen 2.5 - DeepSeek Coder V2 在 RTX 4070 上的完整对比
人工智能·ai编程·llama·编程人生
武子康7 天前
调查研究-200 llama.cpp b9754:一次很小但很关键的 Agent 工具调用修复
人工智能·agent·llama
AI小百科18 天前
llama.cpp vs vLLM:深度解析与选型指南
llama·vllm
下班走回家19 天前
本地部署大模型的三种方式:Ollama vs vLLM vs llama.cpp
人工智能·llama·vllm