Baidu VectorDB (百度向量資料庫)
百度向量資料庫 (Baidu VectorDB) 是一款強大、企業級的分散式資料庫服務,由百度智能雲精心開發和完全託管。 它以其卓越的儲存、檢索和分析多維向量資料的能力而著稱。VectorDB 的核心是百度專有的「Mochow」向量資料庫核心,它確保了高效能、高可用性和安全性,以及卓越的可擴展性和使用者友善性。
此資料庫服務支援各種索引類型和相似度計算方法,可滿足各種使用案例。 VectorDB 的一個突出特點是它能夠管理高達 100 億的龐大向量規模,同時保持令人印象深刻的查詢效能,支援每秒數百萬次查詢 (QPS),且查詢延遲在毫秒級別。
您需要安裝 langchain-community
,使用 pip install -qU langchain-community
才能使用此整合。
此筆記本展示如何使用與百度向量資料庫相關的功能。
要執行此筆記本,您應該擁有一個 資料庫執行個體 (Database instance)。
!pip3 install pymochow
from langchain_community.document_loaders import TextLoader
from langchain_community.embeddings.fake import FakeEmbeddings
from langchain_community.vectorstores import BaiduVectorDB
from langchain_community.vectorstores.baiduvectordb import ConnectionParams
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 = FakeEmbeddings(size=128)
conn_params = ConnectionParams(
endpoint="http://192.168.xx.xx:xxxx", account="root", api_key="****"
)
vector_db = BaiduVectorDB.from_documents(
docs, embeddings, connection_params=conn_params, drop_old=True
)
query = "What did the president say about Ketanji Brown Jackson"
docs = vector_db.similarity_search(query)
docs[0].page_content
vector_db = BaiduVectorDB(embeddings, conn_params)
vector_db.add_texts(["Ankush went to Princeton"])
query = "Where did Ankush go to college?"
docs = vector_db.max_marginal_relevance_search(query)
docs[0].page_content