探索Vectara的自查询功能:为您的数据构建智能AI助手

125 阅读2分钟

引言

在当今数据驱动的世界中,企业需要能够快速、有效地从庞大的信息中获取有意义的见解。Vectara 提供了一个可信赖的生成式 AI 平台,让企业能够利用自己的数据和文件迅速建立 ChatGPT 风格的 AI 助手。本文将探讨如何使用 Vectara 提供的自查询检索功能来增强数据的可用性和重要性。

主要内容

什么是Vectara的自查询功能?

Vectara 提供了无服务器的检索增强生成(RAG)服务,通过易于使用的 API,将文件中的文本提取、ML 分块、embedding模型、查询服务和生成性摘要整合为一个完整的解决方案。

自查询检索器的核心特性

自查询检索器允许用户指定查询和过滤条件,并返回最相关的文本片段。它利用向量数据库存储文本和向量,通过 LLM(如 OpenAI)生成简要的概述。

如何开始

  1. 注册并创建语料库:在 Vectara 注册账户并创建一个或多个语料库来存储文本数据。
  2. 创建API密钥:为语料库生成API密钥,以便与LangChain等工具集成。
  3. 配置环境变量:将 VECTARA_CUSTOMER_ID、VECTARA_CORPUS_ID 和 VECTARA_API_KEY 环境变量配置到系统中。

代码示例

import os
import getpass
from langchain.chains.query_constructor.base import AttributeInfo
from langchain.retrievers.self_query.base import SelfQueryRetriever
from langchain.schema import Document
from langchain_community.vectorstores import Vectara
from langchain_openai.chat_models import ChatOpenAI

# 使用API代理服务提高访问稳定性
os.environ["VECTARA_API_KEY"] = "<YOUR_VECTARA_API_KEY>"
os.environ["VECTARA_CORPUS_ID"] = "<YOUR_VECTARA_CORPUS_ID>"
os.environ["VECTARA_CUSTOMER_ID"] = "<YOUR_VECTARA_CUSTOMER_ID>"

docs = [
    Document(page_content="A bunch of scientists bring back dinosaurs and mayhem breaks loose",
             metadata={"year": 1993, "rating": 7.7, "genre": "science fiction"}),
    # 更多Document对象...
]

vectara = Vectara()
for doc in docs:
    vectara.add_texts([doc.page_content], doc_metadata=doc.metadata)

metadata_field_info = [
    AttributeInfo(name="genre", description="The genre of the movie", type="string or list[string]"),
    # 更多AttributeInfo对象...
]
document_content_description = "Brief summary of a movie"
llm = ChatOpenAI(temperature=0, model="gpt-4o", max_tokens=4069)
retriever = SelfQueryRetriever.from_llm(
    llm, vectara, document_content_description, metadata_field_info, verbose=True
)

retriever.invoke("What are movies about scientists")

常见问题和解决方案

  • API访问问题:由于网络限制,建议使用API代理服务提高访问稳定性。
  • 元数据匹配不准确:确保在语料库定义中正确设置过滤属性。

总结和进一步学习资源

Vectara 的自查询功能提供了一种强大的方式来使用企业数据构建智能 AI 助手。通过正确的设置和环境配置,您可以利用 Vectara 强大的检索和生成能力,为您的业务提供无价的见解。

进一步学习资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---