Skip to main content
AwaDB 是一个 AI 原生数据库,专为 LLM 应用中嵌入向量的搜索与存储而设计。
使用此集成需要通过 pip install -qU langchain-community 安装 langchain-community 本 notebook 展示了如何使用 AwaDB 的相关功能。
pip install -qU  awadb
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores import AwaDB
from langchain_text_splitters import CharacterTextSplitter
loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
db = AwaDB.from_documents(docs)
query = "What did the president say about Ketanji Brown Jackson"
docs = db.similarity_search(query)
print(docs[0].page_content)
And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation's top legal minds, who will continue Justice Breyer's legacy of excellence.

带分数的相似度搜索

返回的距离分数在 0 到 1 之间,0 表示完全不相似,1 表示最相似。
docs = db.similarity_search_with_score(query)
print(docs[0])
(Document(page_content='And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation's top legal minds, who will continue Justice Breyer's legacy of excellence.', metadata={'source': '../../how_to/state_of_the_union.txt'}), 0.561813814013747)

恢复之前创建并添加数据的表

AwaDB 会自动持久化已添加的文档数据。 如果您需要恢复之前创建并添加了数据的表,只需按如下方式操作:
import awadb

awadb_client = awadb.Client()
ret = awadb_client.Load("langchain_awadb")
if ret:
    print("awadb load table success")
else:
    print("awadb load table failed")
awadb load table success