跳到主要内容
Typesense 是一个开源的内存搜索引擎,你可以自行托管或在 Typesense Cloud 上运行。 Typesense 通过将整个索引存储在 RAM 中(并在磁盘上备份)来专注于性能,并通过简化可用选项和设置良好的默认值来专注于提供开箱即用的开发人员体验。 它还允许你将基于属性的过滤与向量查询相结合,以获取最相关的文档。
本笔记本演示了如何将 Typesense 用作你的 VectorStore。 首先,让我们安装依赖项:
pip install -qU  typesense openapi-schema-pydantic langchain-openai langchain-community tiktoken
我们希望使用OpenAIEmbeddings,所以我们必须获取OpenAI API密钥。
import getpass
import os

if "OPENAI_API_KEY" not in os.environ:
    os.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API Key:")
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores import Typesense
from langchain_openai import OpenAIEmbeddings
from langchain_text_splitters import CharacterTextSplitter
让我们导入测试数据集
loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

embeddings = OpenAIEmbeddings()
docsearch = Typesense.from_documents(
    docs,
    embeddings,
    typesense_client_params={
        "host": "localhost",  # Use xxx.a1.typesense.net for Typesense Cloud
        "port": "8108",  # Use 443 for Typesense Cloud
        "protocol": "http",  # Use https for Typesense Cloud
        "typesense_api_key": "xyz",
        "typesense_collection_name": "lang-chain",
    },
)
query = "What did the president say about Ketanji Brown Jackson"
found_docs = docsearch.similarity_search(query)
print(found_docs[0].page_content)

Typesense 作为检索器

Typesense,与其他所有向量存储一样,是一个使用余弦相似度的 LangChain 检索器。
retriever = docsearch.as_retriever()
retriever
query = "What did the president say about Ketanji Brown Jackson"
retriever.invoke(query)[0]

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.