集成指南
在 LlamaIndex 中使用
LlamaIndex 用 OpenAILike 接入土土金 API 的对话模型、用 OpenAIEmbedding 接入向量模型,api_base 设为 https://open.tutujin.com/v1,再交给 VectorStoreIndex 做文档问答。含完整 Python 示例。
LlamaIndex 接入土土金 API 用两个类:对话模型用 OpenAILike(任何模型名都能用),向量模型用 OpenAIEmbedding。两者的 api_base 都设为 https://open.tutujin.com/v1,api_key 用土土金的 Key,然后设成全局默认,就能直接搭文档问答。
安装
cURL
pip install llama-index llama-index-llms-openai-like llama-index-embeddings-openai配置对话模型
LlamaIndex 自带的 OpenAI 类会校验模型名,只认 OpenAI 的模型。调用 DeepSeek、Claude、通义千问等模型时用 OpenAILike:
Python
import os
from llama_index.llms.openai_like import OpenAILike
llm = OpenAILike(
model="deepseek-v4.1-flash",
api_base="https://open.tutujin.com/v1",
api_key=os.environ["TUTUJIN_API_KEY"],
is_chat_model=True,
timeout=60,
)
print(llm.complete("用一句话解释什么是检索增强生成。"))is_chat_model=True 让它走 Chat Completions 接口。OpenAILike 默认的上下文窗口参数 context_window 比较保守,处理长文档时按所选模型官方公布的上限设置。
配置向量模型
Python
from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding(
model_name="text-embedding-3-small",
api_base="https://open.tutujin.com/v1",
api_key=os.environ["TUTUJIN_API_KEY"],
)
vector = embed_model.get_text_embedding("退货政策是什么?")
print(len(vector))搭一个文档问答
Python
from llama_index.core import Settings, SimpleDirectoryReader, VectorStoreIndex
Settings.llm = llm
Settings.embed_model = embed_model
documents = SimpleDirectoryReader("./docs").load_data() # 你的 PDF、Word、Markdown 等
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine(similarity_top_k=5)
print(query_engine.query("员工报销需要哪些材料?"))建索引时每个文本块都会调用一次向量接口,按向量模型的价格计费;之后每次提问调用一次向量接口和一次对话接口。费用怎么估算,见企业知识库与 RAG 里的成本表。
流式输出
Python
query_engine = index.as_query_engine(streaming=True)
response = query_engine.query("总结一下差旅制度的要点")
response.print_response_stream()常见问题
| 现象 | 原因与处理 |
|---|---|
| 报错提示未知的模型名 | 用了 LlamaIndex 的 OpenAI 类,换成 OpenAILike |
| 404 | api_base 要带 /v1,应为 https://open.tutujin.com/v1 |
| 回答被截断或长文档出错 | 调大 context_window、max_tokens,或减少 similarity_top_k |
503 并提示 model_not_found | Key 所在分组没有这个模型,见选择分组 |
没找到答案?加客服微信 JsnonoChat,发送报错信息里的 request id,我们帮你排查。