AwaDB(Awa数据库)

AwaDBopen in new window 是用于搜索和存储由LLM应用程序使用的嵌入向量的AI原生数据库。本文档展示了如何使用与AwaDB相关的功能。

!pip install awadb
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import AwaDB
from langchain.document_loaders import TextLoader
loader = TextLoader('../../../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)

我在4天前提名了巡回上诉法院法官Ketanji Brown Jackson。她是我们国家顶尖的法律专家之一,将继续延续布雷耶尔大法官卓越的传统。

带有相似度得分的相似性搜索

返回的距离得分介于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': '../../../state_of_the_union.txt'}), 0.561813814013747)

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

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
Last Updated:
Contributors: 刘强