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