来源:互联网 更新时间:2026-07-16 11:32
先说一个基础设定:要跑通整个流程,我们需要两类模型。一类是LLM,也就是负责生成内容的大语言模型;另一类是embedding model,也就是能把文本语义映射成向量表示的嵌入模型。这两个角色缺一不可,一个负责理解并输出最终答案,另一个负责把文档内容做成可检索的“索引地图”。
LlamaIndex 在默认配置下,直接牵的是 OpenAI 的 LLM 和嵌入模型。所以,第一步很直白:先准备好一个 OpenAI 的 API key。
import os
os.environ["OPENAI_API_BASE"] = "https://example.com/v1"
os.environ["OPENAI_API_KEY"] = "sk-example-key"
代码里把环境变量设好,整个框架就知道该去哪调用模型了。
密钥搞定,下一步就是加载文档并建立索引。这一步其实很简洁:
from llama_index.core import (
VectorStoreIndex,
SimpleDirectoryReader,
)
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
这里用了一个便捷工具 SimpleDirectoryReader,它会把指定目录下所有文档一股脑全扫描进来。我们的目录结构很简单,就是在 ./data 文件夹里放了一份《中国航天发展简史》。

索引建好之后,就可以生成一个查询引擎,然后直接提问了。整个过程走一遍,你会发现在这个例子中,所有问题都会严格从《中国航天发展简史》那本书里找答案。
我们拿原文中的一段话来验证一下:

看,答案确实是对的。LLM 根据我们问的问题和检索到的那段信息,做了点简单的推理,然后生成了一个合情合理的回答。反过来,如果不加这些检索来的上下文,直接扔给 OpenAI 的 ChatGPT 3.5,它给出的回复就完全是另一回事了。

如果你好奇查询引擎在后台是怎么工作的,可以在代码文件开头加上这几行:
import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
把日志级别设成 logging.INFO,打印出来的信息就会少一点,更清晰。
索引本质上是一系列表示文本语义的嵌入向量。默认情况下这些东西全在内存里,程序一关就没了。所以,我们可以把它持久化到磁盘:
index.storage_context.persist(persist_dir="./storage")
执行之后,就会生成一个 storage 目录,里面存着索引数据。
这时候,代码的逻辑就可以优化一下:

考虑到费用、网络环境、数据隐私这些现实问题,我们很可能需要换一套本地开源的方案。这里把默认的嵌入模型换成 BGE 的中文版,LLM 换成 Meta 开源的 Llama2-chat-13B 的中文版:
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.llama_cpp import LlamaCPP
from llama_index.core import Settings
embed_model = HuggingFaceEmbedding(
model_name="../models/BAAI/bge-large-zh-v1.5",
query_instruction="为这个句子生成表示以用于检索相关文章:"
)
Settings.embed_model = embed_model
llm = LlamaCPP(
model_path="../models/Llama/chinese-alpaca-2-13b-q8_0.gguf"
)
Settings.llm = llm
通过 Settings 设置好全局的嵌入模型和 LLM,然后重新建立索引,再问同一个问题。结果怎样呢?

虽然回复质量不够亮眼,但至少答案是准确的。注意,要在本地跑起 Llama2 13B 模型,内存至少 32GB 起步。至于 GPU,有它反赌,没它就慢一点,倒也不是非用不可。
币安Binance官方中文网站 币安App最新版下载及新手注册指南
七麦数据官网网页地址 七麦数据官方入口在线首页
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
问卷星官方网站入口地址 问卷星网页版在线使用
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
Siren (SIREN)币价格预测 2026-2050:SIREN 股价会很快达到 1.5 美元吗?
动漫《KiraKira 光之美少女 A La Mode》剧情介绍
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
以太坊(ETH)未来数周或持续呈现低迷态势,多重因素制约价格走势
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
花的网名大全男生古风(精选100个)
币安Binance交易所官方入口 币安App下载安装与实名注册教程
Pharos(PROS)币是什么?如何参与?PROS币代币经济学和参与指南
比特币(BTC)与黄金在英国相遇:21Shares将BOLD基金引入伦敦
迷你网名古风男生霸气(精选100个)
新手如何购买比特币?2026年新手在币安购买比特币的完整教程
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc