柚子快報激活碼778899分享:向量嵌入 ChromaDB教程
柚子快報激活碼778899分享:向量嵌入 ChromaDB教程
前言
在上一篇(快捷入口)文章中,博主提到了一個向量存儲,其中用到了Chroma數(shù)據(jù)庫。代碼示例如下:
vectordb = Chroma.from_documents(
documents=docs,
embedding=embedding,
persist_directory=vector_dir
)
這是基于langchain框架的寫法,拋棄框架而言,ChromaDB只需要幾個關(guān)鍵要素:
文檔 即待存儲的數(shù)據(jù)嵌入模型 指定嵌入(embedding)的算法,即模型存儲目錄 即確認存儲的路徑
那么,博主順勢帶著各位看看,如何在不使用大模型框架的前提下,掌握ChromaDB的使用,就像你用jdbcDriver那么簡單。
Q:如何掌握Chromadb
1. 簡介
Chroma is the AI-native open-source vector database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.
一句話總結(jié):Chroma是一款AI原生開源的矢量(或向量)數(shù)據(jù)庫。它很容易構(gòu)建大模型應用需要的數(shù)據(jù)(包括知識、實踐等)。
接下來,請跟著博主聚焦下面這張圖,這是Chroma的工作原理:
2. 用途
通過上圖,我們可以獲得它的幾個用途:
序號用途1存儲嵌入數(shù)據(jù)(store embeddings and their metadata)2文本嵌入(embed documents and queries)3搜索(search embeddings)
3. 安裝chroma
接下來,我們可以安裝Chroma了,首先看看依賴的環(huán)境吧,這非常重要!
3.1 依賴環(huán)境
序號依賴環(huán)境版本號1python3.12.42chromadb0.5.3(最新版)3langchain_community0.3.0(最新版)4langchain-text-splitters0.3.0(最新版)5LibreOffice24.8
3.2 安裝
通過以下命令安裝chroma(使用清華的庫):
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple chromadb
在Pycharm中,可以通過當前project-setting查看chroma模塊是否已存在:
如上圖所示,代表成功。下面可以愉快的使用了。
4. 體驗
4.1 示例運行
如果你想直接通過chroma完成存儲,可以參考以下示例,可直接運行:
import chromadb
# 定義持久化目錄
chroma_client = chromadb.PersistentClient(path="絕對路徑")
# 新建一個collection并指定name且name唯一
collection = chroma_client.create_collection(name="chroma_local_db05")
# 添加document
collection.add(
documents=["天壇", "月餅"],
metadatas=[{"source": "d1"}, {"source": "d2"}],
ids=["1", "2"],
)
# 檢索
results = collection.query(
query_texts=["哪個是景點"],
n_results=2
)
print(f'運行結(jié)果為:{results}')
運行結(jié)果如下:
運行結(jié)果為:
{'ids': [['1', '2']],
'distances': [[
1.1227734343972846,
1.273080295354666
]],
'metadatas': [[
{'source': 'd1'},
{'source': 'd2'}
]],
'embeddings': None,
'documents': [ ['天壇', '月餅']],
'uris': None,
'data': None,
'included': ['metadatas', 'documents', 'distances']
}
其中包含了ids、distances、metadatas、documents四個核心list。其中distances結(jié)果是根據(jù)與問題的相似性進行計算并排序,值越小代表相關(guān)性越大。
4.2 查看數(shù)據(jù)庫
當然,你也可以直接打開數(shù)據(jù)庫進行查看。因為4.1執(zhí)行完成后,會在你指定的持久化目錄上生成一個sqlite3數(shù)據(jù)文件: 此時,你可以通過Sqlite工具打開該庫: embedding數(shù)據(jù)如下:
同時,你也可以看到原始數(shù)據(jù):
結(jié)語
本文主要介紹了chroma的作用、原理、安裝、使用的方面方面。并通過一個示例,可親自體驗一番,希望對你有幫助!
精彩回顧
基于LangChain的大模型學習手冊之Embedding(保姆級) 基于DashScope+Streamlit構(gòu)建你的機器學習助手(入門級) 基于LangChain的大模型學習手冊(入門級) 基于Python的大模型學習手冊(入門級)
柚子快報激活碼778899分享:向量嵌入 ChromaDB教程
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。