Skip to content
LlamaIndex 文档版本 跟随上游 源快照 92a95c78 更新于 2026-10-15

概念

挑选合适的大语言模型(LLM),是你在自己数据上构建任何 LLM 应用时最先要考虑的事之一。

LLM 是 LlamaIndex 的核心组件。它们既可以作为独立模块使用,也可以插到其他 LlamaIndex 核心模块(索引、检索器、查询引擎)里。在响应合成这一步(也就是检索之后)一定会用到 LLM。取决于所用的索引类型,索引构建、插入和查询遍历过程中也可能用到 LLM。

LlamaIndex 为定义 LLM 模块提供了统一接口——无论来自 OpenAI、Hugging Face 还是 LangChain——这样你就不必自己编写 LLM 接口那些样板代码。这个接口包含以下内容(细节见下文):

  • 同时支持文本补全与对话端点(细节见下文)
  • 同时支持流式与非流式端点
  • 同时支持同步与异步端点

使用方式

下面这段代码演示如何开始使用 LLM。

如果还没装,先安装你的 LLM:

pip install llama-index-llms-openai

然后:

from llama_index.core import Settings
from llama_index.llms.openai import OpenAI

# changing the global default
Settings.llm = OpenAI()

# local usage
resp = OpenAI().complete("Paul Graham is ")
print(resp)

# per-query/chat engine
query_engine = index.as_query_engine(..., llm=llm)
chat_engine = index.as_chat_engine(..., llm=llm)

更多细节见独立使用与自定义使用。

关于分词(Tokenization)的说明

默认情况下,LlamaIndex 用一个全局分词器来做所有 token 计数。它默认是 tiktoken 的 cl100k,与默认 LLM gpt-3.5-turbo 相匹配。

如果你更换了 LLM,就需要相应更新这个分词器,以保证 token 计数、分块和提示词都是准确的。

对分词器的唯一要求是:它是一个可调用函数,接受一个字符串,返回一个列表。

你可以像这样设置全局分词器:

from llama_index.core import Settings

# tiktoken
import tiktoken

Settings.tokenizer = tiktoken.encoding_for_model("gpt-3.5-turbo").encode

# huggingface
from transformers import AutoTokenizer

Settings.tokenizer = AutoTokenizer.from_pretrained(
    "HuggingFaceH4/zephyr-7b-beta"
)

模块

我们支持与 OpenAI、HuggingFace、Anthropic 等等的集成。

完整的模块清单见此处。

延伸阅读

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。