跳至主要内容

Tigris

Tigris 是一个开源的无服务器 NoSQL 数据库和搜索平台,旨在简化构建高性能向量搜索应用程序。Tigris 消除了管理、操作和同步多个工具的基础设施复杂性,使您能够专注于构建出色的应用程序。

此笔记本指导您如何使用 Tigris 作为您的 VectorStore

先决条件

  1. 一个 OpenAI 帐户。您可以在 此处 注册帐户
  2. 注册免费的 Tigris 帐户。注册 Tigris 帐户后,创建一个名为 vectordemo 的新项目。接下来,记下您创建项目的区域的UriclientIdclientSecret。您可以在项目的“应用程序密钥”部分获取所有这些信息。

让我们首先安装我们的依赖项

%pip install --upgrade --quiet  tigrisdb openapi-schema-pydantic langchain-openai langchain-community tiktoken

我们将在环境中加载OpenAI api 密钥和Tigris 凭据

import getpass
import os

os.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API Key:")
os.environ["TIGRIS_PROJECT"] = getpass.getpass("Tigris Project Name:")
os.environ["TIGRIS_CLIENT_ID"] = getpass.getpass("Tigris Client Id:")
os.environ["TIGRIS_CLIENT_SECRET"] = getpass.getpass("Tigris Client Secret:")
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores import Tigris
from langchain_openai import OpenAIEmbeddings
from langchain_text_splitters import CharacterTextSplitter

初始化 Tigris 向量存储

让我们导入我们的测试数据集

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)

embeddings = OpenAIEmbeddings()
vector_store = Tigris.from_documents(docs, embeddings, index_name="my_embeddings")
query = "What did the president say about Ketanji Brown Jackson"
found_docs = vector_store.similarity_search(query)
print(found_docs)

带分数的相似性搜索(向量距离)

query = "What did the president say about Ketanji Brown Jackson"
result = vector_store.similarity_search_with_score(query)
for doc, score in result:
print(f"document={doc}, score={score}")

此页面是否有帮助?


您也可以留下详细的反馈 在 GitHub 上.