配置 LlamaIndex OpenAILike 与模型能力
LlamaIndex 是在自有文档上做 RAG 与 agent 的数据框架,回答一个问题往往会触发多次 LLM 调用——合成答案、拆子问题、重排、agent 步骤。它的 OpenAILike 类能对接任何 OpenAI 兼容端点,指向 Router One 后,改一个 model 字符串就能在 GPT、Claude、Gemini、Grok 系列之间切换——网关在大陆可直连,支付宝或银行卡即可充值;索引管线里的每一次调用在网关侧都有成本 Trace,不用自己加 callback。
把 LlamaIndex 配置到 Router One base URL
安装 llama-index-llms-openai-like,用网关 base URL、你的 Key 和支持 Chat Completions 的精确模型 ID 构造 OpenAILike。is_chat_model 设为 True,context_window 填该模型详情页的上下文窗口。这里的文本示例保留 is_function_calling_model=False;确认模型及端点支持工具调用后再改为 True。把实例设为 Settings.llm,或传给索引和查询引擎:
# pip install llama-index llama-index-llms-openai-like
from llama_index.core import Settings
from llama_index.llms.openai_like import OpenAILike
Settings.llm = OpenAILike(
model="<model-id-from-/models>",
api_base="https://api.router.one/v1",
api_key="sk-your-router-one-key",
is_chat_model=True,
is_function_calling_model=False, # enable only after checking tool support
context_window=200000, # copy the window shown on /models
)
print(Settings.llm.complete("Hello!"))LlamaIndex 该填哪个模型 ID?
从 /models 页复制精确的模型 ID,保留大小写、连字符和版本后缀,不要用展示名称代替。打开该模型的详情页,核对支持的 API 端点、上下文窗口和工具调用等能力,再与 LlamaIndex 当前选择的 provider 和功能对应。模型出现在目录里,不等于当前客户端能调用它的所有功能。建议为每个工具单独建 API Key,并设置 maxSpend 消费上限。
LlamaIndex 用的是哪种 API 协议?
OpenAI 兼容描述的是接口格式,不能据此推断 Chat Completions(/v1/chat/completions)、Responses(/v1/responses)和 Anthropic Messages(/v1/messages)可以互换。先核对工具当前版本、provider 配置和实际请求路径,再查模型详情与 API 兼容性事实页。一次普通对话成功,也不能证明服务端工具、历史状态或文件编辑功能都受支持。
在 trace 里验证 LlamaIndex 的调用
先在 LlamaIndex 发出一次简单文本请求,再到 Dashboard → Logs 按时间、模型和 request_id 核对 trace:tokens、花费、延迟和状态码。成功后再分别验证流式输出、工具调用和多轮历史。失败时保留实际请求路径、完整错误消息及 request_id;没有对应日志时,先查客户端配置和网络,不能仅凭客户端报错认定是网关或上游故障。
常见问题
为什么用 OpenAILike,而不是 OpenAI 类加 api_base?
因为 OpenAI 类会拿模型名去对照 OpenAI 自家的模型清单推断上下文大小,清单之外的名字——包括目录里所有非 GPT 模型 ID——一旦需要读取模型元数据就会抛出 ValueError: Unknown model。OpenAILike 是文档给 OpenAI 兼容端点的正规路线:跳过这层查表,模型元数据完全来自你传入的参数,所以 is_chat_model 和 context_window 要显式设置。
TypeScript 版怎么配?
LlamaIndex.TS 里 @llamaindex/openai 的 OpenAI 类构造函数直接接受 baseURL 和 apiKey——new OpenAI({ model, apiKey, baseURL }) 填网关地址即可,也可以在环境变量里设 OPENAI_BASE_URL 和 OPENAI_API_KEY。设为 Settings.llm 之后,同样靠改 model 字符串切换模型。
LlamaIndex 能通过网关用哪些模型?
选用当前目录中同时支持 LlamaIndex 所用端点和所需功能的模型。精确 ID、当前单价与能力以 /models 及模型详情为准;不要仅按 GPT、Claude 等系列名判断兼容性。客户端能列出模型,只证明模型发现成功,仍需验证实际调用。
能列出模型,但调用报 400 或 404,怎么办?
先记录实际请求路径和错误消息,再核对精确模型 ID。400 可能是参数、工具类型或模型与端点不匹配;404 可能是请求路径或资源不存在,不能直接判定模型下线。若错误提示 must be called via,按它指明的端点调整客户端 provider,或换用支持当前端点的模型。不要在所有工具里统一增删 /v1 或 /chat/completions。
中国大陆能直连吗?
能。网关在大陆可直连、无需 VPN,配置与全球环境完全一致。
报 401/402/403/429 怎么排查?
先到 Dashboard → Logs 核对请求及错误消息。401 查 Key 是否传入和有效;402 查钱包余额与 maxSpend;403 查 Key 权限和访问限制;429 查请求频率、token 限额及上游限流,按错误来源处理。保留 request_id,再按错误码速查页逐项排查。