LlamaIndex 接入
LlamaIndex 的 OpenAILike 类支持任意 OpenAI 兼容端点——指向 Router 即可让 RAG 应用走路由层。
- 协议:OpenAI Chat Completions
- 接入地址:
https://routerapi.<你的域名>/v1
准备工作
- 登录 Router 控制台,签发一个 Key 并保存明文
- 在控制台「快速接入」页记下 OpenAI Chat Completions 协议的接入地址
安装
bash
pip install llama-index-llms-openai-like示例
python
import os
from llama_index.llms.openai_like import OpenAILike
llm = OpenAILike(
model="<模型名>",
api_base="https://routerapi.<你的域名>/v1",
api_key=os.environ["ROUTER_API_KEY"],
is_chat_model=True,
)
resp = llm.complete("你好")
print(resp.text)建议把 Key 放在环境变量 ROUTER_API_KEY 中,不要写进代码。
在 RAG 管道中使用
python
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
Settings.llm = llm # 全局默认走 Router
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
print(index.as_query_engine().query("总结一下文档要点"))Settings.llm 设为上面的 llm 后,索引构建与查询中的全部 LLM 调用都经过 Router(计量、容灾自动生效)。
注意:向量索引还需要 embedding 模型。若服务提供方未开放 embedding 端点,请用本地 embedding(如
HuggingFaceEmbedding)或单独申请。
常见问题
Q:报「not a chat model」类错误? 确认创建时带了 is_chat_model=True。
Q:想逐 token 流式输出? 用 llm.stream_complete(...) 或在查询引擎上开启 streaming;Router 数据面对 SSE 不做缓冲,token 逐块到达。