跳到主要内容
百度云向量搜索是一种完全托管的企业级分布式搜索和分析服务,与开源产品100%兼容。百度云向量搜索为结构化/非结构化数据提供低成本、高性能、可靠的检索和分析平台级产品服务。作为向量数据库,它支持多种索引类型和相似度距离方法。
百度云 ElasticSearch 提供权限管理机制,您可以自由配置集群权限,进一步保障数据安全。
本笔记本展示了如何使用与 百度云 ElasticSearch 向量存储 相关的功能。要运行,您应该有一个正常运行的 百度云 ElasticSearch 实例: 阅读帮助文档以快速熟悉和配置百度云 ElasticSearch 实例。 实例启动并运行后,请按照以下步骤分割文档、获取嵌入、连接到百度云 ElasticSearch 实例、索引文档并执行向量检索。 我们首先需要安装以下 Python 包。
pip install -qU langchain-community elasticsearch == 7.11.0
首先,我们想使用 QianfanEmbeddings,所以我们必须获取 Qianfan 的 AK 和 SK。QianFan 的详细信息与 百度千帆大模型平台 相关。
import getpass
import os

if "QIANFAN_AK" not in os.environ:
    os.environ["QIANFAN_AK"] = getpass.getpass("Your Qianfan AK:")
if "QIANFAN_SK" not in os.environ:
    os.environ["QIANFAN_SK"] = getpass.getpass("Your Qianfan SK:")
其次,分割文档并获取嵌入。
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter

loader = TextLoader("../../../state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

from langchain_community.embeddings import QianfanEmbeddingsEndpoint

embeddings = QianfanEmbeddingsEndpoint()
然后,创建一个百度 ElasticSearch 可访问实例。
# Create a bes instance and index docs.
from langchain_community.vectorstores import BESVectorStore

bes = BESVectorStore.from_documents(
    documents=docs,
    embedding=embeddings,
    bes_url="your bes cluster url",
    index_name="your vector index",
)
bes.client.indices.refresh(index="your vector index")
最后,查询并检索数据。
query = "What did the president say about Ketanji Brown Jackson"
docs = bes.similarity_search(query)
print(docs[0].page_content)
如果您在使用过程中遇到任何问题,请随时联系 liuboyao@baidu.comchenweixu01@baidu.com,我们将尽力为您提供支持。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.