- 从文件中提取文本的方法(PDF、PPT、DOCX 等)
- 提供最优性能的基于 ML 的分块。
- Boomerang 嵌入模型。
- 存储文本块和嵌入向量的内部向量数据库。
- 一个查询服务,自动将查询编码为嵌入向量,并检索最相关的文本段落,支持混合搜索以及多种重排序选项,如多语言相关性重排序器、MMR、UDF 重排序器。
- 一个 LLM,用于根据检索到的文档(上下文)创建生成式摘要,包括引用。
similarity_search 和 similarity_search_with_score 以及 LangChain 的 as_retriever 功能。
设置
要使用VectaraVectorStore,首先需要安装合作伙伴包。
入门指南
要开始使用,请按照以下步骤操作:- 如果还没有账号,请注册免费 Vectara 试用版。
- 在你的账户中,可以创建一个或多个语料库。每个语料库代表一个存储区域,用于存储从输入文档中提取的文本数据。要创建语料库,使用 “Create Corpus” 按钮,然后为语料库提供名称和描述。可选地,你可以定义过滤属性并应用一些高级选项。点击已创建的语料库,可以在顶部看到其名称和语料库 ID。
- 接下来,你需要创建 API 密钥来访问语料库。在语料库视图中点击 “Access Control” 选项卡,然后点击 “Create API Key” 按钮。为你的密钥命名,并选择仅查询还是查询+索引权限。点击”Create”,现在你有了一个活跃的 API 密钥。请妥善保管此密钥。
corpus_key 和 api_key。你可以通过两种方式向 LangChain 提供 VECTARA_API_KEY:
-
在环境中包含以下变量:
VECTARA_API_KEY。 例如,可以使用 os.environ 和 getpass 设置这些变量:
- 将它们添加到
Vectara向量存储构造器中:
Vectara RAG(检索增强生成)
现在我们创建一个VectaraQueryConfig 对象来控制检索和摘要选项:
- 我们启用摘要,指定希望 LLM 选取最匹配的前 7 个块并用英语响应
as_rag 方法创建一个封装完整 Vectara RAG 流水线的 LangChain Runnable 对象:
Vectara 聊天
在大多数使用 LangChain 创建聊天机器人的场景中,必须集成一个特殊的memory 组件来维护聊天会话历史,然后使用该历史确保聊天机器人了解对话历史。
借助 Vectara Chat,所有这些都由 Vectara 在后台自动处理。
Vectara 作为自查询检索器
Vectara 提供智能查询重写选项,通过从自然语言查询自动生成元数据过滤表达式来增强搜索精度。该功能分析用户查询,提取相关元数据过滤器,并重新表述查询以聚焦于核心信息需求。通过 MCP 将这些文档连接到 Claude、VSCode 等以获取实时答案。

