跳转到主要内容
LlamaIndex 是一个数据框架,用于在你自己的数据之上构建 RAG 管道、agent 和查询引擎。Venice 可作为 OpenAI 兼容的后端使用——将 OpenAILike LLM 和 embedding 客户端指向 Venice 的 base URL,其余 LlamaIndex API 照常使用即可。

前置条件

设置

安装 LlamaIndex 以及 OpenAI 兼容的 LLM 与 embedding 集成:
将 Venice API key 添加到环境变量:
不要将 API key 提交到源代码控制。生产环境请优先使用环境变量或密钥管理器。

将 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.llmSettings.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 应用

故障排查

确认运行你应用的进程中已设置 VENICE_API_KEY。修改环境变量后请重启 shell 或进程。
请使用模型页面中的当前 model ID。将 api_base 设置为 https://api.venice.ai/api/v1,不要带任何尾部路径——LlamaIndex 会自动追加 /chat/completions
对于非 OpenAI 的 model ID,OpenAILike 无法自动推断上下文窗口。请显式设置 context_window 以匹配你所使用的模型。
设置 is_function_calling_model=True,并选择支持函数调用的模型。请让工具的 docstring 保持准确——LlamaIndex 会依据函数签名和文档生成 JSON schema。

LlamaIndex 文档

Indexes、查询引擎、agent 与工作流

Venice 模型

浏览模型及其支持的能力