OpenAILike LLM 和 embedding 客户端指向 Venice 的 base URL,其余 LlamaIndex API 照常使用即可。
前置条件
- Python 3.9 或更高版本
- 一个 Venice API key
设置
安装 LlamaIndex 以及 OpenAI 兼容的 LLM 与 embedding 集成:将 Venice 配置为 LLM
Venice 使用 OpenAI Chat Completions API。使用OpenAILike 配合 Venice 的 base URL,并设置 is_chat_model=True:
根据你选择的模型设置
context_window——对于非 OpenAI 的 model ID,OpenAILike 无法自动推断。仅对支持函数调用的模型设置 is_function_calling_model=True。聊天消息
流式
使用 Settings 设置全局默认值
通过Settings 一次性设置 Venice 模型,之后每个 index、查询引擎和 agent 都会使用它们:
Embeddings
RAG 管道
在你的文档之上构建一个检索增强型查询引擎。此示例使用上文配置的Settings.llm 和 Settings.embed_model:
SimpleDirectoryReader:
Agent 与工具
使用FunctionAgent 为 Venice 模型提供工具访问能力。请选择支持函数调用的模型:
结构化输出
使用as_structured_llm 包装 LLM,可根据 Pydantic 模型对最终答案进行校验:
Venice 专属参数
通过additional_kwargs 中的 extra_body 传递 Venice 独有的选项。例如,使用 venice_parameters 启用内置 web 搜索:
extra_body:
venice_parameters 列表(web 抓取、引用、角色、思考控制以及 E2EE 开关),请参见 API 规范。
推荐模型
Model ID 会随时间变化——请通过
GET /models 或模型概览确认当前的 ID。
隐私优势
LlamaIndex 通常用于在私有文档、内部知识库以及用户数据之上构建 RAG 系统。将其与 Venice 搭配可保持整个管道运行在私密、无审查的推理之上:- 零数据保留 的私有模型——请求结束后不会保留提示词、检索到的片段以及工具调用内容
- 无审查分析,用于处理会触发其他厂商过滤器的数据或问题
- OpenAI 兼容的底层管线,只需将 LLM 与 embedding 客户端替换为
OpenAILike,即可迁移现有的 LlamaIndex 应用
故障排查
找不到模型或端点错误异常
找不到模型或端点错误异常
请使用模型页面中的当前 model ID。将
api_base 设置为 https://api.venice.ai/api/v1,不要带任何尾部路径——LlamaIndex 会自动追加 /chat/completions。上下文窗口或 token 错误
上下文窗口或 token 错误
对于非 OpenAI 的 model ID,
OpenAILike 无法自动推断上下文窗口。请显式设置 context_window 以匹配你所使用的模型。工具被忽略
工具被忽略
设置
is_function_calling_model=True,并选择支持函数调用的模型。请让工具的 docstring 保持准确——LlamaIndex 会依据函数签名和文档生成 JSON schema。LlamaIndex 文档
Indexes、查询引擎、agent 与工作流
Venice 模型
浏览模型及其支持的能力