Epsilla
Epsilla 是一個開源向量資料庫,利用先進的並行圖遍歷技術進行向量索引。Epsilla 採用 GPL-3.0 授權。
您需要使用 pip install -qU langchain-community
安裝 langchain-community
才能使用此整合。
本筆記本展示如何使用與 Epsilla
向量資料庫相關的功能。
作為先決條件,您需要有一個正在運行的 Epsilla 向量資料庫(例如,透過我們的 docker 映像檔),並且安裝 pyepsilla
套件。請參閱 文件 以取得完整說明。
!pip/pip3 install pyepsilla
我們想要使用 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:")
OpenAI API 金鑰:········
from langchain_community.vectorstores import Epsilla
from langchain_openai import OpenAIEmbeddings
API 參考:Epsilla | OpenAIEmbeddings
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter
loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()
documents = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0).split_documents(
documents
)
embeddings = OpenAIEmbeddings()
API 參考:TextLoader | CharacterTextSplitter
Epsilla vectordb 正在使用預設主機 "localhost" 和埠 "8888" 運行。 我們有一個自訂的 db 路徑、db 名稱和集合名稱,而不是預設的那些。
from pyepsilla import vectordb
client = vectordb.Client()
vector_store = Epsilla.from_documents(
documents,
embeddings,
client,
db_path="/tmp/mypath",
db_name="MyDB",
collection_name="MyCollection",
)
query = "What did the president say about Ketanji Brown Jackson"
docs = vector_store.similarity_search(query)
print(docs[0].page_content)
在一個又一個的州,新的法律已經通過,不僅壓制投票,而且顛覆整個選舉。
我們不能讓這種事發生。
今晚。 我呼籲參議院:通過《投票自由法案》。 通過《約翰·路易斯投票權法案》。 當你們這樣做的時候,通過《披露法案》,以便美國人民可以知道誰在資助我們的選舉。
今晚,我想向一位將一生奉獻給這個國家的人致敬:史蒂芬·布雷耶大法官——一位陸軍退伍軍人、憲法學者,以及即將卸任的美國最高法院大法官。 布雷耶大法官,感謝您的服務。
總統最重要的憲法責任之一是提名某人擔任美國最高法院的大法官。
我在 4 天前這樣做了,當時我提名了巡迴上訴法院法官凱坦吉·布朗·傑克遜。 我們國家最傑出的法律人才之一,他將延續布雷耶大法官的卓越遺產。