一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【LlamaIndex教程】2. 存儲模塊:如何在 LlamaIndex 中使用自定義的向量數(shù)據(jù)庫?(附代碼)

 小張學(xué)AI 2024-06-22 發(fā)布于山東



前面文章 兩行代碼就實(shí)現(xiàn)了文檔的切分和向量化存儲以及持久化存儲。如果我們想用自定義的向量化數(shù)據(jù)庫呢?

0. 背景

前面文章 兩行代碼就實(shí)現(xiàn)了文檔的切分和向量化存儲以及持久化存儲。

index = VectorStoreIndex.from_documents(documents)
# store it for later
index.storage_context.persist(persist_dir=PERSIST_DIR)

但是有時(shí)候我們更希望使用自己常用的向量數(shù)據(jù)庫和向量化方式。下面以 chromadb 為例,介紹如何使用。

1. 在 LlamaIndex 中使用自定義的向量數(shù)據(jù)庫

(1)環(huán)境準(zhǔn)備

寫代碼之前,需要首先安裝 LlamaIndex 中的 chromadb。

pip install -U llama-index-vector-stores-chroma -i https://pypi.tuna.tsinghua.edu.cn/simple

(2)創(chuàng)建一個(gè)chromadb 數(shù)據(jù)庫的實(shí)例

db = chromadb.PersistentClient(path="D:\\GitHub\\LEARN_LLM\\LlamaIndex\\vector_store\\chroma_db")

(3)創(chuàng)建 chroma 數(shù)據(jù)庫的 collection

chroma_collection = db.get_or_create_collection("quickstart")

(4)將 chroma_collection 使用 LlamaIndex 的 ChromaVectorStore 進(jìn)行以下類型轉(zhuǎn)換和封裝,轉(zhuǎn)換成 LlamaIndex 的 VectorStore。

vector_store = ChromaVectorStore(chroma_collection=chroma_collection)

(5)將 VectorStore 封裝到 StorageContext 中

storage_context = StorageContext.from_defaults(vector_store=vector_store)

(6)創(chuàng)建 VectorStoreIndex 時(shí),使用 from_documents 函數(shù)中的 storage_context 參數(shù),將上面自定義的 storage_context 傳入。

index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

完整代碼如下:

import chromadb
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.vector_stores.chroma import ChromaVectorStore
from llama_index.core import StorageContext

# load some documents
documents = SimpleDirectoryReader("D:\\GitHub\\LEARN_LLM\\LlamaIndex\\data").load_data()

# initialize client, setting path to save data
db = chromadb.PersistentClient(path="D:\\GitHub\\LEARN_LLM\\LlamaIndex\\vector_store\\chroma_db")

# create collection
chroma_collection = db.get_or_create_collection("quickstart")

# assign chroma as the vector_store to the context
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
storage_context = StorageContext.from_defaults(vector_store=vector_store)

# create your index
index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

# create a query engine and query
query_engine = index.as_query_engine()
response = query_engine.query("什么是角色提示?")
print(response)

2. 總結(jié)

本文我們學(xué)習(xí)了如何在 LlamaIndex 中使用自定義的向量數(shù)據(jù)庫,并詳細(xì)介紹了其實(shí)現(xiàn)步驟。再總結(jié)一下,在 LlamaIndex 中使用自定義的向量數(shù)據(jù)庫,最主要的是創(chuàng)建 LlamaIndex 的 VectorStore,然后將 VectorStore 封裝到 StorageContext 中,最后將 StorageContext 傳入 VectorStoreIndex 的 from_documents 函數(shù)中。

3. 參考

  • · https://docs./en/stable/understanding/storing/storing/

如果覺得本文對你有幫助,麻煩點(diǎn)個(gè)贊和關(guān)注唄 ~~~點(diǎn)擊上方公眾號,關(guān)注↑↑↑


  • · 大家好,我是 同學(xué)小張,日常分享AI知識和實(shí)戰(zhàn)案例

  • · 歡迎 點(diǎn)贊 + 關(guān)注 ??,持續(xù)學(xué)習(xí),持續(xù)干貨輸出。 

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    又黄又硬又爽又色的视频| 欧美区一区二在线播放| 久久这里只有精品中文字幕| 精品国产亚洲一区二区三区| 99久久精品国产麻豆| 麻豆剧果冻传媒一二三区| 国产精品一区二区成人在线| 亚洲精品熟女国产多毛| 欧美成人欧美一级乱黄| 欧美做爰猛烈叫床大尺度| 日韩女优精品一区二区三区| 在线免费观看黄色美女| 乱女午夜精品一区二区三区| 欧美一级黄片欧美精品| 国产99久久精品果冻传媒| 国产精品日韩精品一区| 久久精品一区二区少妇| 精品国产91亚洲一区二区三区 | 日韩欧美国产精品中文字幕| 国产黑人一区二区三区| 日本熟女中文字幕一区| 国产又粗又猛又大爽又黄同志| 中国少妇精品偷拍视频| 日本午夜乱色视频在线观看| 国产一区二区不卡在线播放| 国产91色综合久久高清| 黄色在线免费高清观看| 国产又黄又爽又粗视频在线| 亚洲高清一区二区高清| 国产精品午夜一区二区三区| 国产大屁股喷水在线观看视频| 一二区不卡不卡在线观看| 国产亚洲精品久久久优势| 成年人免费看国产视频| 91精品国自产拍老熟女露脸| 午夜精品福利视频观看 | 男生和女生哪个更好色| 偷自拍亚洲欧美一区二页| 欧美日韩无卡一区二区| 国产又猛又黄又粗又爽无遮挡| 一区二区三区欧美高清|